> The following leads to shift reduce conflict:
>
> ctype_name:
> | LONG LONG
> | LONG
>
> Yacc is very weird -- I can parse a list of LONG without
> a conflict .. but not two of them??
>
> Is there any way to tell it to shut up?
Rather than trying to solve this in the LALR parser
(which
might involve a major rewrite of the grammer in this
case),
the easiest way is to adapt the _lexer_ to produce
two
different tokens for "long" and for "long
long": The lexer
(ocamllex) always goes for the longest match, and
in this
case this is what you want ;-).
Sebastian.