Aha! $undefined means that the lexer returned a character value that you are not prepared for, that is, it is not in a rule or %token in your grammar file. Bison could have been a bit more cooperative by telling you which character it is, but there you are.
Assuming the lexer is flex, %option debug in your .l file will get you a trace. When you don't want to see the trace, you can set yy_flex_debug=0 to turn it off without having to change the .l file. j. _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison