SYNOPSIS
This grammar deals with the famous ambiguous PL/I phrase:
if then=if then if=then
The (partial) solution uses YYExpect in the lexical analyzer to predict the token that fulfills the parser expectatives.
Compile it with:
eyapp -C PL_I_conflict.eyp
Run it with:
./PL_I_conflict.pm -t -c 'if if=then then then=if'
for more detail:
./PL_I_conflict.pm -d -t -c 'if if=then then then=if'
and also
./PL_I_conflict.pm -t -i -c 'if then=if then if=then
The problem arises again
Also try:
./PL_I_conflict.pm -t -c 'if then=if then if a=b then c=d'