-
for example, code
if (true) :
if (true)
;
elseif (true) :
endif;
and code
if (true) :
if (true)
;
else
;
elseif (true) :
endif;
should both valid, but php.exe is unable to parse the first one, the grammar is conflict on 'elseif' and it using wrong shift, you have to lookahead for ':' token.
2009-10-28 02:00:06 UTC in LALR Parser Generator
-
Is it possible make following grammar LALR(k):
Goal ::= ')' statement_full
statement_full ::= if_statement_full
| newif_statement
if_statement_full ::= 'if' '(' expr ')' statement_full
| 'if' '(' expr ')' statement_noShortIf 'else' statement_full
| 'if' '(' expr ')' statement_noShortIf elseif_list_full
| 'if' '(' expr ')' statement_noShortIf elseif_list_noShortIf 'else'...
2009-10-27 19:00:40 UTC in LALR Parser Generator
-
Is it possible make following grammar LALR(k)
<pre>
Goal ::= ')' statement_full
statement_full ::= if_statement_full
| newif_statement
if_statement_full ::= 'if' '(' expr ')' statement_full
| 'if' '(' expr ')' statement_noShortIf 'else' statement_full
| 'if' '(' expr ')' statement_noShortIf elseif_list_full
| 'if' '(' expr ')' statement_noShortIf elseif_list_noShortIf...
2009-10-27 18:58:33 UTC in LALR Parser Generator