Мне нужно написать таблицу разбора для грамматики, которая имеет лямбда-выражения и несколько деревьев деривации.У меня проблемы с поиском примеров таблиц разбора для грамматик с лямбда-выражениями.Как мне начать?
Мои попытки выбора наборов следующие:
S-> ABCe = {e, b, c, d}.
(A-> bB = {b}, A-> лямбда, B-> cC = {c}, A-> лямбда, B-> лямбда, C-> d = {d}, A-> лямбда, B-> лямбда, C переходит к лямбда = {e}).
A-> bB = {b}
A-> lambda = {c, d, e}
B-> cC = {c}
B-> lambda = {d, e}
C-> d = {d}
C-> lambda = {d}
Есть две проблемыУ меня есть:
1) Я не знаю, что написать, чтобы определить лямбда в таблице разбора или фактический код разбора.
2) Если лямбда-выражения зависят от того, что следует в строке, то текущий токен будет определять, что выталкивается, верно?Например, если S переходит в ABCe, а текущий токен b, то я бы нажал (e) и нажал (C)?Я также понял кое-что еще для лямбд только сейчас.Наборы выбора для B являются взаимоисключающими.Так, например, только если текущий токен на A равен b, я нажму «B», если текущий токен - c, d или e, я бы просто сделал pop ().Я действительно не знаю, как писать, это всего лишь мой мыслительный процесс.Но разрешено ли использовать набор выбора вместо фактического правила грамматики?