mirror of
https://github.com/freebsd/freebsd-src
synced 2024-11-05 18:22:52 +00:00
9f36c7f497
In case you're wondering, the gcc-2.7.2.1 import uses this to generate code. The size of the generated code is bigger than the entire bison release, making this a saving. The bison doc is pretty good apparently.
44 lines
1.4 KiB
Text
44 lines
1.4 KiB
Text
Bison News
|
||
----------
|
||
|
||
Change in version 1.25:
|
||
|
||
* Errors in the input grammar are not fatal; Bison keeps reading
|
||
the grammar file, and reports all the errors found in it.
|
||
|
||
* Tokens can now be specified as multiple-character strings: for
|
||
example, you could use "<=" for a token which looks like <=, instead
|
||
of chosing a name like LESSEQ.
|
||
|
||
* The %token_table declaration says to write a table of tokens (names
|
||
and numbers) into the parser file. The yylex function can use this
|
||
table to recognize multiple-character string tokens, or for other
|
||
purposes.
|
||
|
||
* The %no_lines declaration says not to generate any #line preprocessor
|
||
directives in the parser file.
|
||
|
||
* The %raw declaration says to use internal Bison token numbers, not
|
||
Yacc-compatible token numbers, when token names are defined as macros.
|
||
|
||
* The --no-parser option produces the parser tables without including
|
||
the parser engine; a project can now use its own parser engine.
|
||
The actions go into a separate file called NAME.act, in the form of
|
||
a switch statement body.
|
||
|
||
Changes in version 1.23:
|
||
|
||
The user can define YYPARSE_PARAM as the name of an argument to be
|
||
passed into yyparse. The argument should have type void *. It should
|
||
actually point to an object. Grammar actions can access the variable
|
||
by casting it to the proper pointer type.
|
||
|
||
Line numbers in output file corrected.
|
||
|
||
Changes in version 1.22:
|
||
|
||
--help option added.
|
||
|
||
Changes in version 1.20:
|
||
|
||
Output file does not redefine const for C++.
|