Commit Graph

9 Commits

Author SHA1 Message Date
Akim Demaille
8f7e3cf9d0 Have glr.cc pass (some of) the calc.at tests.
* data/glr.cc (b4_parse_param_orig): New.
(b4_parse_param): Improve its definition, and bound it more
clearly in the skeleton.
(b4_epilogue): Append, instead of prepending, in order to keep
#line consistency.
Simplify the generation of auxiliary functions: locations and
purity are mandated.
(b4_global_tokens_and_yystype): Honor it.
* data/location.cc (c++.m4): Don't include it.
* tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Define AT_GLR_CC_IF
and AT_SKEL_CC_IF.
* tests/calc.at (AT_CHECK_CALC): Rely on AT_SKEL_CC_IF instead of
AT_LALR1_CC_IF.
Be sure to initialize the first position's filename.
(AT_CHECK_CALC_LALR1_CC): Add %location and %defines, they are
mandated anyway.
(AT_CHECK_CALC_GLR_CC): New.
Use it to exercise glr.cc as a lalr1.cc drop-in replacement.
2006-01-03 09:06:22 +00:00
Akim Demaille
3953ed882a * src/output.c (output_skeleton): Don't hard wire the inclusion of
c.m4.
* data/c++.m4: Include c.m4.
* data/glr.cc: Do not include stack.hh.
2006-01-02 16:06:11 +00:00
Akim Demaille
c4d497a010 Let glr.cc catch up with symbol_value_print.
* data/glr.cc (b4_yysymprint_generate): Replace by...
(b4_yy_symbol_print_generate): this.
(yy_symbol_print, yy_symbol_value_print): Declare them.
2005-12-29 11:06:33 +00:00
Paul Eggert
8bb4c753e2 Undo 2005-12-01 tentative license wording change. 2005-12-22 04:38:26 +00:00
Paul Eggert
9d9b8b7006 * NEWS: Reword %destructor vs YYABORT etc.
* data/glr.c: Use American spacing, for consistency.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/yacc.c: Likewise.
* data/yacc.c: Reformat comments slightly.
* doc/bison.texinfo: Replace "non-" with "non" when that makes sense,
for consistency.  Fix some spelling errors and reword recently-included
text slightly.
* tests/cxx-type.at: Cast results of malloc, for C++.
2005-12-22 00:24:40 +00:00
Paul Eggert
12ce2df60d Cleanups so that Bison-generated parsers have less lint.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate):
Prepend /*ARGSUSED*/, for lint's sake.
* data/glr.c (YYUSE): Properly parenthesize, and use an alternate
definition if 'lint' is defined.
(YYID): New macro (or function, if lint).
All uses of /*CONSTCOND*/0 replaced by YYID(0).
* data/yacc.c: Likewise.
* data/glr.c (yyuserAction, yyuserMerge, yy_reduce_print):
(yyrecoverSyntaxError): Prepend /*ARGSUSED*/.
* data/glr.cc (YYLLOC_DEFAULT): Omit /*CONSTCOND*/ since this code
is C++ only.
* data/lalr1.cc (YYUSE): Just use a cast, since this code is C++ only.
* data/yacc.c (YYSTACK_FREE) [defined YYSTACK_ALLOC]:
Use YYID(0) rather than 0, for lint.
(yystrlen): Rewrite to avoid lint warning about ptrdiff_t overflow.
(yysyntax_error): Rewrite to avoid lint warnings about parenthesization.
2005-12-09 22:14:36 +00:00
Paul Eggert
af3412cdea * data/yacc.c: Say "parser skeleton" rather than "file", since
it's no longer just a file.
* data/glr.c: Grant a special exception for C GLR parsers, that
reads like the already-existing exception for C LALR(1) parsers.
* data/glr.cc: Likewise.
* data/lalr1.cc: Likewise.
* data/location.cc: Likewise.
* data/yacc.c: Reword the "written by" statement to clarify that
it was the parser skeleton, not the entire output file.
* data/glr.c: Written by Paul Hilfinger.
* data/glr.cc: Written by Akim Demaille.
* data/lalr1.cc: Likewise.
2005-12-01 20:03:55 +00:00
Akim Demaille
613d8952e3 "Use" parse parameters.
* data/c.m4 (b4_parse_param_for, b4_parse_param_use): New.
* data/glr.c, data/glr.cc: Use them.
* data/glr.c (YYUSE): Have a C++ definition that supports
non-pointer types.
2005-11-14 15:18:34 +00:00
Akim Demaille
422494834c * data/glr.cc: New.
* data/m4sugar/m4sugar.m4 (m4_prepend): New.
2005-11-14 08:13:07 +00:00