Frequently Asked Questions About Merr

This FAQ has been prepared by Clint Jeffery. Last updated July 25, 2002.
1. What is Merr?
Merr is a tool that generates a syntax error message handler function for parsers written using the YACC family of parser generators.
2. What does "Merr" stand for?
Merr, pronounced "mare", stands for "meta error generator".
3. How does Merr work, anyhow?
Merr takes a set of example syntax errors, with diagnostic messages, and writes a yyerror() function that will produce those same messages whenever a syntax error occurs in that parse state for that input token.
4. Which versions of YACC does Merr support?
Berkeley YACC, AT&T YACC, Bison, and "iyacc" (byacc with Icon/Unicon code generation support). A command line option is used to specify which version of YACC to generate code for. AT&T YACC and Bison require that you add one line to your .y file for Merr to work; Berkeley YACC does not.