NEW_FEATURES revision 235723
1157059Ssam The -r option has been implemented. The -r option tells Yacc to 2157059Ssamput the read-only tables in y.tab.c and the code and variables in 3157059Ssamy.code.c. Keith Bostic asked for this option so that :yyfix could be 4157059Ssameliminated. 5157059Ssam 6157059Ssam The -l and -t options have been implemented. The -l option tells 7157059SsamYacc not to include #line directives in the code it produces. The -t 8157059Ssamoption causes debugging code to be included in the compiled parser. 9157059Ssam 10157059Ssam The code for error recovery has been changed to implement the same 11157059Ssamalgorithm as AT&T Yacc. There will still be differences in the way 12157059Ssamerror recovery works because AT&T Yacc uses more default reductions 13157059Ssamthan Berkeley Yacc. 14157059Ssam 15157059Ssam The environment variable TMPDIR determines the directory where 16157059Ssamtemporary files will be created. If TMPDIR is defined, temporary files 17157059Ssamwill be created in the directory whose pathname is the value of TMPDIR. 18157059SsamBy default, temporary files are created in /tmp. 19157059Ssam 20157059Ssam The keywords are now case-insensitive. For example, %nonassoc, 21157059Ssam%NONASSOC, %NonAssoc, and %nOnAsSoC are all equivalent. 22157059Ssam 23157059Ssam Commas and semicolons that are not part of C code are treated as 24157059Ssamcommentary. 25157059Ssam 26157059Ssam Line-end comments, as in BCPL, are permitted. Line-end comments 27157059Ssambegin with // and end at the next end-of-line. Line-end comments are 28157059Ssampermitted in C code; they are converted to C comments on output. 29157059Ssam 30157059Ssam The form of y.output files has been changed to look more like 31157059Ssamthose produced by AT&T Yacc. 32157059Ssam 33157059Ssam A new kind of declaration has been added. The form of the declaration 34157059Ssamis 35157059Ssam 36157059Ssam %ident string 37157059Ssam 38157059Ssamwhere string is a sequence of characters begining with a double quote 39157059Ssamand ending with either a double quote or the next end-of-line, whichever 40157059Ssamcomes first. The declaration will cause a #ident directive to be written 41157059Ssamnear the start of the output file. 42157059Ssam 43157059Ssam If a parser has been compiled with debugging code, that code can be 44157059Ssamenabled by setting an environment variable. If the environment variable 45157059SsamYYDEBUG is set to 0, debugging output is suppressed. If it is set to 1, 46157059Ssamdebugging output is written to standard output. 47157059Ssam