Annotation of src/usr.bin/yacc/NEW_FEATURES, Revision 1.1.1.1
1.1 deraadt 1: The -r option has been implemented. The -r option tells Yacc to
2: put the read-only tables in y.tab.c and the code and variables in
3: y.code.c. Keith Bostic asked for this option so that :yyfix could be
4: eliminated.
5:
6: The -l and -t options have been implemented. The -l option tells
7: Yacc not to include #line directives in the code it produces. The -t
8: option causes debugging code to be included in the compiled parser.
9:
10: The code for error recovery has been changed to implement the same
11: algorithm as AT&T Yacc. There will still be differences in the way
12: error recovery works because AT&T Yacc uses more default reductions
13: than Berkeley Yacc.
14:
15: The environment variable TMPDIR determines the directory where
16: temporary files will be created. If TMPDIR is defined, temporary files
17: will be created in the directory whose pathname is the value of TMPDIR.
18: By default, temporary files are created in /tmp.
19:
20: The keywords are now case-insensitive. For example, %nonassoc,
21: %NONASSOC, %NonAssoc, and %nOnAsSoC are all equivalent.
22:
23: Commas and semicolons that are not part of C code are treated as
24: commentary.
25:
26: Line-end comments, as in BCPL, are permitted. Line-end comments
27: begin with // and end at the next end-of-line. Line-end comments are
28: permitted in C code; they are converted to C comments on output.
29:
30: The form of y.output files has been changed to look more like
31: those produced by AT&T Yacc.
32:
33: A new kind of declaration has been added. The form of the declaration
34: is
35:
36: %ident string
37:
38: where string is a sequence of characters begining with a double quote
39: and ending with either a double quote or the next end-of-line, whichever
40: comes first. The declaration will cause a #ident directive to be written
41: near the start of the output file.
42:
43: If a parser has been compiled with debugging code, that code can be
44: enabled by setting an environment variable. If the environment variable
45: YYDEBUG is set to 0, debugging output is suppressed. If it is set to 1,
46: debugging output is written to standard output.