Bison News ---------- Changes in version 1.27: * The make rule which prevented bison.simple from being created on some systems has been fixed. Changes in version 1.26: * Bison now uses automake. * New mailing lists: and . * Token numbers now start at 257 as previously documented, not 258. * Bison honors the TMPDIR environment variable. * A couple of buffer overruns have been fixed. * Problems when closing files should now be reported. * Generated parsers should now work even on operating systems which do not provide alloca(). Changes 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++.