/[bison]/bison/NEWS
ViewVC logotype

Diff of /bison/NEWS

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.86 by eggert, Sun Dec 29 03:17:12 2002 UTC revision 1.87 by eggert, Wed Jan 1 09:04:56 2003 UTC
# Line 1  Line 1 
1  Bison News  Bison News
2  ----------  ----------
3    
4  Changes in version 1.75f, 2002-12-28:  Changes in version 1.875, 2003-01-01:
5    
6  * In Yacc-style parsers YYLLOC_DEFAULT is now used to compute error  * The documentation license has been upgraded to version 1.2
7    locations too.  This fixes bugs in error-location computation.    of the GNU Free Documentation License.
   
 * Bison now uses a Yacc-style format for conflict reports, e.g.,  
   "conflicts: 2 shift/reduce, 1 reduce/reduce".  
   
 * Bison now warns if it detects conflicting outputs to the same file,  
   e.g., it generates a warning for "bison -d -o foo.h foo.y" since  
   that command outputs both code and header to foo.h.  
   
 Changes in version 1.75e, 2002-12-24:  
   
 * If the user does not define YYSTYPE as a macro, Bison now declares it  
   using typedef instead of defining it as a macro.  POSIX requires this.  
   For consistency, YYLTYPE is also declared instead of defined.  
8    
9  * %union directives can now have a tag before the `{', e.g., the  * syntax error processing
   directive `%union foo {...}' now generates the C code  
   `typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.  
   The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.  
   For consistency, YYLTYPE's struct tag is now `YYLTYPE' instead of `yyltype'.  
10    
11  * `yystype' and `yyltype' are now obsolescent macros instead of being    - In Yacc-style parsers YYLLOC_DEFAULT is now used to compute error
12    typedefs or tags; they are no longer documented and will be      locations too.  This fixes bugs in error-location computation.
   withdrawn in a future release.  
13    
14  * References to the experimental %lex-param and %parse-param directives    - %destructor
15    have been temporarily removed from the manual, since we don't want      It is now possible to reclaim the memory associated to symbols
16    users to rely upon these features quite yet.      discarded during error recovery.  This feature is still experimental.
17    
18  Changes in version 1.75d, 2002-12-13:    - %error-verbose
19        This new directive is preferred over YYERROR_VERBOSE.
20    
21  * Semicolons are once again optional at the end of grammar rules.    - #defining yyerror to steal internal variables is discouraged.
22    This reverts to the behavior of Bison 1.33 and earlier, and improves      It is not guaranteed to work forever.
   compatibility with Yacc.  
23    
24  * Type clashes now generate warnings, not errors.  * POSIX conformance
25    
26  * Yacc command and library now available    - Semicolons are once again optional at the end of grammar rules.
27    The Bison distribution now installs a yacc command, as POSIX requires.      This reverts to the behavior of Bison 1.33 and earlier, and improves
28    Also, Bison now installs a small library liby.a containing      compatibility with Yacc.
   implementations of Yacc-compatible yyerror and main functions.  
   This library is normally not useful, but POSIX requires it.  
29    
30  * %lex-param, %parse-param    - `parse error' -> `syntax error'
31    These now take just one operand, not two.      Bison now uniformly uses the term `syntax error'; formerly, the code
32        and manual sometimes used the term `parse error' instead.  POSIX
33        requires `syntax error' in diagnostics, and it was thought better to
34        be consistent.
35    
36  * The documentation now emphasizes that yylex and yyerror must be    - The documentation now emphasizes that yylex and yyerror must be
37    declared before use.  C99 requires this.      declared before use.  C99 requires this.
38    
39  * The documentation license has been upgraded to version 1.2    - Bison now parses C99 lexical constructs like UCNs and
40    of the GNU Free Documentation License.      backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires.
41    
42  Changes in version 1.75c, 2002-11-25:    - File names are properly escaped in C output.  E.g., foo\bar.y is
43        output as "foo\\bar.y".
44    
45  * "parse error" -> "syntax error"    - Yacc command and library now available
46    Bison now uniformly uses the term "syntax error"; formerly, the code      The Bison distribution now installs a `yacc' command, as POSIX requires.
47    and manual sometimes used the term "parse error" instead.  POSIX      Also, Bison now installs a small library liby.a containing
48    requires "syntax error" in diagnostics, and it was thought better to      implementations of Yacc-compatible yyerror and main functions.
49    be consistent.      This library is normally not useful, but POSIX requires it.
50    
51  * "parsing stack overflow..." -> "parser stack overflow"    - Type clashes now generate warnings, not errors.
   GLR parsers now report "parser stack overflow" as per the Bison manual.  
