Commit Graph

3921 Commits

Author SHA1 Message Date
Juan Manuel Guerrero 6bebb37320 DJGPP specific replacement file for lib/subpipe.c. 2005-10-02 16:14:13 +00:00
Juan Manuel Guerrero cd72b08b23 DJGPP specific file. 2005-10-02 16:11:25 +00:00
Akim Demaille 5215c87f14 * examples/extexi: Restore the #line generation. 2005-10-01 07:20:32 +00:00
Akim Demaille fb9712a962 Alexandre Duret-Lutz <adl@gnu.org>
Move the token type and YYSTYPE in the parser class.
* data/lalr1.cc (stack.hh, location.hh): Include earlier.
(parser::token): New, from the moved free definition of tokens.
(parser::semantic_value): Now a full definition instead of an
indirection to YYSTYPE.
(b4_post_prologue): No longer included in the header file, but
in the implementation file.
* doc/bison.texi (C+ Language Interface): Update.
* src/parse-gram.y: Support unary %define.
* tests/actions.at: Define global_tokens_and_yystype for backward
compatibility until we update the tests.
* tests/calc.at: Idem.
(first_line, first_column, last_line, last_column): Define for lalr1.cc
to simplify the code.
2005-09-30 17:57:05 +00:00
Paul Eggert 55f0c7b1f2 Port to SunOS 4.1.4, which lacks strtoul and strerror.
* bootstrap (gnulib_modules): Add strerror, strtoul.
* lib/.cvsignore: Add strerror.c, strtol.c, strtoul.c
* m4/.cvsignore: Add strerror.m4, strtol.m4, strtoul.m4.
2005-09-29 19:02:54 +00:00
Akim Demaille d4fb5e3cb9 * data/c.m4 (b4_error_verbose_if): New.
* data/lalr1.cc: Use it.
(YYERROR_VERBOSE_IF): Remove.
(yyn_, yylen_, yystate_, yynerrs_, yyerrstatus_): Remove as
parser members, replaced by...
(yyn, yylen, yystate, yynerss, yyerrstatus): these parser::parse
local variables.
(yysyntax_error_): Takes the state number as argument.
(yyreduce_print_): Use the argument yyrule, not the former
attribute yyn_.
2005-09-29 06:50:57 +00:00
Paul Eggert 8a6f72f3d7 * bootstrap (gnulib_modules): Add verify.
* lib/.cvsignore: Add verify.h.
* src/getargs.c: Use ARGMATCH_VERIFY rather than verify.
* src/system.h (verify): Remove.
Include verify.h instead.
* src/tables.c (tables_generate): Use new API for 'verify'.
2005-09-27 06:08:27 +00:00
Paul Eggert ebc3737ebf * tests/local.at (_AT_BISON_OPTION_PUSHDEFS): Do not use
local variables whose names begin with 'yy'.
* tests/calc.at (_AT_DATA_CALC_Y): Likewise.
2005-09-21 21:05:53 +00:00
Paul Eggert 58b90cc2d8 Regenerate. 2005-09-21 20:08:58 +00:00
Paul Eggert 62c4328e00 Don't rely on whether alloc is #defined; that is in the user's name spac. 2005-09-21 20:08:38 +00:00
Paul Eggert 2fc90989b7 Regenerate. 2005-09-21 19:54:58 +00:00
Paul Eggert 0d50976f3c More alloca cleanups.
* bootstrap (gnulib_modules): Remove alloca.  Bison doesn't need
it itself.
* src/main.c (main) [C_ALLOCA]: Don't flush alloca'ed memory; we
don't use alloca any more.

