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.
|
---|