Berkeley yacc is a nearly exact reimplementation of AT&T yacc with few extra features.
Berkeley yacc’s options are the same as AT&T yacc’s with these additions:
Uses pref as the prefix for generated files instead of y.
Generates separate files for code and tables. The code file is named y.code.c, and the tables file is named y.tab.c.
There is no library for Berkeley yacc; you have to provide your own versions of main() and yyerror().
This section discusses correcting problems and errors reported by Berkeley yacc, aside from the shift/reduce and reduce/reduce errors discussed in Chapter 8, Yacc Ambiguities and Conflicts . Each error message starts with a letter f for fatal error, e for error, or w for warning. Yacc gives up as soon as it sees an error or fatal error. Most of the error message also include the input filename and line number, which we omit here.
Yacc couldn’t open a file. If it’s a name you specified, make sure the file exists and is readable. If it’s one of yacc’s temporary or output file, make sure that the appropriate directory is readable and there is not already a read-only version of the given file.
An internal table overflowed, or insufficient virtual memory was available. Unless you have a stupendously huge grammar with tens of thousands of tokens and rules, this probably represents ...