Bison no longer executes user-specified M4 code when processing a grammar.
+** Future Changes
+
+ In addition to the removal of the features announced in Bison 2.6, the
+ next major release will remove the "Temporary hack for adding a semicolon
+ to the user action", as announced in the release 2.5. Instead of:
+
+ exp: exp "+" exp { $$ = $1 + $3 };
+
+ write:
+
+ exp: exp "+" exp { $$ = $1 + $3; };
+
** Bug fixes
*** Type names are now properly escaped.
*** glr.cc: set_debug_level and debug_level work as expected.
-** Type names in printers and destructors
+*** Stray @ or $ in actions
+
+ While Bison used to warn about stray $ or @ in action rules, it did not
+ for other actions such as printers, destructors, or initial actions. It
+ now does.
+
+** Type names in actions
For consistency with rule actions, it is now possible to qualify $$ by a
- type-name in printers and destructors. For instance:
+ type-name in destructors, printers, and initial actions. For instance:
%printer { fprintf (yyo, "(%d, %f)", $<ival>$, $<fval>$); } <*> <>;
will display two values for each typed and untyped symbol (provided
- that YYSTYPE supports it).
+ that YYSTYPE has both "ival" and "fval" fields).
* Noteworthy changes in release 2.6 (2012-07-19) [stable]