global{
verb
test
rl0
rand (or) rand =0 [Two cases]
}
thread{
frac_value = (0.2,(0.1,0.5))
random_thread
}
выход должен быть таким:Файл конфигурации Синтаксический с помощью Lex и Yacc
Если я дать выше вклад в LEX и Yacc, основанного на проверке [Rand (или) рандов = 0]
- , если это "Rand", то он должен печатать как "глагол тест rl0 ранда frac_value: L = 0,1 frac_value: H = 0.5"
- если это "Rand = 0", то он должен печатать как "глагол test rl0 rand = 0 frac_value = 0.2 ".
Для этого кто-то может рассказать мне, как написать программу lex и yacc.
Я действительно не понимаю, что вы ищете здесь. Я предполагаю, что вы показываете вход, который хотите разобрать? Не могли бы вы быть более конкретными в том, как выглядит вход и как должен выглядеть нужный вывод? – Dervall
Входной сигнал: глобальный { глагол тест rl0 Rand (или) Rand = 0 [два случая] } нити { frac_value = (0,2, (0.1,0.5)) random_thread } ВЫХОД должно быть это: Если я даю приведенный выше ввод для lex и yacc, на основании проверки [rand (or) rand = 0] , если это «rand», тогда он должен печатать как «глагольный тест rl0 rand frac_value: L = 0,1 frac_value: H = 0,5 " , если это« rand = 0 », тогда он должен печатать как« глагольный тест rl0 rand = 0 frac_value = 0.2 ». – sunsoftmohan