|
|
1.1 root 1: This version of Berkeley Yacc has been extensively reorganized and
2: contains many new features. It is an amalgam of three earlier versions
3: of Berkeley Yacc. It is largely untested, so expect it to contain bugs.
4: When bugs are found report them to [email protected]. Please
5: include small examples if possible.
6:
7: Despite my pleas not to be told of undocumented features of AT&T Yacc,
8: I have received unsolicited descriptions of such features. Telling me of
9: such features places the public-domain status of Berkeley Yacc at risk.
10: Please do not send me descriptions of undocumented features. On the
11: other hand, I would be very interested in learning of documented
12: features I have not implemented.
13:
14: The -l and -t options have been implemented. The -l option tells
15: Yacc not to include #line directives in the code it produces. The -t
16: option causes debugging code to be included in the compiled parser.
17:
18: The code for error recovery has been changed to implement the same
19: algorithm as AT&T Yacc. There will still be differences in the way
20: error recovery works because AT&T Yacc uses more default reductions
21: than Berekeley Yacc.
22:
23: The environment variable TMPDIR determines the directory where
24: temporary files will be created. If TMPDIR is defined, temporary files
25: will be created in the directory whose pathname is the value of TMPDIR.
26: By default, temporary files are created in /tmp.
27:
28: The keywords are now case-insensitive. For example, %nonassoc,
29: %NONASSOC, %NonAssoc, and %nOnAsSoC are all equivalent.
30:
31: Commas and semicolons that are not part of C code are treated as
32: commentary.
33:
34: Line-end comments, as in BCPL, are permitted. Line-end comments
35: begin with // and end at the next end-of-line. Line-end comments are
36: permitted in C code; they are converted to C comments on output.
37:
38: The form of y.output files has been changed to look more like
39: those produced by AT&T Yacc.
40:
41: A new kind of declaration has been added. The form of the declaration
42: is
43:
44: %ident string
45:
46: where string is a sequence of characters begining with a double quote
47: and ending with either a double quote or the next end-of-line, whichever
48: comes first. The declaration will cause a #ident directive to be written
49: near the start of the output file.
50:
51: If a parser has been compiled with debugging code, that code can be
52: enabled by setting an environment variable. If the environment variable
53: YYDEBUG is set to 0, debugging output is suppressed. If it is set to 1,
54: debugging output is written to standard output.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.