Commit Graph

328 Commits

Author SHA1 Message Date
Akim Demaille
0f37a9942f * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
definition.
* src/main.c (main): Use them.
Suggested by Hans Aberg.
2001-11-14 14:15:22 +00:00
Akim Demaille
fa63c49821 Adjust ngettext default. 2001-11-12 10:14:44 +00:00
Akim Demaille
d39d93b834 * src/system.h (ngettext): Now that we use ngettext, be sure to
provide a default definition when NLS are not used.
2001-11-12 09:57:58 +00:00
Akim Demaille
7da99edea7 %expext was not functioning at all.
* src/conflicts.c (expected_conflicts): Set to -1.
(conflict_report): Use ngettext.
(conflicts_print): Check %expect and make its violation an error.
* doc/bison.texinfo (Expect Decl): Adjust.
* configure.in (AM_GNU_GETTEXT): Ask for ngettext.
* tests/regression.at (%expect not enough, %expect right)
(%expect too much): New.
2001-11-12 09:33:38 +00:00
Akim Demaille
337c5bd131 * src/reduce.c (print_results): Rename as...
(reduce_output): This.
Output to OUT, passed as argument, instead of output_obstack.
(dump_grammar): Likewise.
(reduce_free): New.
Also free V1.
(reduce_grammar): No longer call reduce_output, since...
* src/print.c (print_results): do it.
* src/main.c (main): Call reduce_free;
2001-11-12 09:32:51 +00:00
Akim Demaille
c73a41af8e * src/conflicts.c (print_reductions): Accept OUT as argument.
Output to it, not to output_obstack.
* src/print.c (print_actions): Adjust.
2001-11-12 09:32:35 +00:00
Akim Demaille
0df87bb609 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
the result instead of using...
(src_total, rrc_total, src_count, rrc_count): Remove.
(any_conflicts): Remove.
(print_conflicts): Split into...
(conflicts_print, conflicts_output): New.
* src/conflicts.h: Adjust.
* src/main.c (main): Invoke both conflicts_output and conflicts_print.
* src/print.c (print_grammar): Issue `n' between to rule outputs.
* tests/regression.at (Conflicts): New.
Reported by Tom Lane.
2001-11-12 09:31:40 +00:00
Akim Demaille
e9e4c32114 * src/bison.simple (YYSTACK_REALLOC): New.
(yyparse) [!yyoverflow]: Use it and free the old stack.
Reported by FIXME: Who.
2001-11-12 09:24:50 +00:00
Akim Demaille
5f7e08323a * src/bison.simple: Define type yystype instead of YYSTYPE, and
define CPP macro, which substitute YYSTYPE by yystype.
* src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
with yyltype/YYLTYPE.  This allows inclusion of the generated
header within the parser if the compiler, such as GGC, accepts
multiple equivalent #defines.
From Akim.
2001-11-12 09:24:14 +00:00
Akim Demaille
e3f1699f55 * src/reader.c (symbols_output): New, extracted from...
(packsymbols): here.
(reader): Adjust.
2001-11-05 14:19:29 +00:00
Akim Demaille
65be086611 * src/lex.c (parse_percent_token): s/quotearg/quote/. 2001-11-05 10:07:46 +00:00
Akim Demaille
951366c145 * src/options.h (struct option_table_struct): set_flags is void*.
* src/options.c (longopts): Support `--output' and `%output'.
(usage): Adjust.
* src/lex.h (tok_setopt): Remove, replaced with...
(tok_intopt, tok_stropt): these new guys.
* src/lex.c (getopt.h): Not needed.
(token_buffer, unlexed_token_buffer): Not const.
(percent_table): Promote `-' over `_' in directive names.
Active `%name-prefix', `file-prefix', and `output'.
(parse_percent_token): Accept possible arguments to directives.
Promote `-' over `_' in directive names.
2001-11-05 09:09:19 +00:00
Akim Demaille
6b7e85b994 * src/symtab.h (SUNDEF): New.
* src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
stand for `uninitialized', instead of 0.
* src/reader.c (packsymbols, parse_thong_decl): Adjust.
* src/lex.c (lex): Adjust.
* tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
Number it 0.
Let yylex return it instead of a plain 0.
Reported by Dick Streefland.
2001-11-02 15:27:11 +00:00
Akim Demaille
037ca2f14c * src/reader.c (parse_thong_decl): Formatting changes.
(token_translations_init): New, extracted from...
(packsymbols): Here.
Adjust.
2001-11-02 14:04:54 +00:00
Akim Demaille
270a173cf3 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
Check that `9foo.y' produces correct cpp guards.
* src/files.c (compute_header_macro): Prepend `BISON_' to CPP
guards.
Reported by Wwp.
2001-11-01 18:28:38 +00:00
Akim Demaille
561f9a30af * tests/regression.at (Invalid input: 2): New.
* src/lex.c (unlexed_token_buffer): New.
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
too.
Reported by Wwp.
2001-11-01 18:05:22 +00:00
Pascal Bart
0846f581e8 * src/conflicts.c: Move global variables rrc_total and src_total ...
(print_conflicts): here.
* src/output.c (output): Free global variable user_toknums.
* src/lex.c (token_obstack): Become static.
2001-10-19 11:03:50 +00:00
Marc Autret
5d52e7d045 * src/options.c (create_long_option_table): Fix. 2001-10-15 19:01:12 +00:00
Akim Demaille
631aa1d3dc * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA. 2001-10-10 14:58:26 +00:00
Akim Demaille
ee006e3a4c Adjust. 2001-10-04 15:12:55 +00:00
Akim Demaille
c07c873533 Adjust. 2001-10-04 15:09:51 +00:00
Akim Demaille
f6ec6d13dc * src/reader.c (parse_union_decl): Push the caracters in
union_obstack, not attrs_obstack.
2001-10-04 15:07:32 +00:00
Akim Demaille
342b8b6e21 Merge in branch-1_29. 2001-10-04 14:55:21 +00:00
Akim Demaille
3a7bc75ff7 Remove for the repo. 2001-10-04 13:21:02 +00:00
Pascal Bart
c20e2bdcf1 Ignore .flc 2001-09-25 11:37:26 +00:00
Pascal Bart
1c8c2190b1 * src/output.c (output_master_parser): Don't finish action_obstack.
(output_parser): Don't care about the muscle action, here.
(prepare): Copy the action_obstack in the action muscle.
(output): Free action_obstack.
2001-09-25 11:36:25 +00:00
Pascal Bart
180d45ba81 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
will contain `%union' declaration.
(parse_union_decl): Delete #line directive output.
(parse_union_decl): Substitute /attrs_obstack/union_obstack for all
informations about %union.
(parse_union_decl): Copy the union_obstack in the muscle stype.
* src/bison.simple: Add new #line directive.
Add typdef %%stype YYSTYPE.
2001-09-23 15:33:14 +00:00
Pascal Bart
c51d1a1973 * src/bison.simple: Add new `#line' directive. 2001-09-22 22:02:34 +00:00
Pascal Bart
577c6c8499 Fix line report with input_line 2001-09-22 21:43:05 +00:00
Pascal Bart
6f9344dadf * src/bison.simple: New `#line' directive.
* src/output.c (output_parser): Support new dynamic muscle input_line.
2001-09-22 21:30:53 +00:00
Marc Autret
652def8074 * src/output.c (output_master_parser): New.
(output_parser): Be more re-entrant.
2001-09-22 12:18:16 +00:00
Marc Autret
25b222faf6 * src/reader.c (copy_definition, parse_union_decl): Update and use
`linef' muscle.
(copy_action): Likewise.
Use obstack_1grow ().
* src/muscle_tab.c (muscle_init): Add muscle `linef'.
2001-09-21 16:25:19 +00:00
Marc Autret
6bc35ae56a * src/options.c (option_table): Adjust.
* src/lex.c (parse_percent_token): Fix.
2001-09-21 15:42:26 +00:00
Pascal Bart
a474de9b9a Regen. 2001-09-20 19:11:28 +00:00
Pascal Bart
c0629aa10f * src/options.c (symtab.h): Include it, need by lex.h. 2001-09-20 18:51:48 +00:00
Pascal Bart
82b6d266fd * src/lex.c (parse_percent_token): Change type of variable `tx', which
is now an option_table_struct*.
(option_strcmp): New function option_strcmp.
(parse_percent_token): Call option_strcmp.
* src/getargs.c (xalloc.h, options.h): Include it.
(getargs): Call create_long_option_table.
(getargs): Free longopts at the end of the function.
(shortopts): Move in options.c.
* src/options.c (create_long_option_table): New function.  Convert
information from option_table to option structure.
* src/reader.c (options.h): Include it.
* src/Makefile.am: Adjust.
* src/options.c (option_table): Create from longopts and percent_table.
* src/getargs.c (longopts): Delete.
* src/lex.c (struct percent_table_struct): Delete.
(percent_table): Delete.
(options.h): Include it.
* src/options.c: Create.
* src/options.h: Create.
Declare enum opt_access_e.
Define struct option_table_struct.
2001-09-20 18:32:20 +00:00
Pascal Bart
f508cb0ac9 * src/bison.simple: s/%%filename/%%skeleton.
* src/muscle_tab.c (getargs.h): Include it.
(muscle_init): Insert new muscle skeleton.
2001-09-19 19:25:02 +00:00
Pascal Bart
13105fc158 * src/output.c (output_parser): Delete unused variable actions_dumped. 2001-09-18 21:32:53 +00:00
Pascal Bart
b0c4483ed2 * src/output.c (output): Delete call to reader_output_yylsp.
* src/reader.c (reader): Likewise.
* src/reader.h:	Delete declaration of reader_output_yylsp.
2001-09-07 16:50:01 +00:00
Marc Autret
4766a52862 Regen 2001-09-02 16:21:30 +00:00
Marc Autret
11d82f03b4 * src/reader.c: Include muscle_tab.h.
(parse_union_decl): Update.
(parse_macro_decl): Rename parse_muscle_decl.
Update to use renamed functions and variable.
(read_declarations, copy_action, read_additionnal_code, : Updated
with correct variables and functions names.
(packsymbols, reader): Likewise.
* src/reader.h (muscle_obstack): Extern declaration update.
* src/output.c: Include muscle_tab.h
In all functions using macro_insert, change by using muscle_insert ().
(macro_obstack): Rename muscle_obstack.
Echo modifications in the whole file.
(MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
(MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
(MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
* src/muscle_tab.h: Update double inclusion macros.
(macro_entry_s): Rename muscle_entry_s.
Update prototypes.
* src/muscle_tab.c: Include muscle_tab.h.
Rename macro_tabble to muscle_table.
(mhash1, mhash2, mcmp): Use muscle_entry.
(macro_init): Rename muscle_init. Update.
(macro_insert): Rename muscle_insert. Update.
(macro_find): Rename muscle_find. Update.
* src/main.c: Include muscle_tab.h.
(main): Call muscle_init ().
* src/Makefile.am (bison_SOURCES): Echo modifications.
2001-09-02 15:43:29 +00:00
Marc Autret
f753cd6292 Add src/muscle_tab.c and src/muscle_tab.h 2001-09-02 15:27:27 +00:00
Marc Autret
93a37297e6 Remove src/macrotab.c and src/macrotab.h 2001-09-02 15:19:49 +00:00
Pascal Bart
682d48cd09 * src/reader.c (copy_guard): Use muscle to specify the `#line'
filename.
2001-09-01 10:40:54 +00:00
Pascal Bart
dda680cb80 * src/output.c (prepare): Delete the `filename' muscule insertion.
* src/reader.c (copy_action): Use `filename' muscule with `#line'.
(parse_union_decl): Likewise.
* src/macrotab.c (macro_init): Initialize filename by infile.
2001-08-31 18:51:06 +00:00
Marc Autret
9e644e648d * src/bison.simple (YYLSP_NEEDED): New definition.
* src/output.c (prepare): Add macro insertion of `locations_flag'
2001-08-31 18:30:21 +00:00
Pascal Bart
17da6427fe * src/output.c (prepare): Delete insertion of previous muscles,
and insert the `prefix' muscles.
* src/macrotab.c (macro_init): Likewise.
(macro_init): Initialization prefix directive by `yy'.
* src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
%%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
yylval, yydebug, yyerror, yynerrs and yyparse.
New directive `#define' to substitute yydebug, ... with option
name_prefix.
2001-08-31 18:22:54 +00:00
Pascal Bart
e8cb70b957 * src/main.c (main): Standardize.
* src/output.c (output_table_data, output_parser): Likewise.
* src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
2001-08-31 16:56:44 +00:00
Marc Autret
63c2d5de0f * src/reader.c (read_additionnal_code): Rename %%user_code to
%%epilogue.
* src/output.c (output): Rename %%declarations to %%prologue.
* src/bison.simple: Echo modifications.
2001-08-31 16:01:53 +00:00
Marc Autret
d8cb51834b * src/reader.c (readgram): CleanUp.
(output_token_defines): Likewise.
(packsymbols): Likewise.
(reader): Likewise.
* src/output.c (output): CPP-out useless code.
2001-08-31 11:47:08 +00:00