> 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.