%{ =head1 SYNOPSIS The grammar here generates the same language than the grammar in file C: A : B C d | E C f ; B : x y ; E : x y ; C : /* empty */ | C c ; This grammar confuses any LR(n) or LL(n) parser with a fixed amount of look-ahead. The simplest solution is to rewrite the grammar as here =head1 SEE ALSO This example is a variation of one seen at Jinks page: L See the grammar in file C: =cut %} %% A: BorE C 'd' | BorE C 'f' ; BorE: 'x' 'y' ; C : /* empty */ | C 'c' ; %%