]> git.saurik.com Git - bison.git/blobdiff - NEWS
* data/glr.c, data/lalr1.cc, data/yacc.c: Do not use __file__,
[bison.git] / NEWS
diff --git a/NEWS b/NEWS
index 183b129f9840a835f8981a6870270e99d7b9b90d..1a1310b02b6c8b25ba4c3528bfddf5d9439d0f97 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,67 @@
 Bison News
 ----------
 
-Changes in version 1.50a:
+Changes in version 1.75d:
+
+* Yacc library now available
+  Bison now installs a small library liby.a containing implementations
+  of Yacc-compatible yyerror and main functions.  This library is
+  normally not useful, but POSIX requires it.
+
+* %lex-param, %parse-param
+  These now take just one operand, not two.
+
+Changes in version 1.75c, 2002-11-25:
+
+* "parse error" -> "syntax error"
+  Bison now uniformly uses the term "syntax error"; formerly, the code
+  and manual sometimes used the term "parse error" instead.  POSIX
+  requires "syntax error" in diagnostics, and it was thought better to
+  be consistent.
+
+* "parsing stack overflow..." -> "parser stack overflow"
+  GLR parsers now report "parser stack overflow" as per the Bison manual.
+
+* GLR and inline
+  Users of Bison have to decide how they handle the portability of the
+  C keyword `inline'.
+
+Changes in version 1.75b, 2002-11-13:
+
+* %destructor
+  It is now possible to reclaim the memory associated to symbols
+  discarded during error recovery.  This feature is still experimental.
+
+* Bison now parses C99 lexical constructs like UCNs and
+  backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires.
+
+* --no-line works properly.
+
+* %error-verbose
+  This new directive is preferred over YYERROR_VERBOSE.
+
+* %lex-param, %parse-param
+  These new directives are preferred over PARSE_PARAM and LEX_PARAM.
+  In addition, they provide a means for yyerror to remain pure, and
+  to access to the current location.
+
+  #defining yyerror to steal internal variables is strongly
+  discouraged.  It is not guaranteed to work for ever.
+
+* #line
+  Bison now recognizes #line in its input, and forwards them.
+
+* #line
+  File names are properly escaped. E.g. foo\bar.y give #line 123 "foo\\bar.y".
+
+Changes in version 1.75a, 2002-10-24:
+
+* Bison can no longer be built by a K&R C compiler; it requires C89 or
+  later to be built.  This change originally took place a few versions
+  ago, but nobody noticed until we recently asked someone to try
+  building Bison with a K&R C compiler.
+
+Changes in version 1.75, 2002-10-14:
 
 * Bison should now work on 64-bit hosts.
 
@@ -14,6 +74,24 @@ Changes in version 1.50a:
   Some people redefine yyerror to steal yyparse' private variables.
   Reenable this trick until an official feature replaces it.
 
+* Type Clashes
+  In agreement with POSIX and with other Yaccs, leaving a default
+  action is valid when $$ is untyped, and $1 typed:
+
+       untyped: ... typed;
+
+  but the converse remains an error:
+
+       typed: ... untyped;
+
+* Values of mid-rule actions
+  The following code:
+
+       foo: { ... } { $$ = $1; } ...
+
+  was incorrectly rejected: $1 is defined in the second mid-rule
+  action, and is equal to the $$ of the first mid-rule action.
+
 Changes in version 1.50, 2002-10-04:
 
 * GLR parsing
@@ -111,9 +189,9 @@ Changes in version 1.50, 2002-10-04:
   the user symbol is used in the reports, the graphs, and the verbose
   error messages instead of `$end', which remains being the default.
   For instance
-     %token YYEOF 0
+     %token MYEOF 0
   or
-     %token YYEOF 0 "end of file"
+     %token MYEOF 0 "end of file"
 
 * Semantic parser
   This old option, which has been broken for ages, is removed.
@@ -293,8 +371,8 @@ Changes in version 1.31, 2002-01-14:
 \f
 Changes in version 1.30, 2001-10-26:
 
-* `--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
+* `--defines' and `--graph' have now an optional argument which is the
+  output file name. `-d' and `-g' do not change; they do not take any
   argument.
 
 * `%source_extension' and `%header_extension' are removed, failed