1234949Sbapt The -r option has been implemented. The -r option tells Yacc to 2234949Sbaptput the read-only tables in y.tab.c and the code and variables in 3234949Sbapty.code.c. Keith Bostic asked for this option so that :yyfix could be 4234949Sbapteliminated. 5234949Sbapt 6234949Sbapt The -l and -t options have been implemented. The -l option tells 7234949SbaptYacc not to include #line directives in the code it produces. The -t 8234949Sbaptoption causes debugging code to be included in the compiled parser. 9234949Sbapt 10234949Sbapt The code for error recovery has been changed to implement the same 11234949Sbaptalgorithm as AT&T Yacc. There will still be differences in the way 12234949Sbapterror recovery works because AT&T Yacc uses more default reductions 13234949Sbaptthan Berkeley Yacc. 14234949Sbapt 15234949Sbapt The environment variable TMPDIR determines the directory where 16234949Sbapttemporary files will be created. If TMPDIR is defined, temporary files 17234949Sbaptwill be created in the directory whose pathname is the value of TMPDIR. 18234949SbaptBy default, temporary files are created in /tmp. 19234949Sbapt 20234949Sbapt The keywords are now case-insensitive. For example, %nonassoc, 21234949Sbapt%NONASSOC, %NonAssoc, and %nOnAsSoC are all equivalent. 22234949Sbapt 23234949Sbapt Commas and semicolons that are not part of C code are treated as 24234949Sbaptcommentary. 25234949Sbapt 26234949Sbapt Line-end comments, as in BCPL, are permitted. Line-end comments 27234949Sbaptbegin with // and end at the next end-of-line. Line-end comments are 28234949Sbaptpermitted in C code; they are converted to C comments on output. 29234949Sbapt 30234949Sbapt The form of y.output files has been changed to look more like 31234949Sbaptthose produced by AT&T Yacc. 32234949Sbapt 33234949Sbapt A new kind of declaration has been added. The form of the declaration 34234949Sbaptis 35234949Sbapt 36234949Sbapt %ident string 37234949Sbapt 38234949Sbaptwhere string is a sequence of characters begining with a double quote 39234949Sbaptand ending with either a double quote or the next end-of-line, whichever 40234949Sbaptcomes first. The declaration will cause a #ident directive to be written 41234949Sbaptnear the start of the output file. 42234949Sbapt 43234949Sbapt If a parser has been compiled with debugging code, that code can be 44234949Sbaptenabled by setting an environment variable. If the environment variable 45234949SbaptYYDEBUG is set to 0, debugging output is suppressed. If it is set to 1, 46234949Sbaptdebugging output is written to standard output. 47