glr.cc: %defines is no longer mandatory

* data/glr.cc: No longer require %defines.
When it is not given, define the position and location classes instead
of including their headers.
(b4_shared_declarations): Use the original parse-params.
* data/glr.c (b4_shared_declarations): Define only if undefined.
* tests/actions.at, tests/calc.at: No longer force the use of %defines
for glr.cc.
* NEWS: Doc it.
This commit is contained in:
Akim Demaille
2012-08-15 08:46:54 +02:00
parent 836dc3342b
commit e4c0985b5c
6 changed files with 46 additions and 42 deletions

10
NEWS
View File

@@ -85,13 +85,13 @@ GNU Bison NEWS
** C++ skeletons improvements
*** parser header (%defines) is no longer mandatory (lalr1.cc)
*** The parser header is no longer mandatory (lalr1.cc, glr.cc)
In which case, if needed, the support classes are defined in the generated
parser, instead of additional files (location.hh, position.hh and
stack.hh).
Using %defines is now optional. Without it, the needed support classes
are defined in the generated parser, instead of additional files (such as
location.hh, position.hh and stack.hh).
*** locations are no longer mandatory (lalr1.cc, glr.cc)
*** Locations are no longer mandatory (lalr1.cc, glr.cc)
Both lalr1.cc and glr.cc no longer require %location.