summaryrefslogtreecommitdiff
path: root/devel/bison/distinfo
AgeCommit message (Collapse)AuthorFilesLines
2006-06-11Update to 2.3:wiz1-4/+4
Changes in version 2.3, 2006-06-05: * GLR grammars should now use `YYRECOVERING ()' instead of `YYRECOVERING', for compatibility with LALR(1) grammars. * It is now documented that any definition of YYSTYPE or YYLTYPE should be to a type name that does not contain parentheses or brackets.
2006-05-30Update to 2.2:wiz1-4/+4
* The distribution terms for all Bison-generated parsers now permit using the parsers in nonfree programs. Previously, this permission was granted only for Bison-generated LALR(1) parsers in C. * %name-prefix changes the namespace name in C++ outputs. * The C++ parsers export their token_type. * Bison now allows multiple %union declarations, and concatenates their contents together. * New warning: unused values Right-hand side symbols whose values are not used are reported, if the symbols have destructors. For instance: exp: exp "?" exp ":" exp { $1 ? $1 : $3; } | exp "+" exp ; will trigger a warning about $$ and $5 in the first rule, and $3 in the second ($1 is copied to $$ by the default rule). This example most likely contains three errors, and could be rewritten as: exp: exp "?" exp ":" exp { $$ = $1 ? $3 : $5; free ($1 ? $5 : $3); free ($1); } | exp "+" exp { $$ = $1 ? $1 : $3; if ($1) free ($3); } ; However, if the original actions were really intended, memory leaks and all, the warnings can be suppressed by letting Bison believe the values are used, e.g.: exp: exp "?" exp ":" exp { $1 ? $1 : $3; (void) ($$, $5); } | exp "+" exp { $$ = $1; (void) $3; } ; If there are mid-rule actions, the warning is issued if no action uses it. The following triggers no warning: $1 and $3 are used. exp: exp { push ($1); } '+' exp { push ($3); sum (); }; The warning is intended to help catching lost values and memory leaks. If a value is ignored, its associated memory typically is not reclaimed. * %destructor vs. YYABORT, YYACCEPT, and YYERROR. Destructors are now called when user code invokes YYABORT, YYACCEPT, and YYERROR, for all objects on the stack, other than objects corresponding to the right-hand side of the current rule. * %expect, %expect-rr Incorrect numbers of expected conflicts are now actual errors, instead of warnings. * GLR, YACC parsers. The %parse-params are available in the destructors (and the experimental printers) as per the documentation. * Bison now warns if it finds a stray `$' or `@' in an action. * %require "VERSION" This specifies that the grammar file depends on features implemented in Bison version VERSION or higher. * lalr1.cc: The token and value types are now class members. The tokens were defined as free form enums and cpp macros. YYSTYPE was defined as a free form union. They are now class members: tokens are enumerations of the `yy::parser::token' struct, and the semantic values have the `yy::parser::semantic_type' type. If you do not want or can update to this scheme, the directive `%define "global_tokens_and_yystype" "1"' triggers the global definition of tokens and YYSTYPE. This change is suitable both for previous releases of Bison, and this one. If you wish to update, then make sure older version of Bison will fail using `%require "2.2"'. * DJGPP support added.
2005-09-30Update to 2.1:wiz1-4/+4
Changes in version 2.1, 2005-09-16: * Bison-generated parsers now support the translation of diagnostics like "syntax error" into languages other than English. The default language is still English. For details, please see the new Internationalization section of the Bison manual. Software distributors should also see the new PACKAGING file. Thanks to Bruno Haible for this new feature. * Wording in the Bison-generated parsers has been changed slightly to simplify translation. In particular, the message "memory exhausted" has replaced "parser stack overflow", as the old message was not always accurate for modern Bison-generated parsers. * Destructors are now called when the parser aborts, for all symbols left behind on the stack. Also, the start symbol is now destroyed after a successful parse. In both cases, the behavior was formerly inconsistent. * When generating verbose diagnostics, Bison-generated parsers no longer quote the literal strings associated with tokens. For example, for a syntax error associated with '%token NUM "number"' they might print 'syntax error, unexpected number' instead of 'syntax error, unexpected "number"'.
2005-02-23Add RMD160 digests.agc1-1/+2
2005-02-18Update to 2.0:wiz1-4/+3
Changes in version 2.0, 2004-12-25: * Possibly-incompatible changes - Bison-generated parsers no longer default to using the alloca function (when available) to extend the parser stack, due to widespread problems in unchecked stack-overflow detection. You can "#define YYSTACK_USE_ALLOCA 1" to require the use of alloca, but please read the manual to determine safe values for YYMAXDEPTH in that case. - Error token location. During error recovery, the location of the syntax error is updated to cover the whole sequence covered by the error token: it includes the shifted symbols thrown away during the first part of the error recovery, and the lookahead rejected during the second part. - Semicolon changes: . Stray semicolons are no longer allowed at the start of a grammar. . Semicolons are now required after in-grammar declarations. - Unescaped newlines are no longer allowed in character constants or string literals. They were never portable, and GCC 3.4.0 has dropped support for them. Better diagnostics are now generated if forget a closing quote. - NUL bytes are no longer allowed in Bison string literals, unfortunately. * New features - GLR grammars now support locations. - New directive: %initial-action. This directive allows the user to run arbitrary code (including initializing @$) from yyparse before parsing starts. - A new directive "%expect-rr N" specifies the expected number of reduce/reduce conflicts in GLR parsers. - %token numbers can now be hexadecimal integers, e.g., `%token FOO 0x12d'. This is a GNU extension. - The option `--report=lookahead' was changed to `--report=look-ahead'. The old spelling still works, but is not documented and will be removed. - Experimental %destructor support has been added to lalr1.cc. - New configure option --disable-yacc, to disable installation of the yacc command and -ly library introduced in 1.875 for POSIX conformance. * Bug fixes - For now, %expect-count violations are now just warnings, not errors. This is for compatibility with Bison 1.75 and earlier (when there are reduce/reduce conflicts) and with Bison 1.30 and earlier (when there are too many or too few shift/reduce conflicts). However, in future versions of Bison we plan to improve the %expect machinery so that these violations will become errors again. - Within Bison itself, numbers (e.g., goto numbers) are no longer arbitrarily limited to 16-bit counts. - Semicolons are now allowed before "|" in grammar rules, as POSIX requires.
2003-01-04Append ";" after attribute. From bison CVS repository.cjep1-1/+2
This appears to fix a problem when building print/lilypond. Bump PKGREVISION.
2003-01-01Update of devel/bison to version 1.875.cjep1-3/+4
Differences to the plain GNU version in the packages collection: * We do not install the shell wrapper "yacc" (it is supplied because POSIX requires it and we already have a yacc command). Changes since 1.75: * Numerous bug fixes and improvements including: + Compatibility (with 1.35 and Solaris yacc) changes; + Fixes for GCC 3.2.1; + Use Yacc style of conflict reports; + Fix bug where error locations were not being recorded correctly; + Fix bad interaction with flex 2.5.23. Please see the ChangeLog file supplied with the bison source code for more details.
2002-12-15Upgrade of devel/bison to 1.75.cjep1-3/+3
Changes since 1.35 (too many to mention here, please see the ChangeLog in the bison source distribution): * GNU m4 is now required. * Various bug fixes. * intl source removed. NetBSD pkgsrc changes: * Change of maintainer thorpej->cjep.
2002-11-30USE_PKGLOCALEDIR.grant1-3/+1
2002-03-29Update to 1.35:wiz1-3/+3
* C Skeleton Some projects use Bison's C parser with C++ compilers, and define YYSTYPE as a class. The recent adjustment of C parsers for data alignment and 64 bit architectures made this impossible. Because for the time being no real solution for C++ parser generation exists, kludges were implemented in the parser to maintain this use. In the future, when Bison has C++ parsers, this kludge will be disabled. This kludge also addresses some C++ problems when the stack was extended.
2002-03-20Use smaller ".tar.bz2" source archive.tron1-3/+3
2002-03-19Update to 1.34. Changes since 1.32:wiz1-3/+3
* File name clashes are detected $ bison foo.y -d -o foo.x fatal error: header and parser would be both named `foo.x' * A missing `;' ending a rule triggers a warning In accordance with POSIX, and in agreement with other Yacc implementations, Bison will mandate this semicolon in a near future. This eases the implementation of a Bison parser of Bison grammars by making this grammar LALR(1) instead of LR(2). To facilitate the transition, this release introduces a warning. * Revert the C++ namespace changes introduced in 1.31, as they caused too many portability hassles. * Fix test suite portability problems. * Fix C++ issues Groff could not be compiled for the definition of size_t was lacking under some conditions. * Catch invalid @n As is done with $n.
2002-02-10Make sure that locale files go into the correct directory under Solaris.tron1-1/+3
2002-02-08Remove sha1 for patch-ae, which doesn't exist.wiz1-2/+1
2002-01-31Update to bison 1.32mjl1-8/+4
* Fix Yacc output file names * Portability fixes * Italian, Dutch, Swedish, Russian translation * Many Bug Fixes * Use of alloca in parsers * When the generated parser lacks debugging code, YYDEBUG is now 0 (as POSIX requires) instead of being undefined. * User Actions Bison has always permitted actions such as { $$ = $1 }: it adds the ending semicolon. Now if in Yacc compatibility mode, the semicolon is no longer output: one has to write { $$ = $1; }. * Better C++ compliance The output parsers try to respect C++ namespaces. * Reduced Grammars Fixed bugs when reporting useless nonterminals. * 64 bit hosts The parsers work properly on 64 bit hosts. * Error messages Some calls to strerror resulted in scrambled or missing error messages. * The verbose report includes the rule line numbers. * Rule line numbers are fixed in traces. * Parse errors Verbose parse error messages from the parsers are better looking. * Fixed parser memory leaks. When the generated parser was using malloc to extend its stacks, the previous allocations were not freed. * Fixed verbose output file. Some newlines were missing. Some conflicts in state descriptions were missing. * Fixed conflict report. Option -v was needed to get the result. * Fixed incorrect processing of some invalid input. * Fixed CPP guards: 9foo.h uses BISON_9FOO_H instead of 9FOO_H. * %token MY_EOF 0 is supported. Before, MY_EOF was silently renumbered as 257. * doc/refcard.tex is updated. * %output, %file-prefix, %name-prefix. * --output * `--defines' and `--graph' have now an optionnal argument which is the output file name. `-d' and `-g' do not change, they do not take any argument. * Portability fixes. * The output file does not define const, as this caused problems when used with common autoconfiguration schemes. If you still use ancient compilers that lack const, compile with the equivalent of the C compiler option `-Dconst='. autoconf's AC_C_CONST macro provides one way to do this. * Added `-g' and `--graph'. * The input and the output files has automatically a similar extension. * NLS support updated; should hopefully be less troublesome. * Added the old Bison reference card. * Added `--locations' and `%locations'. * Added `-S' and `--skeleton'. * `%raw', `-r', `--raw' is disabled. * Special characters are escaped when output. This solves the problems of the #line lines with path names including backslashes. * New directives. * @$ Automatic location tracking.
2001-07-15Don't patch automake source files and remove dependency on automake.jlam1-4/+1
2001-06-13Add patches to Makefile.am and configure.in that mirror patches tojlam1-1/+3
Makefile.in and configure.
2001-04-21Move to sha1 digests, and/or add distfile sizes.wiz1-2/+3
2001-04-17+ move the distfile digest/checksum value from files/md5 to distinfoagc1-0/+9
+ move the patch digest/checksum values from files/patch-sum to distinfo