1

Я задал вопрос несколько дней назад SLR(1) and LALR(1) and Reduce, я делаю поиск и контакт с некоторыми профессорами, но я не мог подвести итог, что решение 2-го проблема правильная или ложная. у нас есть 2 вопроса на вступительном экзамене в 2 разных года.SLR (1) и LALR (1), о Parse Table и сокращенном состоянии

Два вопроса - это несколько вариантов. в 2010 году у нас есть вопрос:

1) у нас есть SLR (1) Grammar G, как показано ниже. мы используем SLR (1) парсер генератор и генерировать синтаксический анализ таблицы S для G. мы используем LALR (1) парсер генератор и генерировать синтаксический анализ таблицу L для G.

S->AB 
A->dAa 
A-> lambda (lambda is a string with length=0) 
B->aAb 

и дизайнер вопрос выбора решения, как:

Solution: the number of elements with R (reduce) in S is more than L. 

через два года дизайнер вопрос задать:

2) Пусть T1, T2 создается с SLR (1) и LALR (1) для произвольной грамматики G. если G является SLR (1) Грамматика, которая из следующих TRUE?

a) T1 и T2 не имеет никакого значения.

б) общее количество записей без ошибок в Т1 ниже, чем Т2

с) Общее число записей об ошибках в Т1 ниже, чем Т2

Решение:

(a) is selected by the question designer. 

Мои вопрос:

any one could describe for me why the solution of 1st question is contradict to 2nd question? 

кто-то ответил в предыдущем сообщении, что два решения правильные, но не описывайте его очень хорошо сформированным.

в любом случае я жду одного эксперта, который вытащит меня из путаницы !!!

ответ

1

Ответ на Q1:

Прежде всего, вам нужно создать DFA для SLR (1) и LALR (1) парсеры. Я создал DFA для них обоих.

SLR(1) and LALR(1) DFAs

В SLR (1) У меня 10 штатов и 10 уменьшают записи, тогда как для LALR (1) Я создал DFA для CLR (1) с 13 государств, которые получили свернутых до 10 состояний с 7 снижающих записей. Это ответ на ваш первый вопрос.


Ответ на Q2:

G является SLR (1) грамматики, то, конечно, нет никаких конфликтов (или ошибки) S-R или R-R в SLR (1) таблице. LALR (1) имеет больше мощности, чем SLR (1), поэтому в таблице LALR (1) для данной грамматики нет конфликта. См. Опцию

(c): в T1 и T2 нет ошибки (неверный вариант)

(b): Записи без ошибок означают сдвиговые записи и уменьшают записи.Следует четко отметить, что в обработчиках снизу вверх от парсера до парсера изменяются только правила для сокращения записей, а для записей сдвига остаются такими же. Например, в LR (0) сокращение записей производится в каждом столбце, для SLR (1) это выполняется в FOLLOW левой переменной, в то время как в CLR (1) и LALR (1) сокращение записей производится в виде текстовых символов. Таким образом, сокращение записей изменяется от парсера до парсера, но записи сдвига одинаковы.

Мы уже доказали в Q1, где сокращение записей таблицы разбора SLR (1) больше, чем у LALR (1). Поэтому доказательство (b) может быть неверным.

(a) T1 и T2 могут быть одинаковыми, но не всегда. И еще одна важная вещь заключается в том, что вопросы с несколькими вариантами выбора иногда требуют выбора наиболее подходящего варианта. Таким образом, для меня (а) есть ответ

Смежные вопросы