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'