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