2016-06-05 5 views
-2

Кто-нибудь дал бы мне обработанный пример грамматики LR (1), которая не является грамматикой LR (0)? Я просто пытался выяснить, почему парсер LR (1) более эффективен и эффективен, и попробовал пример грамматики и нашел его не LR (0), в таблице разбора возник конфликт, а затем попытка LR (1) также не нужна ... очень простой пример грамматики (дополненная)Необходимый пример грамматики LR (1), которая не является LR (0)?

S->A 
A->aBed | aEef 
B->m 
E->m 

Необходимые детали анализа. Кто-нибудь объяснил бы примерами? Путайтесь здесь.

+0

Возможный дубликат [Примеры LL (1), LR (1), LR (0), LALR (1) грамматики?] (Http://stackoverflow.com/questions/6480634/examples-of-ll1- lr1-lr0-lalr1-grammars) – Harald

+0

Это похоже на [CS.SE] (http://cs.stackexchange.com/). – Zulan

ответ

0

Например:

S -> Aa | Bb 
A->c 
B->c 

Для того, чтобы решить, если c является A или B, вы должны знать следующий символ.

В реальной жизни вы чаще всего нужен LR (1) для эпсилон производств:

OPTIONAL_A -> ε | A 

MULTI_A -> ε | MULTI_A A 

... где только ε матчей пустой строки. Чтобы уменьшить производство эпсилона, вам всегда нужно видеть его.

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