* data/yacc.c [YYSTACK_USE_ALLOCA && !defined __GNUC__ && ! defined
__BUILTIN_VA_ARG_INCR && ! defined _AIX && ! defined _MSC_VER &&
(defined alloca || defined _ALLOCA_H)]: Don't include <stdlib.h>;
not needed in this case.
* tests/torture.at (Exploding the Stack Size with Alloca): Adjust
to match yacc.c, to test more hosts.
2005-09-21 19:54:48 +00:00
Paul Eggert ac2434287d Regenerate. 2005-09-20 23:09:18 +00:00
Paul Eggert 9069e5de23 Fix typo in previous patch: some operands of 'defined' weren't parenthesized. 2005-09-20 23:08:03 +00:00
Paul Eggert 552893661b * data/yacc.c (YYSIZE_T): Reindent to make it clearer. This
doesn't affect behavior.
(YYSTACK_ALLOC) [YYSTACK_USE_ALLOCA]: Improve support for
Solaris, AIX, MSC.
(_STDLIB_H): Renamed from YYINCLUDED_STDLIB_H.  All uses changed.
This works a bit better with glibc, if user code has already included
stdlib.h.
* doc/bison.texinfo (Bison Parser): Document that users can't
arbitrarily use malloc and free for other purposes.  Document
that <alloca.h> and <malloc.h> might be included.
(Table of Symbols): Under YYSTACK_USE_ALLOCA, Don't claim that the
user must declare alloca.
2005-09-20 23:06:10 +00:00
Paul Eggert a05b79dff9 * HACKING (release): Forwarn the Translation Project about
stable releses.
2005-09-20 17:44:20 +00:00
Paul Eggert ddc65ffdd1 Forwarn the translation project. 2005-09-20 17:42:48 +00:00
Akim Demaille 3ab2ca2206 * data/glr.c: Use b4_token_enums, not b4_token_enums_defines. 2005-09-20 07:57:15 +00:00
Paul Eggert 2abdfeefce Regenerate. 2005-09-20 06:07:30 +00:00
Paul Eggert a702593e05 Add yysyntax_error to data/yacc.c. 2005-09-20 06:07:07 +00:00
Paul Eggert b4c1f9d2b6 (YYSIZE_MAXIMUM): New macro.
(YYSTACK_ALLOC_MAXIMUM): Use it.
(yysyntax_error): New function.
(yyparse) [YYERROR_VERBOSE]: Don't leak memory indefinitely if
multiple syntax errors are reported, and alloca is being used.
Instead, reallocate buffers twice as big each time, so that
we waste at most half the allocated memory.  Start with a small
(128-byte) buffer that will suffice in most cases anyway.
Use yysyntax_error to do most of the work.
2005-09-20 06:06:42 +00:00
Paul Eggert 8a2800e787 (Error Reporting, Table of Symbols):
yynerrs is the number of errors reported, not the number of
errors encountered.
2005-09-20 06:01:50 +00:00
Paul Eggert a9739e7c4c * tests/glr-regression.at (Duplicated user destructor for lookahead):
Mark it as expected to fail.
Cast result of malloc; problem reported by twlevo@xs4all.nl.
* tests/actions.at, tests/calc.at, tests/glr-regression.at:
Don't start user-code symbols with "yy", to avoid name space problems.
2005-09-19 21:08:21 +00:00
Paul Eggert c7e8607f6b Add bison.html. 2005-09-19 21:04:40 +00:00
Akim Demaille f479c6c61e Remove the traits, failed experiment.
It never proved useful, and anyway because of the current
definition, it was not possible to have several specialization of
this traits, making it useless.
* data/lalr1.cc (yy:traits): Remove.
Inline its definitions in the parser class.
2005-09-19 07:34:38 +00:00
Akim Demaille e2586f82b0 * tests/atlocal.in (LIBS): Pass INTLLIBS to address failures on at
least Mac OSX with a /usr/local install of gettext.
2005-09-19 07:22:17 +00:00
Akim Demaille 2e8cf949a5 * data/lalr1.cc (yyparse): Rename yylooka and yyilooka as yychar
and yytoken for similarity with the other skeletons.
2005-09-19 07:21:39 +00:00
Akim Demaille c7fb0b9079 * NEWS, configure.ac: Bump to 2.1a. 2005-09-19 07:08:00 +00:00
Paul Eggert f5109f5af0 Regenerate. 2005-09-16 22:55:33 +00:00
Paul Eggert 1bd0dedaaa * NEWS: Version 2.1.
* NEWS: Remove notice of yytname change, since it was never in an
official release.
* data/glr.c (yydestroyGLRState): Rename local var to avoid shadowing
diagnostic.
* src/output.c (prepare): Likewise.
* data/lalr1.cc (YYERROR_VERBOSE_IF): New macro.
(yysyntax_error_): Use it to avoid GCC warning when YYERROR_VERBOSE
is not defined.  This is an awful hack, but it's enough for now.
All callers changed.
* tests/glr-regression-at (make_value): Args are const pointers now,
to avoid GCC warning.
(Duplicated user destructor for lookahead): New test.  Currently
skipped.  It fails on my host but I'm not sure it'll always fail.
2005-09-16 22:54:21 +00:00
Akim Demaille c1432f6538 * src/symtab.h (struct symbol): Declare the printer and destructor
as const, to avoid accidental calls to free.
(symbol_destructor_set, symbol_printer_set): Adjust.
* src/symtab.c: Adjust.
2005-09-16 19:50:08 +00:00
Akim Demaille cf147260d2 * data/c.m4 (b4_token_enums): New.
(b4_token_defines): Rename as...
(b4_token_enums_defines): this.
(b4_token_defines): New, output only the #defines.
* data/yacc.c, data/glr.c: Adjust.
* data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
as default values.
2005-09-16 19:26:40 +00:00
Akim Demaille 3a73c9ae44 * data/c.m4 (b4_token_enums): New.
(b4_token_defines): Rename as...
(b4_token_enums_defines): this.
(b4_token_defines): New, output only the #defines.
* data/yacc.c, data/glr.c: Adjust.
* data/lalr1.cc: Use b4_token_enums instead of b4_token_enums_defines.
* data/c.m4 (b4_yydestruct_generate, b4_yysymprint_generate): Define
as default values.
2005-09-16 19:03:54 +00:00
Akim Demaille dbcdae2d04 * data/lalr1.cc (yylex_): Remove, inline its code.
(yyreport_syntax_error_): Remove, replaced by...
(yysyntax_error_): this which returns a string and leaves to the
caller the call to the users' error function.
(yylooka_, yyilooka_, yylval, yylloc, yyerror_range_, yyval, yyloc):
Move from members of the parser object...
(yylooka, yyilooka, yylval, yylloc, yyerror_range, yyval, yyloc):
to local variables of the parse function.
2005-09-16 12:12:36 +00:00
Akim Demaille 70d8f2910e * doc/bison.texinfo (Calc++ Parser): Don't promote defining YYEOF
since it's in Bison's name space.
2005-09-16 11:26:43 +00:00
Paul Eggert d110145422 false -> yyfalse 2005-09-15 18:02:03 +00:00
Paul Eggert ae199bf10f * data/glr.c (yyresolveValue): Add default case to pacify
gcc -Wswitch-default.  Problem reported by twlevo@xs4all.nl.
2005-09-15 14:16:54 +00:00
Paul Eggert b47dbebee5 * NEWS: Document when yyparse started to return 2.
* doc/bison.texinfo (Parser Function): Document when yyparse
returns 2.

