1 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
3 * src/bison.simple: New `#line' directive.
4 * src/output.c (output_parser): Support new dynamic muscle input_line.
6 2001-09-22 Marc Autret <autret_m@epita.fr>
8 * src/output.c (output_master_parser): New.
9 (output_parser): Be more re-entrant.
11 2001-09-21 Marc Autret <autret_m@epita.fr>
13 * src/reader.c (copy_definition, parse_union_decl): Update and use
15 (copy_action): Likewise.
17 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
19 2001-09-21 Marc Autret <autret_m@epita.fr>
21 * src/options.c (option_table): Adjust.
22 * src/lex.c (parse_percent_token): Fix.
24 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
26 * src/options.c (symtab.h): Include it, need by lex.h.
28 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
30 * src/lex.c (parse_percent_token): Change type of variable `tx', which
31 is now an option_table_struct*.
32 (option_strcmp): New function option_strcmp.
33 (parse_percent_token): Call option_strcmp.
34 * src/getargs.c (xalloc.h, options.h): Include it.
35 (getargs): Call create_long_option_table.
36 (getargs): Free longopts at the end of the function.
37 (shortopts): Move in options.c.
38 * src/options.c (create_long_option_table): New function. Convert
39 information from option_table to option structure.
40 * src/reader.c (options.h): Include it.
42 * src/Makefile.am: Adjust.
43 * src/options.c (option_table): Create from longopts and percent_table.
44 * src/getargs.c (longopts): Delete.
45 * src/lex.c (struct percent_table_struct): Delete.
46 (percent_table): Delete.
47 (options.h): Include it.
48 * src/options.c: Create.
49 * src/options.h: Create.
50 Declare enum opt_access_e.
51 Define struct option_table_struct.
53 2001-09-20 Marc Autret <autret_m@epita.fr>
55 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
58 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
60 * src/bison.simple: s/%%filename/%%skeleton.
61 * src/muscle_tab.c (getargs.h): Include it.
62 (muscle_init): Insert new muscle skeleton.
64 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
66 * src/output.c (output_parser): Delete unused variable actions_dumped.
68 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
70 * src/output.c (output): Delete call to reader_output_yylsp.
71 * src/reader.c (reader): Likewise.
72 * src/reader.h: Delete declaration of reader_output_yylsp.
74 2001-09-02 Marc Autret <autret_m@epita.fr>
76 * src/reader.c: Include muscle_tab.h.
77 (parse_union_decl): Update.
78 (parse_macro_decl): Rename parse_muscle_decl.
79 Update to use renamed functions and variable.
80 (read_declarations, copy_action, read_additionnal_code, : Updated
81 with correct variables and functions names.
82 (packsymbols, reader): Likewise.
84 * src/reader.h (muscle_obstack): Extern declaration update.
86 * src/output.c: Include muscle_tab.h
87 In all functions using macro_insert, change by using muscle_insert ().
88 (macro_obstack): Rename muscle_obstack.
89 Echo modifications in the whole file.
90 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
91 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
92 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
94 * src/muscle_tab.h: Update double inclusion macros.
95 (macro_entry_s): Rename muscle_entry_s.
98 * src/muscle_tab.c: Include muscle_tab.h.
99 Rename macro_tabble to muscle_table.
100 (mhash1, mhash2, mcmp): Use muscle_entry.
101 (macro_init): Rename muscle_init. Update.
102 (macro_insert): Rename muscle_insert. Update.
103 (macro_find): Rename muscle_find. Update.
105 * src/main.c: Include muscle_tab.h.
106 (main): Call muscle_init ().
107 * src/Makefile.am (bison_SOURCES): Echo modifications.
109 2001-09-02 Marc Autret <autret_m@epita.fr>
111 Now the files macro_tab.[ch] are named muscle_tab.[ch].
113 * src/muscle_tab.c, src/muscle_tab.h: Add files.
115 2001-09-02 Marc Autret <autret_m@epita.fr>
117 * src/macrotab.c, src/macrotab.h: Remove.
119 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
121 * src/reader.c (copy_guard): Use muscle to specify the `#line'
124 2001-09-01 Marc Autret <autret_m@epita.fr>
126 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
127 to an explicit value to activate the feature. We do it here.
129 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
131 * src/output.c (prepare): Delete the `filename' muscule insertion.
132 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
133 (parse_union_decl): Likewise.
134 * src/macrotab.c (macro_init): Initialize filename by infile.
136 2001-08-31 Marc Autret <autret_m@epita.fr>
138 * src/bison.simple (YYLSP_NEEDED): New definition.
139 * src/output.c (prepare): Add macro insertion of `locations_flag'
141 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
143 * src/output.c (prepare): Delete insertion of previous muscles,
144 and insert the `prefix' muscles.
145 * src/macrotab.c (macro_init): Likewise.
146 (macro_init): Initialization prefix directive by `yy'.
147 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
148 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
149 yylval, yydebug, yyerror, yynerrs and yyparse.
150 New directive `#define' to substitute yydebug, ... with option
153 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
155 * src/main.c (main): Standardize.
156 * src/output.c (output_table_data, output_parser): Likewise.
157 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
159 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
161 * src/reader.c (read_additionnal_code): Rename %%user_code to
163 * src/output.c (output): Rename %%declarations to %%prologue.
164 * src/bison.simple: Echo modifications.
166 2001-08-31 Marc Autret <autret_m@epita.fr>
168 * src/reader.c (readgram): CleanUp.
169 (output_token_defines): Likewise.
170 (packsymbols): Likewise.
172 * src/output.c (output): CPP-out useless code.
174 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
176 * src/reader.c (reader): Delete obsolete call to function
177 output_trailers and output_headers.
178 * src/output.h: Remove obsolete functions prototypes of output_headers
181 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
183 * src/main.c: Include macrotab.h.
184 * src/macrotab.h (macro_entry_s): Constify fields.
185 Adjust functions prototypes.
186 * src/macrotab.c (macro_insert): Constify key and value.
187 (macro_find): Constify key.
188 (macro_insert): Include 'xalloc.h'
189 (macro_insert): Use XMALLOC.
190 (macro_find): Constify return value.
191 * src/output.c (output_table_data): Rename table to table_data.
192 (output_parser): Constify macro_key, macro_value.
194 2001-08-30 Marc Autret <autret_m@epita.fr>
196 * src/reader.c (parse_skel_decl): New.
197 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
198 * src/lex.h (token_t): New token `tok_skel'.
199 * src/lex.c (percent_table): Add skeleton option entry.
202 2001-08-29 Marc Autret <autret_m@epita.fr>
204 * src/bison.simple: Add %%user_code directive at the end.
205 * src/reader.c (read_additionnal_code): New.
207 * src/output.c (output_program): Remove.
210 2001-08-28 Marc Autret <autret_m@epita.fr>
212 * src/output.c (output_actions): Clean up.
213 (output_gram): CPP-out useless code.
214 * src/reader.c (reader): Clean up, CPP-out useless code.
216 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
218 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
220 * src/bison.simple: Add `%%definitions'.
222 2001-08-28 Marc Autret <autret_m@epita.fr>
224 * config/depcomp: New file.
226 2001-08-27 Paul Eggert <eggert@twinsun.com>
228 * src/bison.simple (yyparse): Don't take the address of an
229 item before the start of an array, as that doesn't conform to
232 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
234 * src/output.c (output): Remove the initialization of the macro
235 obstack. It was done too late here.
237 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
239 (reader): Initialize the macro obstack here, since we need it to grow
240 '%define' directives.
242 * src/reader.h: Declare the macro obstack as extern.
244 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
246 * src/output.c (output_parser): Fix. Store single '%' characters in
247 the output obstack instead of throwing them away.
249 2001-08-27 Akim Demaille <akim@epita.fr>
251 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
253 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
255 * lib/Makefile.am: Adjust.
257 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
259 * src/bison.simple: Update and add '%%' directives.
261 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
263 * src/reader.c (reader): Remove calls to 'output_headers' and
264 'output_trailers'. Remove some C output.
265 (readgram): Disable a piece of code that was writing a default
266 definition for 'YYSTYPE'.
267 (reader_output_yylsp): Remove.
268 (packsymbols): Output token defintions to a macro.
269 (copy_definition): Disable C output.
271 * src/reader.c (parse_macro_decl): New function used to parse macro
273 (copy_string2): Put the body of copy_string into this new function.
274 Add a parameter to let the caller choose whether he wants to copy the
275 string delimiters or not.
276 (copy_string): Be a simple call to copy_string2 with the last argument
278 (read_declarations): Add case for macro definition.
279 (copy_identifier): New.
280 (parse_macro_decl): Read macro identifiers using copy_identifier
283 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
285 * src/output.c (prepare): Add prefixed names.
286 (output_parser): Output semantic actions.
287 (output_parser): Fix bug on '%%line' directives.
289 * src/output.c (output_headers): Remove. The C code printed by this
290 function should now be in the skeletons.
291 (output_trailers): Remove.
292 (output): Disable call to 'reader_output_yylsp'.
293 (output_rule_data): Do not output tables to the table obstack.
295 * src/output.c: Remove some C dedicated output.
296 Improve the use of macro and output obstacks.
297 (output_defines): Remove.
299 * src/output.c (output_token_translations): Associate 'translate'
300 table with a macro. No output to the table obstack.
301 (output_gram): Same for 'rhs' and 'prhs'.
302 (output_stos): Same for 'stos'.
303 (output_rule_data): Same for 'r1' and 'r2'.
304 (token_actions): Same for 'defact'.
305 (goto_actions): Same for 'defgoto'.
306 (output_base): Same for 'pact' and 'pgoto'.
307 (output_table): Same for 'table'.
308 (output_check): Same for 'check'.
310 * src/output.c (output_table_data): New function.
311 (output_short_table): Remove.
312 (output_short_or_char_table): Remove.
314 * src/output.c (output_parser): Replace most of the skeleton copy code
315 with something new. Skeletons are now processed character by character
316 rather than line by line, and Bison looks for '%%' macros. This is the
317 first step in making Bison's output process (a lot) more flexible.
318 (output_parser): Use the macro table.
320 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
322 * src/main.c (main): Initialize the macro table.
324 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
326 * src/lex.c (percent_table): Add tok_define.
327 * src/lex.h: Add tok_define.
329 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
331 * src/macrotab.c: New file.
332 * src/macrotab.h: New file.
333 * src/Makefile.am: Update.
335 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
337 * lib/hash.c: New file.
338 * lib/hash.h: New file.
339 * lib/Makefile.am: Update.
341 2001-08-15 Akim Demaille <akim@epita.fr>
345 2001-08-15 Marc Autret <autret_m@epita.fr>
347 * src/reader.c (readgram): Indent output macro YYSTYPE.
348 (packsymbols): Likewise.
349 (output_token_defines): Likewise.
350 * src/files.c: Standardize.
351 (compute_header_macro): New.
352 (defines_obstack_save): New. Use compute_header_macro.
353 (output_files): Update. Use defines_obstack_save.
355 2001-08-15 Akim Demaille <akim@epita.fr>
357 * doc/bison.texinfo (Table of Symbols): Document
360 2001-08-15 Akim Demaille <akim@epita.fr>
362 * missing: Update from CVS Automake.
363 * config/config.guess, config/config.sub, config/texinfo.tex:
366 2001-08-15 Akim Demaille <akim@epita.fr>
368 * Makefile.maint: Sync with CVS Autoconf.
370 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
372 * doc/bison.texinfo: Include GNU Free Documentation License from
374 * doc/fdl.texi: Add to package.
376 2001-08-14 Marc Autret <autret_m@epita.fr>
378 Turn on %{source,header}_extension features.
380 * src/lex.c (percent_table): Un-CPP out header_extension and
382 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
383 (compute_exts_from_src): Remove conditions. It restores priorities
386 2001-08-14 Marc Autret <autret_m@epita.fr>
388 * src/files.c (compute_base_names): Add extensions computing when
389 `--file-prefix' used.
390 Standardize function calls.
392 2001-08-13 Marc Autret <autret_m@epita.fr>
394 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
395 defining it (defined but null disables alloca).
397 2001-08-13 Marc Autret <autret_m@epita.fr>
399 * src/bison.simple (_yy_memcpy): CPP reformat.
401 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
403 * tests/atconfig.in (CPPFLAGS): Fix.
405 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
407 * doc/bison.texinfo: Include GNU General Public License from
409 * doc/gpl.texi: Add to package.
411 2001-08-10 Marc Autret <autret_m@epita.fr>
413 * src/print_graph.h: Fix.
414 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
416 2001-08-10 Akim Demaille <akim@epita.fr>
418 * src/system.h: Provide default declarations for stpcpy, strndup,
421 2001-08-10 Robert Anisko <anisko_r@epita.fr>
423 * doc/bison.texinfo (Locations): Update @$ stuff.
425 2001-08-09 Robert Anisko <anisko_r@epita.fr>
427 * src/bison.simple (YYLLOC_DEFAULT): Update.
430 2001-08-08 Marc Autret <autret_m@epita.fr>
432 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
433 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
434 Reported by Fabrice Bauzac.
436 2001-08-08 Marc Autret <autret_m@epita.fr>
438 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
439 * src/vcg.c (output_node): Fix.
440 * src/vcg.h: Cleanup.
441 * src/print_graph.c: Add comments.
442 (node_output_size): New global variable. Simplify the formatting of
443 the VCG graph output.
444 (print_actions): Unused code is now used. It notifies the final state
445 and no action states in the VCG graph. It also give the reduce actions.
446 The `shift and goto' edges are red and the `go to state' edges are
448 Get the current node name and node_obstack by argument.
449 (node_obstack): New variable.
450 (print_state): Manage node_obstack.
451 (print_core): Use node_obstack given by argument.
452 A node is not only computed here but in print_actions also.
453 (print_graph): CPP out useless code instead of commenting it.
455 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
457 * tests/atconfig.in (CPPFLAGS): Fix.
459 2001-08-07 Akim Demaille <akim@epita.fr>
461 * src/print_graph.c (quote): New.
462 (print_core): Use it.
464 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
466 * src/vcg.c (complain.h): Include it.
467 Unepitaize `return' invocations.
468 [NDEBUG] (main): Remove.
469 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
470 * src/files.c (open_files): Initialize graph_obstack.
471 * src/print_graph.c (print_actions): CPP out useless code.
472 (print_core): Don't output the last `\n' in labels.
474 * src/files.c (output_files): Output the VCG file.
475 * src/main.c (main): Invoke print_graph ();
477 2001-08-06 Marc Autret <autret_m@epita.fr>
479 Automaton VCG graph output.
480 Using option ``-g'' or long option ``--graph'', you can generate
481 a gram_filename.vcg file containing a VCG description of the LALR (1)
482 automaton of your grammar.
484 * src/main.c: Call to print_graph() function.
485 * src/getargs.h: Update.
486 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
487 (graph_flag): New flag.
489 (getargs): Add case `g'.
490 * src/files.c (graph_obstack): New obstack struct.
491 (open_files): Initialize new obstack.
492 (output_files): Saves graph_obstack if required.
493 * src/files.h (graph_obstack): New extern declaration.
494 * src/Makefile.am: Add new source files.
496 2001-08-06 Marc Autret <autret_m@epita.fr>
498 * src/print_graph.c, src/print_graph.h (graph): New.
499 * src/vcg.h: New file.
500 * src/vcg.c: New file, VCG graph handling.
502 2001-08-06 Marc Autret <autret_m@epita.fr>
504 Add of %source_extension and %header_extension which specify
505 the source or/and the header output file extension.
507 * src/files.c (compute_base_names): Remove initialisation of
508 src_extension and header_extension.
509 (compute_exts_from_gf): Update.
510 (compute_exts_from_src): Update.
511 (output_files): Update.
512 * src/reader.c (parse_header_extension_decl): New.
513 (parse_source_extension_decl): New.
514 (read_declarations): New case statements for the new tokens.
515 * src/lex.c (percent_table): Add entries for %source_extension
516 and %header_extension.
517 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
519 2001-08-06 Marc Autret <autret_m@epita.fr>
521 * configure.in: Bump to 1.28c.
522 * doc/bison.texinfo: Texinfo thingies.
524 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
526 * tests/atconfig.in (CPPFLAGS): Add.
527 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
529 2001-08-03 Akim Demaille <akim@epita.fr>
533 2001-08-03 Akim Demaille <akim@epita.fr>
535 * tests/Makefile.am (check-local): Ship testsuite.
536 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
539 2001-08-03 Akim Demaille <akim@epita.fr>
541 * configure.in: Try using -Wformat when compiling.
543 2001-08-03 Akim Demaille <akim@epita.fr>
545 * configure.in: Bump to 1.28b.
547 2001-08-03 Akim Demaille <akim@epita.fr>
549 * src/complain.c: Adjust strerror_r portability issues.
551 2001-08-03 Akim Demaille <akim@epita.fr>
555 2001-08-03 Akim Demaille <akim@epita.fr>
557 * src/getargs.c, src/getarg.h (skeleton)): Constify.
558 * src/lex.c (literalchar): Avoid name clashes on `buf'.
559 * src/getargs.c: Include complain.h.
560 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
561 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
563 2001-08-03 Akim Demaille <akim@epita.fr>
565 * src/reader.c (readgram): Display hidden chars in error messages.
567 2001-08-03 Akim Demaille <akim@epita.fr>
569 Update to gettext 0.10.39.
571 2001-08-03 Akim Demaille <akim@epita.fr>
575 2001-08-01 Marc Autret <autret_m@epita.fr>
577 * doc/bison.texinfo: Update.
578 * doc/bison.1 (mandoc): Update.
579 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
580 * src/files.c: Support output files extensions computing.
581 (src_extension): New static variable.
582 (header_extension): New static variable.
584 (get_extension_index): New function, gets the index of an extension
585 filename in a string.
586 (compute_exts_from_gf): New function, computes extensions from the
587 grammar file extension.
588 (compute_exts_from_src): New functions, computes extensions from the
589 C source file extension, file given by ``-o'' option.
590 (compute_base_names): Update.
591 (output_files): Update.
593 2001-08-01 Robert Anisko <anisko_r@epita.fr>
595 * doc/bison.texi: Document @$.
596 (Locations): New section.
598 2001-07-18 Akim Demaille <akim@epita.fr>
600 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
601 * config/prev-version.txt, config/move-if-change: New.
602 * Makefile.am: Adjust.
604 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
606 * src/bison.simple (yyparse): Suppress warning `comparaison
607 between signed and unsigned'.
609 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
611 * src/getargs.h (raw_flag): Remove.
612 * src/getargs.c: Die on `-r'/`--raw'.
613 * src/lex.c (parse_percent_token): Die on `%raw'.
614 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
615 * tests/calc.at: Suppress test with option `--raw'.
617 2001-07-14 Akim Demaille <akim@epita.fr>
620 * configure.in: Require Autoconf 2.50.
621 Update to gettext 0.10.38.
623 2001-03-16 Akim Demaille <akim@epita.fr>
625 * doc/bison.texinfo: ANSIfy the examples.
627 2001-03-16 Akim Demaille <akim@epita.fr>
629 * getargs.c (skeleton): New variable.
630 (longopts): --skeleton is a new option.
631 (shortopts, getargs): -S is a new option.
632 * getargs.h: Declare skeleton.
633 * output.c (output_parser): Use it.
635 2001-03-16 Akim Demaille <akim@epita.fr>
637 * m4/strerror_r.m4: New.
638 * m4/error.m4: Run AC_FUNC_STRERROR_R.
639 * lib/error.h, lib/error.c: Update.
641 2001-03-16 Akim Demaille <akim@epita.fr>
643 * src/getargs.c (longopts): Clean up.
645 2001-02-21 Akim Demaille <akim@epita.fr>
647 * src/reader.c (gensym): `gensym_count' is your own.
648 Use a static buf to create the symbol name, as token_buffer is no
651 2001-02-08 Akim Demaille <akim@epita.fr>
653 * src/conflicts.c (conflict_report): Be sure not to append to res
654 between two calls, which could happen if both first sprintf were
655 skipped, but not the first cp += strlen.
657 2001-02-08 Akim Demaille <akim@epita.fr>
659 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
660 New, from fileutils 4.0.37.
661 * configure.in: Require Autoconf 2.49c. I took some time before
662 making this decision. This is the only way out for portability
663 issues in Bison, it would mean way too much duplicate effort to
664 import in Bison features implemented in 2.49c since 2.13.
665 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
667 2001-02-02 Akim Demaille <akim@epita.fr>
669 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
670 * lib/xalloc.h, lib/xmalloc.c: Update.
672 2001-01-19 Akim Demaille <akim@epita.fr>
674 Get rid of the ad hoc handling of token_buffer in the scanner: use
677 * src/lex.c (token_obstack): New.
678 (init_lex): Initialize it. No longer call...
679 (grow_token_buffer): this. Remove it.
680 Adjust all the places which used it to use the obstack.
682 2001-01-19 Akim Demaille <akim@epita.fr>
684 * src/lex.h: Rename all the tokens:
685 s/\bENDFILE\b/tok_eof/g;
686 s/\bIDENTIFIER\b/tok_identifier/g;
688 Let them be enums, not #define, to ease debugging.
691 2001-01-18 Akim Demaille <akim@epita.fr>
693 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
694 * src/lex.c (maxtoken, grow_token_buffer): Static.
696 2001-01-18 Akim Demaille <akim@epita.fr>
698 Since we now use obstacks, more % directives can be enabled.
700 * src/lex.c (percent_table): Also accept `%yacc',
701 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
703 Handle the actions for `%semantic_parser' and `%pure_parser' here,
704 instead of returning a token.
705 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
706 * src/reader.c (read_declarations): Adjust.
707 * src/files.c (open_files): Don't call `compute_base_names', don't
708 compute `attrsfile' since they depend upon data which might be
709 *in* the input file now.
710 (output_files): Do it here.
711 * src/output.c (output_headers): Document the fact that this patch
712 introduces a guaranteed SEGV for semantic parsers.
713 * doc/bison.texinfo: Document them.
714 * tests/suite.at: Exercise these %options.
716 2000-12-20 Akim Demaille <akim@epita.fr>
718 Also handle the output file (--verbose) with obstacks.
720 * files.c (foutput): Remove.
721 (output_obstack): New.
722 Adjust all dependencies.
723 * src/conflicts.c: Return a string.
724 * src/system.h (obstack_grow_string): Rename as...
725 (obstack_sgrow): this. Be ready to work with non literals.
726 (obstack_fgrow4): New.
728 2000-12-20 Akim Demaille <akim@epita.fr>
730 * src/files.c (open_files): Fix the computation of short_base_name
731 in the case of `-o foo.tab.c'.
733 2000-12-20 Akim Demaille <akim@epita.fr>
735 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
736 (copy_dollar): Now that everything uses obstacks, get rid of the
739 2000-12-20 Akim Demaille <akim@epita.fr>
741 * src/files.c (open_files): Actually the `.output' file is based
742 on the short_base_name, not base_name.
743 * tests/suite.at (Checking output file names): Adjust.
745 2000-12-20 Akim Demaille <akim@epita.fr>
747 * src/bison.s1: Remove, we now use directly...
748 * src/bison.simple: this.
749 * src/Makefile.am: Use pkgdata instead of data.
751 2000-12-20 Akim Demaille <akim@epita.fr>
753 * src/files.c (guard_obstack): New.
754 (open_files): Initialize it.
755 (output_files): Dump it...
756 * src/files.h: Export it.
757 * src/reader.c (copy_guard): Use it.
759 2000-12-19 Akim Demaille <akim@epita.fr>
761 * src/files.c (outfile, defsfile, actfile): Removed as global
763 (open_files): Don't compute them.
764 (output_files): Adjust.
765 (base_name, short_base_name): Be global.
768 2000-12-19 Akim Demaille <akim@epita.fr>
770 * src/files.c (strsuffix): New.
771 (stringappend): Be just like strcat but allocate.
772 (base_names): Eve out from open_files.
773 Try to simplify the rather hairy computation of base_name and
775 (open_files): Use it.
776 * tests/suite.at (Checking output file names): New test.
778 2000-12-19 Akim Demaille <akim@epita.fr>
780 * src/system.h (obstack_grow_literal_string): Rename as...
781 (obstack_grow_string): this.
782 * src/output.c (output_parser): Recognize `%% actions' instead of
784 * src/bison.s1: s/$/%% actions/.
785 * src/bison.hairy: Likewise.
787 2000-12-19 Akim Demaille <akim@epita.fr>
789 * src/output.c (output_parser): Compute the `#line' lines when
791 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
792 Suggested by Hans Aberg.
794 2000-12-19 Akim Demaille <akim@epita.fr>
796 Let the handling of the skeleton files be local to the procedures
799 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
801 (fparser, open_extra_files): Remove.
802 (open_files, output_files): Don't take care of fparser.
803 * src/files.h: Adjust.
804 * src/output.c (output_parser): Open and close the file to the
806 * src/reader.c (read_declarations): When %semantic_parser, open
809 2000-12-19 Akim Demaille <akim@epita.fr>
811 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
812 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
814 2000-12-19 Akim Demaille <akim@epita.fr>
816 * src/files.c (open_files): Yipee! We no longer need all the code
817 looking for `/tmp' since we have no tmp file.
819 2000-12-19 Akim Demaille <akim@epita.fr>
821 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
823 * src/files.c (open_files): Less dependency on MSDOS etc.
825 2000-12-14 Akim Demaille <akim@epita.fr>
827 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
828 Provide a default definition.
829 Use it when executing the default @ action.
830 * src/reader.c (reader_output_yylsp): No longer include
831 `timestamp' and `text' in the default YYLTYPE.
833 2000-12-12 Akim Demaille <akim@epita.fr>
835 * src/reader.c (copy_definition, parse_union_decl, copy_action)
836 (copy_guard): Quote the file names.
837 Reported by Laurent Mascherpa.
839 2000-12-12 Akim Demaille <akim@epita.fr>
841 * src/output.c (output_headers, output_program, output): Be sure
842 to escape special characters when outputting filenames.
843 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
844 (output_headers): Don't depend on them, Use ACTSTR.
846 2000-11-17 Akim Demaille <akim@epita.fr>
848 * lib/obstack.h: Formatting changes.
849 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
850 prevents type checking.
851 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
852 cast the value to (void *): assigning a `foo *' to a `void *'
854 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
855 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
858 2000-11-17 Akim Demaille <akim@epita.fr>
860 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
862 (suite.m4, regression.m4, calc.m4): these.
863 * tests/atgeneral.m4: Update from CVS Autoconf.
865 2000-11-17 Akim Demaille <akim@epita.fr>
867 * tests/regression.m4 (%union and --defines): New test,
868 demonstrating a current bug in the obstack implementation.
870 2000-11-17 Akim Demaille <akim@epita.fr>
872 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
874 Use them to declare the variables which are global or local to
877 2000-11-17 Akim Demaille <akim@epita.fr>
879 * acconfig.h: Remove, no longer used.
881 2000-11-07 Akim Demaille <akim@epita.fr>
883 * src: s/Copyright (C)/Copyright/g.
885 2000-11-07 Akim Demaille <akim@epita.fr>
887 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
889 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
891 2000-11-07 Akim Demaille <akim@epita.fr>
893 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
894 Merge in a single CPP if/else.
896 2000-11-07 Akim Demaille <akim@epita.fr>
898 * src/output.c (output): Remove useless variables.
899 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
900 argument `data' for consistency with the prototypes.
902 (obstack_copy, obstack_copy0): Rename the second argument as
903 `address' for consistency. Qualify it `const'.
904 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
905 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
906 `const' their input argument (`data' or `address').
907 Adjust the corresponding macros to include `const' in casts.
909 2000-11-03 Akim Demaille <akim@epita.fr>
911 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
912 s/PFILE1/BISON_HAIRY/.
915 2000-11-03 Akim Demaille <akim@epita.fr>
917 For some reason, this was not applied.
919 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
920 `unlink': it's no longer used.
922 2000-11-03 Akim Demaille <akim@epita.fr>
924 * src/files.c (skeleton_find): New function, eved out of...
925 (open_files, open_extra_files): here.
927 2000-11-03 Akim Demaille <akim@epita.fr>
931 * src/files.c (obstack_save): New function.
933 (output_files): this.
935 * src/main.c (main): Don't use `atexit' to register `done', since
936 it no longer has to remove tmp files, just call `output_files'
937 when there are no errors.
939 2000-11-02 Akim Demaille <akim@epita.fr>
941 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
942 `unlink': it's no longer used.
943 * src/files.h: Formatting changes.
945 2000-11-02 Akim Demaille <akim@epita.fr>
947 Remove the last uses of mktemp and unlink/delete.
949 * src/files.c (fdefines, ftable): Removed.
950 (defines_ostack, table_obstack): New.
951 Adjust dependencies of the former into uses of the latter.
952 * src/output.c (output_short_or_char_table, output_short_table):
953 Convert to using obstacks.
954 * src/reader.c (copy_comment2): Accept one FILE * and two
956 (output_token_defines, reader_output_yylsp): Use obstacks.
957 * src/system.h (obstack_fgrow3): New.
959 2000-11-01 Akim Demaille <akim@epita.fr>
961 Change each use of `fattrs' into a use of `attrs_obstack'.
963 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
964 * src/files.c (fattrs): Remove.
965 (attrs_obstack): New.
966 Adjust all dependencies.
967 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
969 2000-11-01 Akim Demaille <akim@epita.fr>
972 Change each use of `faction' into a use of `action_obstack'.
974 * lib/obstack.h, lib/obstack.c: New files.
975 * src/files.c (faction): Remove.
976 (action_obstack): New.
977 Adjust all dependencies.
979 2000-10-20 Akim Demaille <akim@epita.fr>
981 * lib/quote.h (PARAMS): New macro. Use it.
983 2000-10-16 Akim Demaille <akim@epita.fr>
985 * src/output.c (output_short_or_char_table): New function.
986 (output_short_table, output_token_translations): Use it.
987 (goto_actions): Use output_short_table.
989 2000-10-16 Akim Demaille <akim@epita.fr>
991 * src/symtab.c (bucket_new): New function.
994 * src/output.c (output_short_table): New argument to display the
995 comment associated with the table.
997 (output_gram): Use it.
998 (output_rule_data): Nicer output layout for YYTNAME.
1000 2000-10-16 Akim Demaille <akim@epita.fr>
1002 * src/lex.c (read_typename): New function.
1004 * src/reader.c (copy_dollar): Likewise.
1006 2000-10-16 Akim Demaille <akim@epita.fr>
1008 * src/reader.c (copy_comment2): Expect the input stream to be on
1009 the `/' which is suspected to open a comment, instead of being
1010 called after `//' or `/*' was read.
1011 (copy_comment, copy_definition, parse_union_decl, copy_action)
1012 (copy_guard): Adjust.
1014 2000-10-16 Akim Demaille <akim@epita.fr>
1016 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
1017 `read_signed_integer'.
1019 2000-10-16 Akim Demaille <akim@epita.fr>
1021 * src/reader.c (copy_dollar): New function.
1022 (copy_guard, copy_action): Use it.
1024 2000-10-16 Akim Demaille <akim@epita.fr>
1026 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
1027 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
1028 New files, from Fileutils 4.0.27.
1029 * src/main.c (printable_version): Remove.
1030 * src/lex.c, src/reader.c: Use `quote'.
1032 2000-10-04 Akim Demaille <akim@epita.fr>
1034 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
1036 2000-10-04 Akim Demaille <akim@epita.fr>
1038 * doc/bison.texinfo: Various typos spotted by Neil Booth.
1040 2000-10-04 Akim Demaille <akim@epita.fr>
1042 When a literal string is used to define two different tokens,
1043 `bison -v' segfaults.
1044 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
1046 * tests/regression.m4: New file.
1047 Include the core of the sample provided by Piotr Gackiewicz.
1048 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
1051 2000-10-04 Akim Demaille <akim@epita.fr>
1053 * src/reader.c (parse_expect_decl): Keep `count' within the size
1057 2000-10-02 Paul Eggert <eggert@twinsun.com>
1059 * bison.s1 (yyparse): Assign the default value
1060 unconditionally, to avoid a GCC warning and make the parser a
1063 2000-10-02 Akim Demaille <akim@epita.fr>
1065 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
1068 2000-10-02 Akim Demaille <akim@epita.fr>
1070 * src/derives.c, src/print.c, src/reduce.c: To ease the
1071 translation, move some `\n' out of the translated strings.
1073 2000-10-02 Akim Demaille <akim@epita.fr>
1075 The location tracking mechanism is precious for parse error
1076 messages. Nevertheless, it is enabled only when `@n' is used in
1077 the grammar, which is a different issue (you can use it in error
1078 message, but not in the grammar per se). Therefore, there should
1079 be another means to enable it.
1081 * src/getargs.c (getargs): Support `--locations'.
1083 * src/getargs.h (locationsflag): Export it.
1084 * src/lex.c (percent_table): Support `%locations'.
1085 * src/reader.c (yylsp_needed): Remove this variable, now replaced
1086 with `locationsflag'.
1087 * doc/bison.texinfo: Document `--locations' and `%locations'.
1089 * tests/calc.m4: Test it.
1091 For regularity of the names, replace each
1092 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
1093 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
1094 In addition replace each `flag' with `_flag'.
1096 2000-10-02 Akim Demaille <akim@epita.fr>
1098 Also test parse error messages, including with YYERROR_VERBOSE.
1100 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
1102 Use it to check the computations.
1103 Use it to check `nonassoc' is honored.
1104 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
1105 `--yyerror-verbose'.
1106 (_AT_CHECK_CALC): Adjust to this option.
1107 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
1109 2000-10-02 Akim Demaille <akim@epita.fr>
1111 Test also `--verbose', `--defines' and `--name-prefix'. Testing
1112 the latter demonstrates a flaw in the handling of non debugging
1113 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
1114 was used in order to simplify:
1130 unfortunately this leads to a CPP conflict when
1131 `--name-prefix=foo' is used since it produces `#define yydebug
1134 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
1135 (YYDPRINTF): New macro.
1137 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
1139 Also test `--verbose', `--defines' and `--name-prefix'.
1141 2000-10-02 Akim Demaille <akim@epita.fr>
1143 Improve the readability of the produced parsers.
1145 * src/bison.s1: Formatting changes.
1146 Improve the comment related to the `$' mark.
1147 (yydefault): Don't fall through to `yyresume': `goto' there.
1148 * src/output.c (output_parser): When the `$' is met, skip the end
1150 New variable, `number_of_dollar_signs', to check there's exactly
1151 one `$' in the parser skeleton.
1153 2000-10-02 Akim Demaille <akim@epita.fr>
1155 * lib/xstrdup.c: New file, from the fileutils.
1156 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
1157 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
1158 instead of strlen + xmalloc + strcpy.
1159 * src/symtab.c (copys): Remove, use xstrdup instead.
1161 2000-10-02 Akim Demaille <akim@epita.fr>
1163 * src/gram.h (associativity): New enum type which replaces the
1164 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
1165 `right_assoc', `left_assoc' and `non_assoc'.
1166 Adjust all dependencies.
1167 * src/reader.c: Formatting changes.
1168 (LTYPESTR): Don't define it, use it as a literal in
1169 `reader_output_yylsp'.
1170 * src/symtab.h (symbol_class): New enum type which replaces the
1171 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
1172 `sunknown', `stoken and `snterm'.
1174 2000-10-02 Akim Demaille <akim@epita.fr>
1176 * src/getargs.c (fixed_outfiles): Rename as...
1177 (yaccflag): for consistency and accuracy.
1178 Adjust dependencies.
1180 2000-10-02 Akim Demaille <akim@epita.fr>
1182 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
1183 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
1184 difficult and introduced a lot of core dump. It turns out that
1185 Bison used an implementation of `xmalloc' based on `calloc', and
1186 at various places it does depend upon the initialization to 0. I
1187 have not tried to isolate the pertinent places, and all the former
1188 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
1189 someone should address this issue.
1191 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
1192 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
1194 Adjust dependencies.
1195 * src/warshall.h: New file.
1198 2000-10-02 Akim Demaille <akim@epita.fr>
1200 Various anti-`extern in *.c' changes.
1202 * src/system.h: Include `assert.h'.
1204 2000-10-02 Akim Demaille <akim@epita.fr>
1206 * src/state.h (nstates, final_state, first_state, first_shift)
1207 (first_reduction): Move their exportation from here...
1208 * src/LR0.h: to here.
1209 Adjust dependencies.
1210 * src/getargs.c (statisticsflag): New variable.
1211 Add support for `--statistics'.
1212 Adjust dependencies.
1214 Remove a lot of now useless `extern' statements in most files.
1216 2000-10-02 Akim Demaille <akim@epita.fr>
1218 * src/LR0.h: New file.
1221 2000-10-02 Akim Demaille <akim@epita.fr>
1223 * src/print.h: New file.
1225 * src/print.c: Formatting and ordering changes.
1226 (verbose, terse): Replace with...
1227 (print_results): this new function.
1228 Adjust dependencies.
1230 2000-10-02 Akim Demaille <akim@epita.fr>
1232 * src/conflicts.c (conflict_report): New function.
1233 (conflict_log, verbose_conflict_log): Replace with...
1234 (print_conflicts): this function.
1235 Adjust dependencies.
1236 * src/conflicts.h: New file.
1237 Propagate its inclusion.
1239 2000-10-02 Akim Demaille <akim@epita.fr>
1241 * src/nullable.h: New file.
1242 Propagate its inclusion.
1243 * src/nullable.c: Formatting changes.
1245 2000-10-02 Akim Demaille <akim@epita.fr>
1247 * src/reduce.h: New file.
1248 Propagate its inclusion.
1249 * src/reduce.c: Topological sort and other formatting changes.
1250 (bool, TRUE, FALSE): Move their definition to...
1251 * src/system.h: here.
1253 2000-10-02 Akim Demaille <akim@epita.fr>
1255 * src/files.c: Formatting changes.
1256 (tryopen, tryclose, openfiles): Rename as...
1257 (xfopen, xfclose, open_files): this.
1258 (stringappend): static.
1259 * src/files.h: Complete the list of exported symbols.
1262 2000-10-02 Akim Demaille <akim@epita.fr>
1264 * src/reader.h: New file.
1265 Propagate its use instead of tedious list of `extern' and
1267 * src/reader.c: Formatting changes, topological sort,
1270 2000-10-02 Akim Demaille <akim@epita.fr>
1272 * src/lex.h: Prototype `lex.c' exported functions.
1273 * src/reader.c: Adjust.
1274 * src/lex.c: Formatting changes.
1275 (safegetc): Rename as...
1278 2000-10-02 Akim Demaille <akim@epita.fr>
1280 * src/lalr.h: New file.
1281 Propagate its inclusion instead of prototypes and `extern'.
1282 * src/lalr.c: Formatting changes, topological sorting etc.
1284 2000-10-02 Akim Demaille <akim@epita.fr>
1286 * src/output.c (token_actions): Introduce a temporary array,
1287 YYDEFACT, that makes it possible for this function to use
1290 2000-10-02 Akim Demaille <akim@epita.fr>
1292 `user_toknums' is output as a `short[]' in `output.c', while it is
1293 defined as a `int[]' in `reader.c'. For consistency with the
1294 other output tables, `user_toknums' is now defined as a table of
1297 * src/reader.c (user_toknums): Be a short table instead of an int
1299 Adjust dependencies.
1301 Factor the short table outputs.
1303 * src/output.c (output_short_table): New function.
1304 * src/output.c (output_gram, output_stos, output_rule_data)
1305 (output_base, output_table, output_check): Use it.
1307 2000-10-02 Akim Demaille <akim@epita.fr>
1309 * src/output.c (output): Topological sort of the functions, in
1310 order to get rid of the `static' prototypes.
1311 No longer use `register'.
1312 * src/output.h: New file.
1313 Propagate its inclusion in files explicitly prototyping functions
1316 2000-09-21 Akim Demaille <akim@epita.fr>
1318 * src/atgeneral.m4: Update from Autoconf.
1320 2000-09-21 Akim Demaille <akim@epita.fr>
1322 * src/closure.h: New file.
1323 * src/closure.c: Formatting changes, topological sort over the
1324 functions, use of closure.h.
1325 (initialize_closure, finalize_closure): Rename as...
1326 (new_closure, free_closure): these. Adjust dependencies.
1327 * src/LR0.c: Formatting changes, topological sort, use of
1329 (initialize_states): Rename as...
1331 * src/Makefile.am (noinst_HEADERS): Adjust.
1333 2000-09-20 Akim Demaille <akim@epita.fr>
1335 * src/acconfig.h: Don't protect config.h against multiple
1337 Don't define PARAMS.
1338 * src/system.h: Define PARAMS.
1339 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
1340 purpose of config.h. system.h must not try to fix wrong
1341 definitions in config.h.
1343 2000-09-20 Akim Demaille <akim@epita.fr>
1345 * src/derives.h: New file.
1346 * src/main.c, src/derives.h: Use it.
1348 * src/Makefile.am (noinst_HEADERS): Adjust.
1350 2000-09-20 Akim Demaille <akim@epita.fr>
1352 * tests/atgeneral.m4: Update from Autoconf.
1353 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
1354 (AT_CHECK_CALC): New macros.
1355 Use these macros to test bison with options `', `--raw',
1356 `--debug', `--yacc', `--yacc --debug'.
1358 2000-09-19 Akim Demaille <akim@epita.fr>
1360 * src/output.c: Formatting changes.
1361 * src/machine.h: Remove, leaving its contents in...
1362 * src/system.h: here.
1364 Adjust all dependencies on stdio.h and machine.h.
1365 * src/getargs.h: New file.
1366 Let all `extern' declarations about getargs.c be replaced with
1367 inclusion of `getargs.h'.
1368 * src/Makefile.am (noinst_HEADERS): Adjust.
1370 * tests/calc.m4 (yyin): Be initialized in main, not on the global
1372 (yyerror): Returns void, not int.
1373 * doc/bison.texinfo: Formatting changes.
1375 2000-09-19 Akim Demaille <akim@epita.fr>
1377 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
1380 2000-09-18 Akim Demaille <akim@epita.fr>
1382 * configure.in: Append WARNING_CFLAGS to CFLAGS.
1383 * src/Makefile.am (INCLUDES): Don't.
1384 Be ready to fetch headers in lib/.
1386 2000-09-18 Akim Demaille <akim@epita.fr>
1388 * doc/bison.texinfo: Update the copyright.
1389 ANSIfy and GNUify the examples.
1390 Remove the old menu.
1392 2000-09-18 Akim Demaille <akim@epita.fr>
1394 First set of tests: use the `calc' example from the documentation.
1396 * src/bison.s1 (yyparse): Condition the code using `yytname' which
1397 is defined only when YYDEBUG is.
1398 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
1399 * src/files.c (tryopen, tryclose): Formatting changes.
1400 Move to the top and be static.
1401 * src/reader.c (read_signed_integer): Likewise.
1402 * tests/calc.m4: New file.
1403 * Makefile.am, suite.m4: Adjust.
1404 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
1406 2000-09-18 Akim Demaille <akim@epita.fr>
1408 Add support for an Autotest test suite for Bison.
1410 * m4/m4.m4, m4/atconfig.m4: New files.
1411 * m4/Makefile.am (EXTRA_DIST): Adjust.
1412 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
1414 * src/getargs.c: Display a more standard --version message.
1415 * src/reader.c (reader): Formatting changes.
1416 No longer depend upon VERSION_STRING.
1417 * configure.in: No longer use `dnl'.
1418 Set up the test suite and the new directory `tests/.
1419 (VERSION_STRING): Remove.
1421 2000-04-14 Akim Demaille <akim@epita.fr>
1423 * src/reader.c (copy_comment2): New function, same as former
1424 `copy_comment', but outputs into two FILE *.
1425 (copy_comment): Use it.
1426 (parse_union_decl): Use it.
1427 (get_type, parse_start_decl): Use the same `invalid' message.
1428 (parse_start_decl, parse_union_decl): Use the same `multiple'
1430 (parse_union_decl, copy_guard, copy_action): Use the same
1431 `unmatched' message.
1432 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
1434 2000-03-31 Akim Demaille <akim@epita.fr>
1436 * src/files.c (tryopen, tryclose): Move to the top.
1439 2000-03-31 Akim Demaille <akim@epita.fr>
1441 * src/main.c (main): Don't call `done', exit does it.
1443 2000-03-31 Akim Demaille <akim@epita.fr>
1445 * allocate.c: s/return (foo)/return foo/.
1448 * output.c: Likewise.
1449 * reader.c: Likewise.
1450 * symtab.c: Likewise.
1451 * vmsgetargs.c: Likewise.
1453 2000-03-31 Akim Demaille <akim@epita.fr>
1455 Clean up the error reporting functions.
1457 * src/report.c: New file.
1458 * src/report.h: Likewise.
1459 * src/Makefile.am: Adjust.
1460 * m4/error.m4: New file.
1461 * m4/Makefile.am: Adjust.
1462 * configure.in (jm_PREREQ_ERROR): Call it.
1463 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
1465 (fatal, fatals): Remove. All callers use complain.c::fatal.
1466 (warn, warni, warns, warnss, warnss): Remove. All callers use
1467 complain.c::complain.
1468 (toomany): Remove, use fatal instead.
1469 * src/files.c (done): No argument, use complain_message_count.
1470 * src/main.c (main): Register `done' to `atexit'.
1472 * src/getargs.c (usage): More `fputs', less `fprintf'.
1474 2000-03-28 Akim Demaille <akim@epita.fr>
1476 * lib/: New directory.
1477 * Makefile.am (SUBDIRS): Adjust.
1478 * configure.in: Adjust.
1479 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
1481 * src/alloca.c: Moved to lib/.
1482 * src/getopt.c: Likewise.
1483 * src/getopt1.c: Likewise.
1484 * src/getopt.h: Likewise.
1485 * src/ansi2knr.c: Likewise.
1486 * src/ansi2knr.1: Likewise.
1487 * src/Makefile.am: Adjust.
1488 * lib/Makefile.am: New file.
1490 2000-03-28 Akim Demaille <akim@epita.fr>
1492 * src/getargs.c (usage): Refresh the help message.
1494 2000-03-17 Akim Demaille <akim@epita.fr>
1496 * src/getopt1.c: Updated from textutils 2.0e
1497 * src/getopt.c: Likewise.
1498 * src/getopt.h: Likewise.
1500 2000-03-17 Akim Demaille <akim@epita.fr>
1502 * src/Makefile.am (bison.simple): Fix the awk program: quote only
1503 the file name, not the whole `#line LINE FILE'.
1505 2000-03-17 Akim Demaille <akim@epita.fr>
1507 On syntax errors, report the token on which we choked.
1509 * src/bison.s1 (yyparse): In the label yyerrlab, when
1510 YYERROR_VERBOSE, add yychar in msg.
1512 2000-03-17 Akim Demaille <akim@epita.fr>
1514 * src/reader.c (copy_at): New function.
1515 (copy_guard): Use it.
1516 (copy_action): Use it.
1518 2000-03-17 Akim Demaille <akim@epita.fr>
1520 Be kind to translators, save some useless translations.
1522 * src/main.c (banner): New function.
1523 (fatal_banner): Use it.
1524 (warn_banner): Use it.
1526 2000-03-17 Akim Demaille <akim@epita.fr>
1528 * src/reader.c (copy_definition): Use copy_string and
1529 copy_comment. Removed now unused `match', `ended',
1531 (copy_comment, copy_string): Moved, to be visible from
1534 2000-03-17 Akim Demaille <akim@epita.fr>
1536 * src/reader.c (copy_string): Declare `static inline'. No
1537 problems with inline, since it is checked by configure.
1538 (copy_comment): Likewise.
1540 2000-03-17 Akim Demaille <akim@epita.fr>
1542 * src/reader.c (packsymbols): Formatting changes.
1544 2000-03-17 Akim Demaille <akim@epita.fr>
1546 * src/reader.c (copy_comment): New function, factored out from:
1547 (copy_action): Use it. Removed now unused `match', `ended',
1549 (copy_guard): Likewise.
1551 2000-03-17 Akim Demaille <akim@epita.fr>
1553 * src/reader.c (copy_string): New function, factored out from:
1554 (copy_action): Use it.
1555 (copy_guard): Likewise.
1557 2000-03-17 Akim Demaille <akim@epita.fr>
1559 Change the handling of @s so that they behave exactly like $s.
1560 There is now a pseudo variable @$ (readble and writable), location
1561 of the lhs of the rule (by default ranging from the location of
1562 the first symbol of the rhs, to the location of the last symbol,
1563 or, if the rhs is empty, YYLLOC).
1565 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
1567 (yyparse): When providing a default semantic action, provide a
1568 default location action.
1569 (after the $): No longer change `*YYLSP', just stack YYLOC the
1570 same way you stack YYVAL.
1571 * src/reader.c (read_declarations): Use warns.
1572 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
1573 (copy_action, case '@'): Likewise.
1574 Use a standard error message, to save useless work from
1577 2000-03-17 Akim Demaille <akim@epita.fr>
1579 * src/bison.s1: Formatting and cosmetics changes.
1580 * src/reader.c: Likewise.
1581 Update the Copyright notice.
1583 2000-03-17 Akim Demaille <akim@epita.fr>
1585 * src/bison.s1 (#line): All set to `#line' only, since the
1586 Makefile now handles them.
1588 2000-03-16 Akim Demaille <akim@epita.fr>
1590 * src/output.c (output_rule_data): Output the documentation of
1592 (Copyright notice): Update.
1595 2000-03-16 Akim Demaille <akim@epita.fr>
1597 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
1598 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
1599 One `#if YYDEBUG' remains, since it uses variables which are
1600 defined only if `YYDEBUG != 0'.
1602 2000-03-16 Akim Demaille <akim@epita.fr>
1604 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
1605 and related variables so that the similarities are highlighted.
1607 2000-03-16 Akim Demaille <akim@epita.fr>
1609 * src/bison.s1: Properly indent CPP directives.
1611 2000-03-16 Akim Demaille <akim@epita.fr>
1613 * src/bison.s1: Properly indent the `alloca' CPP section.
1615 2000-03-16 Akim Demaille <akim@epita.fr>
1617 Do not hard code values of directories in `configure.in'.
1618 Update the `configure' tool chain.
1620 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
1622 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
1623 (AC_OUTPUT): Add m4/Makefile.
1624 Bump to bison 1.28a, 1.29 has never been released.
1625 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
1626 handled via src/Makefile.am.
1627 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
1628 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
1630 * Makefile.am (SUBDIRS): Add m4.
1631 (ACLOCAL_AM_FLAGS): New variable.
1632 (AUTOMAKE_OPTIONS): Add check-news.
1633 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
1634 the proper line number and file name.
1635 (DEFS): Propagate the location of bison library files and of the
1637 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
1639 * acinclude.m4: Remove, replaced by the directory m4.
1640 * m4/Makefile.am (EXTRA_DIST): New variable.
1641 * m4/gettext.m4: New file, from the fileutils.
1642 * m4/lcmessage.m4: Likewise
1643 * m4/progtest.m4: Likewise.
1644 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
1646 2000-03-10 Akim Demaille <akim@epita.fr>
1649 Formatting changes of various comments.
1650 Respect the GNU coding standards at various places.
1651 Don't use `_()' when no translation is needed.
1653 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1656 OS/2 honors TMPDIR environment variable.
1658 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1660 * doc/bison.texinfo: Tweaked spelling and grammar.
1662 Removed reference to price of printed copy.
1663 Mention BISON_SIMPLE and BISON_HAIRY.
1665 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1667 * configure.in, NEWS:
1668 Bison 1.29 released.
1670 1999-10-27 Jesse Thilo <jthilo@gnu.org>
1672 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
1673 Added reference card.
1675 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1677 * po/ru.po: Added Russian translation.
1679 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1681 * configure.in: Added Russian translation.
1683 1999-07-06 Jesse Thilo <jthilo@gnu.org>
1685 * configure.in, NEWS, README:
1686 Released version 1.28.
1688 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1691 Squashed redefinition warning on some systems.
1693 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
1694 Have configure build version string instead of relying on ANSI string
1697 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1699 * po/POTFILES.in: Got rid of version.c.
1701 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1703 * acconfig.h, configure.in:
1704 Have configure build version string instead of relying on ANSI string
1707 1999-06-08 Jesse Thilo <jthilo@gnu.org>
1710 Dropped mention of `+' for long-named options.
1712 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1714 * src/files.c: Added <unistd.h> for unlink().
1716 * src/Makefile.am, src/system.h:
1719 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1721 * README: Added a FAQ list.
1723 * configure.in, acconfig.h:
1726 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1728 * doc/FAQ, doc/Makefile.am:
1731 1999-05-19 Jesse Thilo <jthilo@gnu.org>
1733 * src/alloc.h, src/symtab.h, src/version.c:
1734 Protected inclusion of "config.h" with HAVE_CONFIG_H.
1736 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1738 * src/.cvsignore, src/Makefile.am:
1739 Reorganized: sources in `src', documentation in `doc'.
1741 * src/lex.c (literalchar):
1742 fixed the code for escaping double quotes (thanks
1745 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1747 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
1748 Adjusted paths to reflect directory reorganization.
1750 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1752 * doc/.cvsignore, doc/Makefile.am:
1753 Reorganized: sources in `src', documentation in `doc'.
1755 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1758 Updated AC_INIT file to reflect directory reorganization.
1760 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
1761 Reorganized: sources in `src', documentation in `doc'.
1763 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1766 Don't declare calloc() and realloc() if not necessary.
1768 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1770 * configure.in, acconfig.h, acinclude.m4:
1771 Don't declare calloc() and realloc() if not necessary.
1773 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1775 * po/.cvsignore: Added i18n support.
1777 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1779 * acconfig.h, configure.in, Makefile.am:
1782 1999-03-22 Jesse Thilo <jthilo@gnu.org>
1784 * src/bison.s1: Fixed #line numbers.
1786 1999-03-15 Jesse Thilo <jthilo@gnu.org>
1788 * po/es.po, po/fr.po, po/nl.po, po/de.po:
1789 Added PO files from Translation Project.
1791 1999-03-03 Jesse Thilo <jthilo@gnu.org>
1794 Added support for non-ANSI compilers (ansi2knr).
1796 1999-02-16 Jesse Thilo <jthilo@gnu.org>
1798 * configure.in: Bumped version number to 1.27.
1801 Added `bison.simple' to list of files removed by `make distclean'.
1803 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1805 * src/files.c, src/files.h:
1806 Defined locations of parser files in config.h instead of Makefile.
1808 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1810 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
1811 Defined locations of parser files in config.h instead of Makefile.
1813 1999-02-09 Jesse Thilo <jthilo@gnu.org>
1816 Removed inappropriate use of $< macro.
1818 1999-02-05 Jesse Thilo <jthilo@gnu.org>
1820 * po/Makefile.in.in, po/POTFILES.in:
1821 Add `po' directory skeleton.
1823 1999-01-27 Jesse Thilo <jthilo@gnu.org>
1825 * README: Document help-bison list.
1827 * configure.in: Add check for mkstemp().
1829 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1831 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
1832 Hush a few compiler warnings.
1835 Add tryclose(), which verifies that fclose was successful.
1836 Hush a couple of compiler warnings.
1838 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1840 * Makefile.am, OChangeLog:
1841 ChangeLog is now automatically generated. Include the old version as
1844 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1846 * src/gram.h, src/lalr.c, src/lex.c, src/lex.h, src/machine.h, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/state.h, src/symtab.c, src/symtab.h, src/types.h, src/vmsgetargs.c, src/warshall.c, src/allocate.c, src/alloc.h, src/bison.s1, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/files.h, src/getargs.c, src/gram.c, src/LR0.c:
1849 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1851 * doc/bison.texinfo: Fix formatting glitch.
1853 * doc/bison.texinfo: Update FSF address.
1855 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1857 * acconfig.h: Update FSF address.
1859 1999-01-08 Jesse Thilo <jthilo@gnu.org>
1862 Don't define PACKAGE here, since config.h defines it.
1864 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1866 * src/reader.c: Update copyright date.
1869 Ditch sprintf to statically-sized buffers in fatal/warn functions in
1870 favor of output directly to stderr (avoids buffer overruns).
1872 * src/reader.c: Some checks for premature EOF.
1874 * src/allocate.c, src/alloc.h, src/closure.c, src/conflicts.c, src/derives.c, src/getargs.c, src/gram.c, src/lalr.c, src/lex.c, src/LR0.c, src/main.c, src/nullable.c, src/output.c, src/print.c, src/reduce.c, src/symtab.c, src/symtab.h, src/warshall.c:
1875 Use prototypes if the compiler understands them.
1877 * src/files.c: Honor TMPDIR on Unix hosts.
1878 Use prototypes if the compiler understands them.
1881 Fix a couple of buffer overrun bugs.
1882 Use prototypes if the compiler understands them.
1884 * src/system.h: Include unistd.h and ctype.h.
1885 Use #ifdef instead of #if for NLS symbols.
1887 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1889 * doc/bison.texinfo:
1890 Delete comment "consider using @set for edition number, etc..." since
1891 we now are doing so.
1893 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1896 Use prototypes if the compiler understands them.
1898 * NEWS: Document 1.26 highlights.
1900 * Makefile.am: Require Automake 1.3 or later.
1903 Use prototypes if the compiler understands them.
1905 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1908 Use VERSION symbol from automake for version number.
1910 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1912 * acconfig.h, configure.in, version.cin:
1913 Use VERSION symbol from automake for version number.
1915 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1918 Distribute original version of simple parser (bison.s1), not built
1919 version (bison.simple).
1921 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1923 * doc/bison.texinfo: Add info dir entry.
1925 * doc/bison.texinfo:
1926 Let automake put version number into documentation.
1928 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1930 * src/bison.cld, src/build.com, src/vmshlp.mar:
1931 Add non-RCS files from /gd/gnu/bison.
1933 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1936 Document the BISON_HAIRY and BISON_SIMPLE variables.
1938 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1940 * src/version.c: Build version.c automatically.
1943 Fix token numbering (used to start at 258, not 257).
1945 * src/system.h: Include config.h.
1947 * src/getargs.c: Update bug report address.
1949 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
1950 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
1952 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1955 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1957 * configure.in, version.cin:
1958 Build version.c automatically.
1960 * AUTHORS: Add AUTHORS file.
1962 * README: Update bug report address.
1965 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1967 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
1970 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1972 * doc/bison.texinfo: Clean up some formatting.
1974 1998-05-05 Richard Stallman <rms@gnu.org>
1976 * doc/bison.texinfo:
1977 Explain better why to make a pure parser.
1979 1998-01-05 Richard Stallman <rms@gnu.org>
1981 * src/files.c (openfiles):
1982 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
1983 find a temporary directory, if possible. Do not unlink files while
1986 1997-08-25 Richard Stallman <rms@gnu.org>
1988 * src/reader.c (stack_offset;):
1989 Change some warni to warns.
1991 * src/lex.c (literalchar): Use warns, not warni.
1993 1997-06-28 Richard Stallman <rms@gnu.org>
1995 * src/bison.s1: Add a Bison version comment.
1997 * src/main.c (fatal, warn, berror):
2000 1997-06-28 Richard Stallman <rms@gnu.org>
2002 * Makefile.in (bison_version): New variable.
2003 (dist): Use that variable.
2004 (bison.s1): Substitute the Bison version into bison.simple.
2006 * bison.simple: Add a Bison version comment.
2008 1997-06-18 Richard Stallman <rms@gnu.org>
2010 * src/main.c (fatal, warn, berror):
2011 Make error messages standard.
2012 (toomany): Improve error message text.
2014 * src/LR0.c, src/closure.c, src/conflicts.c, src/derives.c, src/files.c, src/lalr.c, src/lex.c, src/nullable.c, src/output.c, src/print.c, src/reader.c, src/reduce.c, src/symtab.c:
2015 new.h renamed to alloc.h.
2017 1997-06-18 Richard Stallman <rms@gnu.org>
2019 * Makefile.in: new.h renamed to alloc.h.
2021 1997-05-24 Richard Stallman <rms@gnu.org>
2023 * src/lex.c (literalchar):
2024 Fix the code for escaping \, " and '.
2026 (lex): Avoid trouble when there are many chars
2027 to discard in a char literal with just several chars in it.
2029 1997-05-17 Richard Stallman <rms@gnu.org>
2032 Use malloc, if using alloca is troublesome.
2033 (YYSTACK_USE_ALLOCA): New flag macro.
2034 Define it for some systems and compilers.
2035 (YYSTACK_ALLOC): New macro.
2036 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2037 If it was malloc'd, free it.
2039 1997-05-17 Richard Stallman <rms@gnu.org>
2042 Use malloc, if using alloca is troublesome.
2043 (YYSTACK_USE_ALLOCA): New flag macro.
2044 Define it for some systems and compilers.
2045 (YYSTACK_ALLOC): New macro.
2046 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2047 If it was malloc'd, free it.
2049 1997-04-23 Richard Stallman <rms@gnu.org>
2052 (alloca) [__hpux]: Always define as __builtin_alloca.
2054 1997-04-23 Richard Stallman <rms@gnu.org>
2057 (alloca) [__hpux]: Always define as __builtin_alloca.
2059 1997-04-22 Richard Stallman <rms@gnu.org>
2062 [__hpux]: Include alloca.h (right for HPUX 10)
2063 instead of declaring alloca (right for HPUX 9).
2065 * src/bison.s1 (__yy_memcpy):
2066 Declare arg `count' as unsigned int.
2067 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2069 1997-04-22 Richard Stallman <rms@gnu.org>
2072 [__hpux]: Include alloca.h (right for HPUX 10)
2073 instead of declaring alloca (right for HPUX 9).
2075 * bison.simple (__yy_memcpy):
2076 Declare arg `count' as unsigned int.
2077 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2079 1997-01-03 Richard Stallman <rms@gnu.org>
2081 * src/allocate.c: [__STDC__ or _MSC_VER]:
2082 Declare calloc and realloc to return void *.
2084 1997-01-02 Richard Stallman <rms@gnu.org>
2087 [_MSC_VER]: Include stdlib.h and process.h.
2088 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
2090 * src/main.c (main): Return FAILURE as a value.
2091 (printable_version): Declare arg as int, not char.
2093 1997-01-02 Richard Stallman <rms@gnu.org>
2095 * Makefile.in (dist):
2096 Explicitly check for symlinks, and copy them.
2098 1996-12-19 Richard Stallman <rms@gnu.org>
2101 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
2103 1996-12-18 Paul Eggert <eggert@gnu.org>
2105 * src/bison.s1 (yyparse):
2106 If __GNUC__ and YYPARSE_PARAM are both defined,
2107 declare yyparse to have a void * argument.
2109 1996-12-18 Paul Eggert <eggert@gnu.org>
2111 * bison.simple (yyparse):
2112 If __GNUC__ and YYPARSE_PARAM are both defined,
2113 declare yyparse to have a void * argument.
2115 1996-12-17 Richard Stallman <rms@gnu.org>
2117 * src/reduce.c (nbits): Add some casts.
2119 1996-08-12 Richard Stallman <rms@gnu.org>
2121 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
2123 1996-08-12 Richard Stallman <rms@gnu.org>
2125 * bison.simple: Test _MSDOS as well as _MSDOS_.
2127 1996-07-31 Richard Stallman <rms@gnu.org>
2130 [__sun && __i386]: Include alloca.h.
2132 1996-07-31 Richard Stallman <rms@gnu.org>
2135 [__sun && __i386]: Include alloca.h.
2137 1996-07-30 Richard Stallman <rms@gnu.org>
2139 * src/bison.s1: Comment change.
2141 * src/bison.s1: Test _MSDOS_, not MSDOS.
2143 1996-07-30 Richard Stallman <rms@gnu.org>
2145 * bison.simple: Comment change.
2147 * bison.simple: Test _MSDOS_, not MSDOS.
2149 1996-06-01 Richard Stallman <rms@gnu.org>
2151 * src/reduce.c, src/reader.c, src/print.c, src/output.c, src/nullable.c, src/lex.c, src/lalr.c, src/getargs.c, src/derives.c, src/conflicts.c, src/closure.c, src/allocate.c:
2152 Insert `_' macro around many string constants.
2155 Insert `_' macro around many string constants.
2157 (main): Call setlocale, bindtextdomain and textdomain.
2159 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
2160 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
2161 [ENABLE_NLS]: Include libintl.h.
2162 [ENABLE_NLS] (gettext): Define.
2163 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
2164 (N_, PACKAGE, LOCALEDIR): New macros.
2166 1996-06-01 Richard Stallman <rms@gnu.org>
2168 * POTFILES.in: New file.
2170 * Makefile.in (allocate.o):
2171 Define target explicitly.
2173 * Makefile.in (CFLAGS): Set to @CFLAGS@.
2174 (LDFLAGS): Set to @LDFLAGS@.
2175 (configure): Run autoconf only if preceding `cd' succeeds.
2176 (bison.s1): Redirect output to temporary file then move the
2177 temporary to the target, rather than redirecting directly to bison.s1.
2178 (clean): Remove config.status and config.log.
2179 (distclean): Don't remove config.status here.
2181 1996-05-12 Richard Stallman <rms@gnu.org>
2184 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2186 1996-05-12 Richard Stallman <rms@gnu.org>
2189 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2191 1996-05-11 Richard Stallman <rms@gnu.org>
2193 * src/bison.s1 (__yy_memcpy):
2194 Really reorder the args, as was supposedly done on Feb 14 1995.
2195 (yyparse): Calls changed accordingly.
2197 1996-05-11 Richard Stallman <rms@gnu.org>
2199 * Makefile.in (dist): Don't use $(srcdir).
2201 * bison.simple (__yy_memcpy):
2202 Really reorder the args, as was supposedly done on Feb 14 1995.
2203 (yyparse): Calls changed accordingly.
2205 1996-01-27 Richard Stallman <rms@gnu.org>
2207 * src/output.c (output_rule_data):
2208 Test YYERROR_VERBOSE in the conditional
2209 around the definition of ttyname.
2211 1995-12-29 Richard Stallman <rms@gnu.org>
2214 Fix line numbers in #line commands.
2216 1995-12-29 Richard Stallman <rms@gnu.org>
2219 Fix line numbers in #line commands.
2221 1995-12-27 Richard Stallman <rms@gnu.org>
2223 * src/bison.s1 (YYPARSE_PARAM_DECL):
2224 In C++, make it always null.
2225 (YYPARSE_PARAM_ARG): New macro.
2226 (yyparse): Use YYPARSE_PARAM_ARG.
2228 1995-12-27 Richard Stallman <rms@gnu.org>
2230 * bison.simple (YYPARSE_PARAM_DECL):
2231 In C++, make it always null.
2232 (YYPARSE_PARAM_ARG): New macro.
2233 (yyparse): Use YYPARSE_PARAM_ARG.
2235 1995-11-29 Richard Stallman <rms@gnu.org>
2237 * doc/bison.texinfo:
2238 Describe literal string tokens, %raw, %no_lines, %token_table.
2240 1995-11-29 Daniel Hagerty <hag@gnu.org>
2242 * doc/bison.texinfo: Fixed update date
2244 1995-10-16 Richard Stallman <rms@gnu.org>
2246 * src/version.c: Version 1.25.
2248 1995-10-16 Richard Stallman <rms@gnu.org>
2250 * NEWS: *** empty log message ***
2252 1995-10-16 Richard Stallman <rms@gnu.org>
2254 * doc/bison.1, doc/bison.rnh:
2257 1995-10-15 Richard Stallman <rms@gnu.org>
2259 * src/vmsgetargs.c, src/getargs.c:
2260 Added -n, -k, and -raw switches.
2261 (noparserflag, toknumflag, rawtoknumflag): New variables.
2263 * src/symtab.h (SALIAS):
2264 New #define for adding aliases to %token.
2265 (struct bucket): Added `alias' field.
2267 * src/reduce.c (reduce_grammar):
2268 Revise error message.
2269 (print_notices): Remove final `.' from error message.
2271 * src/reader.c (reader_output_yylsp):
2273 (readgram): Use `#if 0' around code that accepted %command
2274 inside grammar rules: The documentation doesn't allow it,
2275 and it will fail since the %command processors scan for the next %.
2276 (parse_token_decl): Extended the %token
2277 declaration to allow a multi-character symbol as an alias.
2278 (parse_thong_decl): New function.
2279 (read_declarations): Added %thong declarations.
2280 (read_declarations): Handle NOOP to deal with allowing
2281 % declarations as another means to specify the flags.
2282 (readgram): Allow %prec prior to semantics embedded in a rule.
2283 (skip_to_char, read_declarations, copy_definition)
2284 (parse_token_decl, parse_start_decl, parse_type_decl)
2285 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
2286 (get_type_name, copy_guard, copy_action, readgram)
2287 (get_type, packsymbols): Revised most error messages.
2288 Changed `fatal' to `warnxxx' to avoid aborting for error.
2289 Revised and use multiple warnxxx functions to avoid using VARARGS1.
2290 (read_declarations): Improve the error message for
2291 an invalid character. Do not abort.
2292 (read_declarations, copy_guard, copy_action): Use
2293 printable_version to avoid unprintable characters in printed output.
2294 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
2295 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
2296 Allow the type of a non-terminal can be given
2297 more than once, as long as all specifications give the same type.
2300 (output_headers, output_trailers, output, output_gram)
2301 (output_rule_data): Implement noparserflag variable.
2302 Implement toknumflag variable.
2303 (output): Call reader_output_yylsp to output LTYPESTR.
2305 * src/main.c (main):
2306 If reader sees an error, don't process the grammar.
2307 (fatals): Updated to not use VARARGS1.
2308 (printable_version, int_to_string, warn, warni, warns, warnss)
2309 (warnsss): New error reporting functions. Avoid abort for error.
2312 Added THONG and NOOP for alias processing.
2313 Added SETOPT for the new code that allows setting options with %flags.
2316 Include getopt.h. Add some extern decls.
2317 (safegetc): New function to deal with EOF gracefully.
2318 (literalchar); new function to deal with reading \ escapes.
2319 (lex): Use literalchar.
2320 (lex): Implemented "..." tokens.
2321 (literalchar, lex, parse_percent_token): Made tokenbuffer
2322 always contain the token. This includes growing the token
2323 buffer while reading an integer.
2324 (parse_percent_token): Replaced if-else statement with percent_table.
2325 (parse_percent_token): Added % declarations as another
2326 way to specify the flags -n, -l, and -r. Also added hooks for
2327 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
2328 major changes to files.c.
2329 (lex) Retain in the incoming stream a character following
2331 (skip_white_space, lex): Revised most error messages
2332 and changed fatal to warn to avoid aborting.
2333 (percent_table): Added %thong declarations.
2335 * src/gram.h: Comment changes.
2337 * src/files.c (openfiles, open_extra_files, done):
2339 and actfile file. Handle noparserflag. Both for -n switch.
2341 * src/conflicts.c (resolve_sr_conflict):
2342 Remove use of alloca.
2344 1995-06-01 Jim Meyering <meyering@gnu.org>
2346 * doc/bison.texinfo: *** empty log message ***
2348 1995-05-06 Richard Stallman <rms@gnu.org>
2350 * src/bison.s1: Comment change.
2352 1995-05-06 Richard Stallman <rms@gnu.org>
2354 * bison.simple: Comment change.
2356 1995-05-03 Richard Stallman <rms@gnu.org>
2358 * src/version.c: Version now 1.24.
2360 * src/bison.s1: Change distribution terms.
2362 * src/version.c: Version now 1.23.
2364 1995-05-03 Richard Stallman <rms@gnu.org>
2366 * doc/bison.texinfo:
2367 Rewrite "Conditions for Using Bison".
2368 Update version to 1.24.
2370 1995-05-03 Richard Stallman <rms@gnu.org>
2372 * bison.simple: Change distribution terms.
2374 1995-02-23 Richard Stallman <rms@gnu.org>
2376 * src/files.c: Test __VMS_POSIX as well as VMS.
2378 1995-02-14 Jim Meyering <meyering@gnu.org>
2380 * src/bison.s1 (__yy_memcpy):
2381 Renamed from __yy_bcopy to avoid
2382 confusion. Reverse FROM and TO arguments to be consistent with
2385 1995-02-14 Jim Meyering <meyering@gnu.org>
2387 * bison.simple (__yy_memcpy):
2388 Renamed from __yy_bcopy to avoid
2389 confusion. Reverse FROM and TO arguments to be consistent with
2392 1994-11-10 David J. MacKenzie <djm@gnu.org>
2398 * Makefile.in (DISTFILES): Include NEWS.
2400 * Makefile.in (DISTFILES):
2401 Include install-sh, not install.sh.
2403 * configure.in: Update to Autoconf v2 macro names.
2405 1994-10-05 David J. MacKenzie <djm@gnu.org>
2407 * Makefile.in: fix typo
2409 * Makefile.in (prefix, exec_prefix):
2410 Let configure set them.
2412 1994-09-28 David J. MacKenzie <djm@gnu.org>
2414 * Makefile.in: Set datadir to $(prefix)/share.
2416 1994-09-15 Richard Stallman <rms@gnu.org>
2419 Update copyright notice and GPL version.
2421 1994-09-15 Richard Stallman <rms@gnu.org>
2424 Update copyright notice and GPL version.
2426 1994-07-12 Richard Stallman <rms@gnu.org>
2428 * src/reduce.c, src/reader.c:
2431 1994-05-05 David J. MacKenzie <djm@gnu.org>
2433 * Makefile.in: entered into RCS
2435 1994-03-26 Richard Stallman <rms@gnu.org>
2437 * src/bison.s1: entered into RCS
2439 1994-03-26 Richard Stallman <rms@gnu.org>
2441 * bison.simple: entered into RCS
2443 1994-03-25 Richard Stallman <rms@gnu.org>
2445 * src/main.c: entered into RCS
2447 1994-03-24 Richard Stallman <rms@gnu.org>
2449 * src/conflicts.c: entered into RCS
2451 1994-01-02 Richard Stallman <rms@gnu.org>
2453 * Makefile.in: *** empty log message ***
2455 1993-11-21 Richard Stallman <rms@gnu.org>
2457 * src/bison.s1: *** empty log message ***
2459 1993-11-21 Richard Stallman <rms@gnu.org>
2461 * doc/bison.texinfo: entered into RCS
2463 * doc/bison.texinfo: *** empty log message ***
2465 1993-11-21 Richard Stallman <rms@gnu.org>
2467 * bison.simple: *** empty log message ***
2469 1993-10-25 David J. MacKenzie <djm@gnu.org>
2471 * doc/bison.texinfo: *** empty log message ***
2473 1993-10-19 Richard Stallman <rms@gnu.org>
2475 * src/bison.s1: *** empty log message ***
2477 1993-10-19 Richard Stallman <rms@gnu.org>
2479 * bison.simple: *** empty log message ***
2481 1993-10-14 Richard Stallman <rms@gnu.org>
2483 * src/bison.s1: *** empty log message ***
2485 1993-10-14 Richard Stallman <rms@gnu.org>
2487 * bison.simple: *** empty log message ***
2489 1993-09-14 David J. MacKenzie <djm@gnu.org>
2491 * doc/bison.texinfo: *** empty log message ***
2493 1993-09-13 Noah Friedman <friedman@gnu.org>
2495 * Makefile.in: *** empty log message ***
2497 1993-09-10 Richard Stallman <rms@gnu.org>
2499 * src/conflicts.c: *** empty log message ***
2501 * src/system.h: entered into RCS
2503 1993-09-10 Richard Stallman <rms@gnu.org>
2505 * doc/bison.1: entered into RCS
2507 1993-09-06 Noah Friedman <friedman@gnu.org>
2509 * src/version.c: entered into RCS
2511 1993-09-06 Noah Friedman <friedman@gnu.org>
2513 * Makefile.in: *** empty log message ***
2515 1993-07-30 David J. MacKenzie <djm@gnu.org>
2517 * Makefile.in: *** empty log message ***
2519 1993-07-24 Richard Stallman <rms@gnu.org>
2521 * src/bison.s1: *** empty log message ***
2523 1993-07-24 Richard Stallman <rms@gnu.org>
2525 * bison.simple: *** empty log message ***
2527 1993-07-08 David J. MacKenzie <djm@gnu.org>
2529 * Makefile.in: *** empty log message ***
2531 1993-07-04 Richard Stallman <rms@gnu.org>
2533 * src/bison.s1: *** empty log message ***
2535 1993-07-04 Richard Stallman <rms@gnu.org>
2537 * bison.simple: *** empty log message ***
2539 1993-06-26 David J. MacKenzie <djm@gnu.org>
2541 * src/getargs.c: entered into RCS
2543 1993-06-26 David J. MacKenzie <djm@gnu.org>
2545 * doc/bison.texinfo: *** empty log message ***
2547 * doc/bison.1: New file.
2549 1993-06-25 Richard Stallman <rms@gnu.org>
2551 * src/getargs.c: New file.
2553 1993-06-16 Richard Stallman <rms@gnu.org>
2555 * src/bison.s1: *** empty log message ***
2557 1993-06-16 Richard Stallman <rms@gnu.org>
2559 * bison.simple: *** empty log message ***
2561 1993-06-03 Richard Stallman <rms@gnu.org>
2563 * src/bison.s1: New file.
2565 1993-06-03 Richard Stallman <rms@gnu.org>
2567 * doc/bison.texinfo: *** empty log message ***
2569 1993-06-03 Richard Stallman <rms@gnu.org>
2571 * bison.simple: New file.
2573 1993-05-19 Richard Stallman <rms@gnu.org>
2575 * doc/bison.texinfo: New file.
2577 1993-05-07 Noah Friedman <friedman@gnu.org>
2579 * Makefile.in: *** empty log message ***
2581 1993-04-28 Noah Friedman <friedman@gnu.org>
2583 * src/reader.c: *** empty log message ***
2585 1993-04-23 Noah Friedman <friedman@gnu.org>
2587 * src/alloc.h: entered into RCS
2589 1993-04-20 David J. MacKenzie <djm@gnu.org>
2591 * src/version.c: *** empty log message ***
2593 * src/files.c, src/allocate.c:
2596 * src/reader.c: *** empty log message ***
2598 * src/lex.c: entered into RCS
2600 * src/conflicts.c: New file.
2602 * src/symtab.c: entered into RCS
2604 * src/alloc.h: New file.
2606 * src/LR0.c: entered into RCS
2608 1993-04-18 Noah Friedman <friedman@gnu.org>
2610 * src/reader.c: New file.
2612 * src/version.c: *** empty log message ***
2614 1993-04-18 Noah Friedman <friedman@gnu.org>
2616 * Makefile.in: *** empty log message ***
2618 1993-04-17 Noah Friedman <friedman@gnu.org>
2620 * Makefile.in: *** empty log message ***
2622 1993-04-15 Richard Stallman <rms@gnu.org>
2624 * src/main.c, src/files.c:
2627 1993-04-15 Noah Friedman <friedman@gnu.org>
2629 * configure.in: entered into RCS
2631 * configure.in: *** empty log message ***
2633 * configure.in: New file.
2635 1993-04-14 Richard Stallman <rms@gnu.org>
2637 * Makefile.in: New file.
2639 1993-04-13 Richard Stallman <rms@gnu.org>
2641 * src/version.c: New file.
2643 1993-03-25 Richard Stallman <rms@gnu.org>
2645 * src/output.c: entered into RCS
2647 1992-09-25 Richard Stallman <rms@gnu.org>
2649 * configure.bat: entered into RCS
2651 1992-06-22 Richard Stallman <rms@gnu.org>
2653 * src/vmsgetargs.c: entered into RCS
2655 1992-06-22 Richard Stallman <rms@gnu.org>
2657 * doc/bison.rnh: entered into RCS
2659 1992-04-20 David J. MacKenzie <djm@gnu.org>
2661 * README: entered into RCS
2663 1992-01-22 Richard Stallman <rms@gnu.org>
2665 * src/machine.h: entered into RCS
2667 1991-12-21 Richard Stallman <rms@gnu.org>
2669 * src/lalr.c, src/closure.c:
2672 1991-12-20 Richard Stallman <rms@gnu.org>
2674 * src/state.h: entered into RCS
2676 1991-12-18 Richard Stallman <rms@gnu.org>
2678 * src/print.c, src/nullable.c, src/derives.c:
2681 1991-11-03 David J. MacKenzie <djm@gnu.org>
2683 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
2686 1988-09-09 Richard Stallman <rms@gnu.org>
2688 * src/bison.hairy: entered into RCS
2690 1987-12-16 Richard Stallman <rms@gnu.org>
2692 * REFERENCES: entered into RCS