[9] | 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.
|
---|