52    
53  * GLR and inline    - If the user does not define YYSTYPE as a macro, Bison now declares it
54    Users of Bison have to decide how they handle the portability of the      using typedef instead of defining it as a macro.
55    C keyword `inline'.      For consistency, YYLTYPE is also declared instead of defined.
56    
57  Changes in version 1.75b, 2002-11-13:  * Other compatibility issues
58    
59  * %destructor    - %union directives can now have a tag before the `{', e.g., the
60    It is now possible to reclaim the memory associated to symbols      directive `%union foo {...}' now generates the C code
61    discarded during error recovery.  This feature is still experimental.      `typedef union foo { ... } YYSTYPE;'; this is for Yacc compatibility.
62        The default union tag is `YYSTYPE', for compatibility with Solaris 9 Yacc.
63        For consistency, YYLTYPE's struct tag is now `YYLTYPE' not `yyltype'.
64        This is for compatibility with both Yacc and Bison 1.35.
65    
66  * Bison now parses C99 lexical constructs like UCNs and    - `;' is output before the terminating `}' of an action, for
67    backslash-newline within C escape sequences, as POSIX 1003.1-2001 requires.      compatibility with Bison 1.35.
68    
69  * --no-line works properly.    - Bison now uses a Yacc-style format for conflict reports, e.g.,
70        `conflicts: 2 shift/reduce, 1 reduce/reduce'.
71    
72  * %error-verbose    - `yystype' and `yyltype' are now obsolescent macros instead of being
73    This new directive is preferred over YYERROR_VERBOSE.      typedefs or tags; they are no longer documented and are planned to be
74        withdrawn in a future release.
75    
76  * %lex-param, %parse-param  * GLR parser notes
   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.  
77    
78    #defining yyerror to steal internal variables is strongly    - GLR and inline
79    discouraged.  It is not guaranteed to work for ever.      Users of Bison have to decide how they handle the portability of the
80        C keyword `inline'.
81    
82  * #line    - `parsing stack overflow...' -> `parser stack overflow'
83    Bison now recognizes #line in its input, and forwards them.      GLR parsers now report `parser stack overflow' as per the Bison manual.
84    
85  * #line  * Bison now warns if it detects conflicting outputs to the same file,
86    File names are properly escaped. E.g. foo\bar.y give #line 123 "foo\\bar.y".    e.g., it generates a warning for `bison -d -o foo.h foo.y' since
87      that command outputs both code and header to foo.h.
88    
89  Changes in version 1.75a, 2002-10-24:  * #line in output files
90      - --no-line works properly.
91    
92  * Bison can no longer be built by a K&R C compiler; it requires C89 or  * Bison can no longer be built by a K&R C compiler; it requires C89 or
93    later to be built.  This change originally took place a few versions    later to be built.  This change originally took place a few versions
# Line 540  End: Line 528  End:
528    
529  -----  -----
530    
531  Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free  Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
532  Software Foundation, Inc.  Free Software Foundation, Inc.
533    
534  This file is part of Bison, the GNU Compiler Compiler.  This file is part of Bison, the GNU Compiler Compiler.
535    

Legend:
Removed from v.1.86  
changed lines
  Added in v.1.87

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26