* data/lalr1.cc: Revert part of previous change, as it's incompatible.
(b4_filename_type): Renamed back from b4_file_name_type.  All uses
changed.
(class position): file_name -> filename (reverting).  All uses changed.
2005-09-15 14:06:52 +00:00
Paul Eggert 94306d5282 ($(calc_sources_generated)): Don't do anything if $@ exists. This
reverts part of the 2005-07-07 patch.
2005-09-14 22:10:50 +00:00
Paul Eggert 00292f6611 *** empty log message *** 2005-09-12 05:51:20 +00:00
Paul Eggert c89b4c032c [defined YYSETJMP]: Don't include <setjmp.h>.
(YYJMP_BUF, YYSETJMP, YYLONGJMP) [!defined YYSETJMP]: New macros.
All uses of jmp_buf, setjmp, longjmp changed to use these instead.
(yyparse): Abort if user code uses longjmp to throw an unexpected
value.
2005-09-12 05:50:44 +00:00
Paul Eggert d83a9c402c (EXTRA_DIST): Do not distribute REFERENCES; it
contains obsolete information and isn't worth distributing as a
separate file anyway.
2005-09-12 05:50:10 +00:00
Paul Eggert 55f64b82cd * data/c.m4 (b4_identification): Define YYBISON_VERSION.
Suggested by twlevo@xs4all.nl.
2005-09-09 23:12:09 +00:00
Paul Eggert 127287e9c4 * data/glr.c (YYCHK1): Do not assume YYE is in range.
This avoids a diagnostic from gcc -Wswitch-enum.
Problem reported by twlevo@xs4all.nl.
2005-09-09 22:59:46 +00:00
Paul Eggert 48b16bbc04 * doc/bison.texinfo: Correct typos in previous fix.
* data/glr.c: b4_filename -> b4_file_name.
* data/lalr1.cc: Likewise.  Also, b4_filename_type -> b4_file_name_type.
All uses changed.
(class position): filename -> file_name.  All uses changed.
* data/yacc.c: b4_filename -> b4_file_name.
* lib/bitset.h: filename -> file_name in local vars.
* lib/bitset_stats.c: Likewise.
* src/files.c: Likewise.
* src/scan-skel.l ("@output ".*\n): Likewise.
* src/files.c (file_name_split): Renamed from filename_split.
* src/muscle_tab.c (muscle_init): Output b4_file_name, not b4_filename.
2005-09-09 22:42:15 +00:00
Paul Eggert a420f9620e Log recent changes. 2005-09-09 22:14:44 +00:00
Paul Eggert fa4d969f11 Don't use "filename", as per GNU coding standards. Use "file name" or
"file" or "name", depending on the context.
(Invocation): The output of "bison hack/foo.y" goes to foo.tab.c,
not to hack/foo.tab.c.
(Calc++ Top Level): 2nd arg of main is not const.
2005-09-09 22:14:28 +00:00
Paul Eggert 326eb46f40 Add pipe-safer.c, stdio--.h, unistd--.h,
to accommodate latest gnulib.
2005-09-08 21:49:23 +00:00
Paul Eggert 7812f29985 (Duplicate representation of merged trees): Add casts to pacify g++. 2005-09-08 18:41:46 +00:00
Paul Eggert 7e7b77c138 Undo previous change, then add comment as to why the
AM_LANGINFO_CODESET hack is needed.
2005-09-08 18:26:43 +00:00