1 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
3 * src/bison.simple: Add new `#line' directive.
5 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
7 * src/bison.simple: New `#line' directive.
8 * src/output.c (output_parser): Support new dynamic muscle input_line.
10 2001-09-22 Marc Autret <autret_m@epita.fr>
12 * src/output.c (output_master_parser): New.
13 (output_parser): Be more re-entrant.
15 2001-09-21 Marc Autret <autret_m@epita.fr>
17 * src/reader.c (copy_definition, parse_union_decl): Update and use
19 (copy_action): Likewise.
21 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
23 2001-09-21 Marc Autret <autret_m@epita.fr>
25 * src/options.c (option_table): Adjust.
26 * src/lex.c (parse_percent_token): Fix.
28 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
30 * src/options.c (symtab.h): Include it, need by lex.h.
32 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
34 * src/lex.c (parse_percent_token): Change type of variable `tx', which
35 is now an option_table_struct*.
36 (option_strcmp): New function option_strcmp.
37 (parse_percent_token): Call option_strcmp.
38 * src/getargs.c (xalloc.h, options.h): Include it.
39 (getargs): Call create_long_option_table.
40 (getargs): Free longopts at the end of the function.
41 (shortopts): Move in options.c.
42 * src/options.c (create_long_option_table): New function. Convert
43 information from option_table to option structure.
44 * src/reader.c (options.h): Include it.
46 * src/Makefile.am: Adjust.
47 * src/options.c (option_table): Create from longopts and percent_table.
48 * src/getargs.c (longopts): Delete.
49 * src/lex.c (struct percent_table_struct): Delete.
50 (percent_table): Delete.
51 (options.h): Include it.
52 * src/options.c: Create.
53 * src/options.h: Create.
54 Declare enum opt_access_e.
55 Define struct option_table_struct.
57 2001-09-20 Marc Autret <autret_m@epita.fr>
59 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
62 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
64 * src/bison.simple: s/%%filename/%%skeleton.
65 * src/muscle_tab.c (getargs.h): Include it.
66 (muscle_init): Insert new muscle skeleton.
68 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
70 * src/output.c (output_parser): Delete unused variable actions_dumped.
72 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
74 * src/output.c (output): Delete call to reader_output_yylsp.
75 * src/reader.c (reader): Likewise.
76 * src/reader.h: Delete declaration of reader_output_yylsp.
78 2001-09-02 Marc Autret <autret_m@epita.fr>
80 * src/reader.c: Include muscle_tab.h.
81 (parse_union_decl): Update.
82 (parse_macro_decl): Rename parse_muscle_decl.
83 Update to use renamed functions and variable.
84 (read_declarations, copy_action, read_additionnal_code, : Updated
85 with correct variables and functions names.
86 (packsymbols, reader): Likewise.
88 * src/reader.h (muscle_obstack): Extern declaration update.
90 * src/output.c: Include muscle_tab.h
91 In all functions using macro_insert, change by using muscle_insert ().
92 (macro_obstack): Rename muscle_obstack.
93 Echo modifications in the whole file.
94 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
95 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
96 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
98 * src/muscle_tab.h: Update double inclusion macros.
99 (macro_entry_s): Rename muscle_entry_s.
102 * src/muscle_tab.c: Include muscle_tab.h.
103 Rename macro_tabble to muscle_table.
104 (mhash1, mhash2, mcmp): Use muscle_entry.
105 (macro_init): Rename muscle_init. Update.
106 (macro_insert): Rename muscle_insert. Update.
107 (macro_find): Rename muscle_find. Update.
109 * src/main.c: Include muscle_tab.h.
110 (main): Call muscle_init ().
111 * src/Makefile.am (bison_SOURCES): Echo modifications.
113 2001-09-02 Marc Autret <autret_m@epita.fr>
115 Now the files macro_tab.[ch] are named muscle_tab.[ch].
117 * src/muscle_tab.c, src/muscle_tab.h: Add files.
119 2001-09-02 Marc Autret <autret_m@epita.fr>
121 * src/macrotab.c, src/macrotab.h: Remove.
123 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
125 * src/reader.c (copy_guard): Use muscle to specify the `#line'
128 2001-09-01 Marc Autret <autret_m@epita.fr>
130 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
131 to an explicit value to activate the feature. We do it here.
133 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
135 * src/output.c (prepare): Delete the `filename' muscule insertion.
136 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
137 (parse_union_decl): Likewise.
138 * src/macrotab.c (macro_init): Initialize filename by infile.
140 2001-08-31 Marc Autret <autret_m@epita.fr>
142 * src/bison.simple (YYLSP_NEEDED): New definition.
143 * src/output.c (prepare): Add macro insertion of `locations_flag'
145 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
147 * src/output.c (prepare): Delete insertion of previous muscles,
148 and insert the `prefix' muscles.
149 * src/macrotab.c (macro_init): Likewise.
150 (macro_init): Initialization prefix directive by `yy'.
151 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
152 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
153 yylval, yydebug, yyerror, yynerrs and yyparse.
154 New directive `#define' to substitute yydebug, ... with option
157 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
159 * src/main.c (main): Standardize.
160 * src/output.c (output_table_data, output_parser): Likewise.
161 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
163 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
165 * src/reader.c (read_additionnal_code): Rename %%user_code to
167 * src/output.c (output): Rename %%declarations to %%prologue.
168 * src/bison.simple: Echo modifications.
170 2001-08-31 Marc Autret <autret_m@epita.fr>
172 * src/reader.c (readgram): CleanUp.
173 (output_token_defines): Likewise.
174 (packsymbols): Likewise.
176 * src/output.c (output): CPP-out useless code.
178 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
180 * src/reader.c (reader): Delete obsolete call to function
181 output_trailers and output_headers.
182 * src/output.h: Remove obsolete functions prototypes of output_headers
185 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
187 * src/main.c: Include macrotab.h.
188 * src/macrotab.h (macro_entry_s): Constify fields.
189 Adjust functions prototypes.
190 * src/macrotab.c (macro_insert): Constify key and value.
191 (macro_find): Constify key.
192 (macro_insert): Include 'xalloc.h'
193 (macro_insert): Use XMALLOC.
194 (macro_find): Constify return value.
195 * src/output.c (output_table_data): Rename table to table_data.
196 (output_parser): Constify macro_key, macro_value.
198 2001-08-30 Marc Autret <autret_m@epita.fr>
200 * src/reader.c (parse_skel_decl): New.
201 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
202 * src/lex.h (token_t): New token `tok_skel'.
203 * src/lex.c (percent_table): Add skeleton option entry.
206 2001-08-29 Marc Autret <autret_m@epita.fr>
208 * src/bison.simple: Add %%user_code directive at the end.
209 * src/reader.c (read_additionnal_code): New.
211 * src/output.c (output_program): Remove.
214 2001-08-28 Marc Autret <autret_m@epita.fr>
216 * src/output.c (output_actions): Clean up.
217 (output_gram): CPP-out useless code.
218 * src/reader.c (reader): Clean up, CPP-out useless code.
220 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
222 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
224 * src/bison.simple: Add `%%definitions'.
226 2001-08-28 Marc Autret <autret_m@epita.fr>
228 * config/depcomp: New file.
230 2001-08-27 Paul Eggert <eggert@twinsun.com>
232 * src/bison.simple (yyparse): Don't take the address of an
233 item before the start of an array, as that doesn't conform to
236 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
238 * src/output.c (output): Remove the initialization of the macro
239 obstack. It was done too late here.
241 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
243 (reader): Initialize the macro obstack here, since we need it to grow
244 '%define' directives.
246 * src/reader.h: Declare the macro obstack as extern.
248 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
250 * src/output.c (output_parser): Fix. Store single '%' characters in
251 the output obstack instead of throwing them away.
253 2001-08-27 Akim Demaille <akim@epita.fr>
255 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
257 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
259 * lib/Makefile.am: Adjust.
261 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
263 * src/bison.simple: Update and add '%%' directives.
265 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
267 * src/reader.c (reader): Remove calls to 'output_headers' and
268 'output_trailers'. Remove some C output.
269 (readgram): Disable a piece of code that was writing a default
270 definition for 'YYSTYPE'.
271 (reader_output_yylsp): Remove.
272 (packsymbols): Output token defintions to a macro.
273 (copy_definition): Disable C output.
275 * src/reader.c (parse_macro_decl): New function used to parse macro
277 (copy_string2): Put the body of copy_string into this new function.
278 Add a parameter to let the caller choose whether he wants to copy the
279 string delimiters or not.
280 (copy_string): Be a simple call to copy_string2 with the last argument
282 (read_declarations): Add case for macro definition.
283 (copy_identifier): New.
284 (parse_macro_decl): Read macro identifiers using copy_identifier
287 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
289 * src/output.c (prepare): Add prefixed names.
290 (output_parser): Output semantic actions.
291 (output_parser): Fix bug on '%%line' directives.
293 * src/output.c (output_headers): Remove. The C code printed by this
294 function should now be in the skeletons.
295 (output_trailers): Remove.
296 (output): Disable call to 'reader_output_yylsp'.
297 (output_rule_data): Do not output tables to the table obstack.
299 * src/output.c: Remove some C dedicated output.
300 Improve the use of macro and output obstacks.
301 (output_defines): Remove.
303 * src/output.c (output_token_translations): Associate 'translate'
304 table with a macro. No output to the table obstack.
305 (output_gram): Same for 'rhs' and 'prhs'.
306 (output_stos): Same for 'stos'.
307 (output_rule_data): Same for 'r1' and 'r2'.
308 (token_actions): Same for 'defact'.
309 (goto_actions): Same for 'defgoto'.
310 (output_base): Same for 'pact' and 'pgoto'.
311 (output_table): Same for 'table'.
312 (output_check): Same for 'check'.
314 * src/output.c (output_table_data): New function.
315 (output_short_table): Remove.
316 (output_short_or_char_table): Remove.
318 * src/output.c (output_parser): Replace most of the skeleton copy code
319 with something new. Skeletons are now processed character by character
320 rather than line by line, and Bison looks for '%%' macros. This is the
321 first step in making Bison's output process (a lot) more flexible.
322 (output_parser): Use the macro table.
324 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
326 * src/main.c (main): Initialize the macro table.
328 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
330 * src/lex.c (percent_table): Add tok_define.
331 * src/lex.h: Add tok_define.
333 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
335 * src/macrotab.c: New file.
336 * src/macrotab.h: New file.
337 * src/Makefile.am: Update.
339 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
341 * lib/hash.c: New file.
342 * lib/hash.h: New file.
343 * lib/Makefile.am: Update.
345 2001-08-15 Akim Demaille <akim@epita.fr>
349 2001-08-15 Marc Autret <autret_m@epita.fr>
351 * src/reader.c (readgram): Indent output macro YYSTYPE.
352 (packsymbols): Likewise.
353 (output_token_defines): Likewise.
354 * src/files.c: Standardize.
355 (compute_header_macro): New.
356 (defines_obstack_save): New. Use compute_header_macro.
357 (output_files): Update. Use defines_obstack_save.
359 2001-08-15 Akim Demaille <akim@epita.fr>
361 * doc/bison.texinfo (Table of Symbols): Document
364 2001-08-15 Akim Demaille <akim@epita.fr>
366 * missing: Update from CVS Automake.
367 * config/config.guess, config/config.sub, config/texinfo.tex:
370 2001-08-15 Akim Demaille <akim@epita.fr>
372 * Makefile.maint: Sync with CVS Autoconf.
374 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
376 * doc/bison.texinfo: Include GNU Free Documentation License from
378 * doc/fdl.texi: Add to package.
380 2001-08-14 Marc Autret <autret_m@epita.fr>
382 Turn on %{source,header}_extension features.
384 * src/lex.c (percent_table): Un-CPP out header_extension and
386 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
387 (compute_exts_from_src): Remove conditions. It restores priorities
390 2001-08-14 Marc Autret <autret_m@epita.fr>
392 * src/files.c (compute_base_names): Add extensions computing when
393 `--file-prefix' used.
394 Standardize function calls.
396 2001-08-13 Marc Autret <autret_m@epita.fr>
398 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
399 defining it (defined but null disables alloca).
401 2001-08-13 Marc Autret <autret_m@epita.fr>
403 * src/bison.simple (_yy_memcpy): CPP reformat.
405 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
407 * tests/atconfig.in (CPPFLAGS): Fix.
409 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
411 * doc/bison.texinfo: Include GNU General Public License from
413 * doc/gpl.texi: Add to package.
415 2001-08-10 Marc Autret <autret_m@epita.fr>
417 * src/print_graph.h: Fix.
418 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
420 2001-08-10 Akim Demaille <akim@epita.fr>
422 * src/system.h: Provide default declarations for stpcpy, strndup,
425 2001-08-10 Robert Anisko <anisko_r@epita.fr>
427 * doc/bison.texinfo (Locations): Update @$ stuff.
429 2001-08-09 Robert Anisko <anisko_r@epita.fr>
431 * src/bison.simple (YYLLOC_DEFAULT): Update.
434 2001-08-08 Marc Autret <autret_m@epita.fr>
436 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
437 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
438 Reported by Fabrice Bauzac.
440 2001-08-08 Marc Autret <autret_m@epita.fr>
442 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
443 * src/vcg.c (output_node): Fix.
444 * src/vcg.h: Cleanup.
445 * src/print_graph.c: Add comments.
446 (node_output_size): New global variable. Simplify the formatting of
447 the VCG graph output.
448 (print_actions): Unused code is now used. It notifies the final state
449 and no action states in the VCG graph. It also give the reduce actions.
450 The `shift and goto' edges are red and the `go to state' edges are
452 Get the current node name and node_obstack by argument.
453 (node_obstack): New variable.
454 (print_state): Manage node_obstack.
455 (print_core): Use node_obstack given by argument.
456 A node is not only computed here but in print_actions also.
457 (print_graph): CPP out useless code instead of commenting it.
459 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
461 * tests/atconfig.in (CPPFLAGS): Fix.
463 2001-08-07 Akim Demaille <akim@epita.fr>
465 * src/print_graph.c (quote): New.
466 (print_core): Use it.
468 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
470 * src/vcg.c (complain.h): Include it.
471 Unepitaize `return' invocations.
472 [NDEBUG] (main): Remove.
473 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
474 * src/files.c (open_files): Initialize graph_obstack.
475 * src/print_graph.c (print_actions): CPP out useless code.
476 (print_core): Don't output the last `\n' in labels.
478 * src/files.c (output_files): Output the VCG file.
479 * src/main.c (main): Invoke print_graph ();
481 2001-08-06 Marc Autret <autret_m@epita.fr>
483 Automaton VCG graph output.
484 Using option ``-g'' or long option ``--graph'', you can generate
485 a gram_filename.vcg file containing a VCG description of the LALR (1)
486 automaton of your grammar.
488 * src/main.c: Call to print_graph() function.
489 * src/getargs.h: Update.
490 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
491 (graph_flag): New flag.
493 (getargs): Add case `g'.
494 * src/files.c (graph_obstack): New obstack struct.
495 (open_files): Initialize new obstack.
496 (output_files): Saves graph_obstack if required.
497 * src/files.h (graph_obstack): New extern declaration.
498 * src/Makefile.am: Add new source files.
500 2001-08-06 Marc Autret <autret_m@epita.fr>
502 * src/print_graph.c, src/print_graph.h (graph): New.
503 * src/vcg.h: New file.
504 * src/vcg.c: New file, VCG graph handling.
506 2001-08-06 Marc Autret <autret_m@epita.fr>
508 Add of %source_extension and %header_extension which specify
509 the source or/and the header output file extension.
511 * src/files.c (compute_base_names): Remove initialisation of
512 src_extension and header_extension.
513 (compute_exts_from_gf): Update.
514 (compute_exts_from_src): Update.
515 (output_files): Update.
516 * src/reader.c (parse_header_extension_decl): New.
517 (parse_source_extension_decl): New.
518 (read_declarations): New case statements for the new tokens.
519 * src/lex.c (percent_table): Add entries for %source_extension
520 and %header_extension.
521 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
523 2001-08-06 Marc Autret <autret_m@epita.fr>
525 * configure.in: Bump to 1.28c.
526 * doc/bison.texinfo: Texinfo thingies.
528 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
530 * tests/atconfig.in (CPPFLAGS): Add.
531 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
533 2001-08-03 Akim Demaille <akim@epita.fr>
537 2001-08-03 Akim Demaille <akim@epita.fr>
539 * tests/Makefile.am (check-local): Ship testsuite.
540 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
543 2001-08-03 Akim Demaille <akim@epita.fr>
545 * configure.in: Try using -Wformat when compiling.
547 2001-08-03 Akim Demaille <akim@epita.fr>
549 * configure.in: Bump to 1.28b.
551 2001-08-03 Akim Demaille <akim@epita.fr>
553 * src/complain.c: Adjust strerror_r portability issues.
555 2001-08-03 Akim Demaille <akim@epita.fr>
559 2001-08-03 Akim Demaille <akim@epita.fr>
561 * src/getargs.c, src/getarg.h (skeleton)): Constify.
562 * src/lex.c (literalchar): Avoid name clashes on `buf'.
563 * src/getargs.c: Include complain.h.
564 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
565 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
567 2001-08-03 Akim Demaille <akim@epita.fr>
569 * src/reader.c (readgram): Display hidden chars in error messages.
571 2001-08-03 Akim Demaille <akim@epita.fr>
573 Update to gettext 0.10.39.
575 2001-08-03 Akim Demaille <akim@epita.fr>
579 2001-08-01 Marc Autret <autret_m@epita.fr>
581 * doc/bison.texinfo: Update.
582 * doc/bison.1 (mandoc): Update.
583 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
584 * src/files.c: Support output files extensions computing.
585 (src_extension): New static variable.
586 (header_extension): New static variable.
588 (get_extension_index): New function, gets the index of an extension
589 filename in a string.
590 (compute_exts_from_gf): New function, computes extensions from the
591 grammar file extension.
592 (compute_exts_from_src): New functions, computes extensions from the
593 C source file extension, file given by ``-o'' option.
594 (compute_base_names): Update.
595 (output_files): Update.
597 2001-08-01 Robert Anisko <anisko_r@epita.fr>
599 * doc/bison.texi: Document @$.
600 (Locations): New section.
602 2001-07-18 Akim Demaille <akim@epita.fr>
604 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
605 * config/prev-version.txt, config/move-if-change: New.
606 * Makefile.am: Adjust.
608 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
610 * src/bison.simple (yyparse): Suppress warning `comparaison
611 between signed and unsigned'.
613 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
615 * src/getargs.h (raw_flag): Remove.
616 * src/getargs.c: Die on `-r'/`--raw'.
617 * src/lex.c (parse_percent_token): Die on `%raw'.
618 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
619 * tests/calc.at: Suppress test with option `--raw'.
621 2001-07-14 Akim Demaille <akim@epita.fr>
624 * configure.in: Require Autoconf 2.50.
625 Update to gettext 0.10.38.
627 2001-03-16 Akim Demaille <akim@epita.fr>
629 * doc/bison.texinfo: ANSIfy the examples.
631 2001-03-16 Akim Demaille <akim@epita.fr>
633 * getargs.c (skeleton): New variable.
634 (longopts): --skeleton is a new option.
635 (shortopts, getargs): -S is a new option.
636 * getargs.h: Declare skeleton.
637 * output.c (output_parser): Use it.
639 2001-03-16 Akim Demaille <akim@epita.fr>
641 * m4/strerror_r.m4: New.
642 * m4/error.m4: Run AC_FUNC_STRERROR_R.
643 * lib/error.h, lib/error.c: Update.
645 2001-03-16 Akim Demaille <akim@epita.fr>
647 * src/getargs.c (longopts): Clean up.
649 2001-02-21 Akim Demaille <akim@epita.fr>
651 * src/reader.c (gensym): `gensym_count' is your own.
652 Use a static buf to create the symbol name, as token_buffer is no
655 2001-02-08 Akim Demaille <akim@epita.fr>
657 * src/conflicts.c (conflict_report): Be sure not to append to res
658 between two calls, which could happen if both first sprintf were
659 skipped, but not the first cp += strlen.
661 2001-02-08 Akim Demaille <akim@epita.fr>
663 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
664 New, from fileutils 4.0.37.
665 * configure.in: Require Autoconf 2.49c. I took some time before
666 making this decision. This is the only way out for portability
667 issues in Bison, it would mean way too much duplicate effort to
668 import in Bison features implemented in 2.49c since 2.13.
669 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
671 2001-02-02 Akim Demaille <akim@epita.fr>
673 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
674 * lib/xalloc.h, lib/xmalloc.c: Update.
676 2001-01-19 Akim Demaille <akim@epita.fr>
678 Get rid of the ad hoc handling of token_buffer in the scanner: use
681 * src/lex.c (token_obstack): New.
682 (init_lex): Initialize it. No longer call...
683 (grow_token_buffer): this. Remove it.
684 Adjust all the places which used it to use the obstack.
686 2001-01-19 Akim Demaille <akim@epita.fr>
688 * src/lex.h: Rename all the tokens:
689 s/\bENDFILE\b/tok_eof/g;
690 s/\bIDENTIFIER\b/tok_identifier/g;
692 Let them be enums, not #define, to ease debugging.
695 2001-01-18 Akim Demaille <akim@epita.fr>
697 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
698 * src/lex.c (maxtoken, grow_token_buffer): Static.
700 2001-01-18 Akim Demaille <akim@epita.fr>
702 Since we now use obstacks, more % directives can be enabled.
704 * src/lex.c (percent_table): Also accept `%yacc',
705 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
707 Handle the actions for `%semantic_parser' and `%pure_parser' here,
708 instead of returning a token.
709 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
710 * src/reader.c (read_declarations): Adjust.
711 * src/files.c (open_files): Don't call `compute_base_names', don't
712 compute `attrsfile' since they depend upon data which might be
713 *in* the input file now.
714 (output_files): Do it here.
715 * src/output.c (output_headers): Document the fact that this patch
716 introduces a guaranteed SEGV for semantic parsers.
717 * doc/bison.texinfo: Document them.
718 * tests/suite.at: Exercise these %options.
720 2000-12-20 Akim Demaille <akim@epita.fr>
722 Also handle the output file (--verbose) with obstacks.
724 * files.c (foutput): Remove.
725 (output_obstack): New.
726 Adjust all dependencies.
727 * src/conflicts.c: Return a string.
728 * src/system.h (obstack_grow_string): Rename as...
729 (obstack_sgrow): this. Be ready to work with non literals.
730 (obstack_fgrow4): New.
732 2000-12-20 Akim Demaille <akim@epita.fr>
734 * src/files.c (open_files): Fix the computation of short_base_name
735 in the case of `-o foo.tab.c'.
737 2000-12-20 Akim Demaille <akim@epita.fr>
739 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
740 (copy_dollar): Now that everything uses obstacks, get rid of the
743 2000-12-20 Akim Demaille <akim@epita.fr>
745 * src/files.c (open_files): Actually the `.output' file is based
746 on the short_base_name, not base_name.
747 * tests/suite.at (Checking output file names): Adjust.
749 2000-12-20 Akim Demaille <akim@epita.fr>
751 * src/bison.s1: Remove, we now use directly...
752 * src/bison.simple: this.
753 * src/Makefile.am: Use pkgdata instead of data.
755 2000-12-20 Akim Demaille <akim@epita.fr>
757 * src/files.c (guard_obstack): New.
758 (open_files): Initialize it.
759 (output_files): Dump it...
760 * src/files.h: Export it.
761 * src/reader.c (copy_guard): Use it.
763 2000-12-19 Akim Demaille <akim@epita.fr>
765 * src/files.c (outfile, defsfile, actfile): Removed as global
767 (open_files): Don't compute them.
768 (output_files): Adjust.
769 (base_name, short_base_name): Be global.
772 2000-12-19 Akim Demaille <akim@epita.fr>
774 * src/files.c (strsuffix): New.
775 (stringappend): Be just like strcat but allocate.
776 (base_names): Eve out from open_files.
777 Try to simplify the rather hairy computation of base_name and
779 (open_files): Use it.
780 * tests/suite.at (Checking output file names): New test.
782 2000-12-19 Akim Demaille <akim@epita.fr>
784 * src/system.h (obstack_grow_literal_string): Rename as...
785 (obstack_grow_string): this.
786 * src/output.c (output_parser): Recognize `%% actions' instead of
788 * src/bison.s1: s/$/%% actions/.
789 * src/bison.hairy: Likewise.
791 2000-12-19 Akim Demaille <akim@epita.fr>
793 * src/output.c (output_parser): Compute the `#line' lines when
795 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
796 Suggested by Hans Aberg.
798 2000-12-19 Akim Demaille <akim@epita.fr>
800 Let the handling of the skeleton files be local to the procedures
803 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
805 (fparser, open_extra_files): Remove.
806 (open_files, output_files): Don't take care of fparser.
807 * src/files.h: Adjust.
808 * src/output.c (output_parser): Open and close the file to the
810 * src/reader.c (read_declarations): When %semantic_parser, open
813 2000-12-19 Akim Demaille <akim@epita.fr>
815 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
816 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
818 2000-12-19 Akim Demaille <akim@epita.fr>
820 * src/files.c (open_files): Yipee! We no longer need all the code
821 looking for `/tmp' since we have no tmp file.
823 2000-12-19 Akim Demaille <akim@epita.fr>
825 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
827 * src/files.c (open_files): Less dependency on MSDOS etc.
829 2000-12-14 Akim Demaille <akim@epita.fr>
831 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
832 Provide a default definition.
833 Use it when executing the default @ action.
834 * src/reader.c (reader_output_yylsp): No longer include
835 `timestamp' and `text' in the default YYLTYPE.
837 2000-12-12 Akim Demaille <akim@epita.fr>
839 * src/reader.c (copy_definition, parse_union_decl, copy_action)
840 (copy_guard): Quote the file names.
841 Reported by Laurent Mascherpa.
843 2000-12-12 Akim Demaille <akim@epita.fr>
845 * src/output.c (output_headers, output_program, output): Be sure
846 to escape special characters when outputting filenames.
847 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
848 (output_headers): Don't depend on them, Use ACTSTR.
850 2000-11-17 Akim Demaille <akim@epita.fr>
852 * lib/obstack.h: Formatting changes.
853 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
854 prevents type checking.
855 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
856 cast the value to (void *): assigning a `foo *' to a `void *'
858 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
859 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
862 2000-11-17 Akim Demaille <akim@epita.fr>
864 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
866 (suite.m4, regression.m4, calc.m4): these.
867 * tests/atgeneral.m4: Update from CVS Autoconf.
869 2000-11-17 Akim Demaille <akim@epita.fr>
871 * tests/regression.m4 (%union and --defines): New test,
872 demonstrating a current bug in the obstack implementation.
874 2000-11-17 Akim Demaille <akim@epita.fr>
876 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
878 Use them to declare the variables which are global or local to
881 2000-11-17 Akim Demaille <akim@epita.fr>
883 * acconfig.h: Remove, no longer used.
885 2000-11-07 Akim Demaille <akim@epita.fr>
887 * src: s/Copyright (C)/Copyright/g.
889 2000-11-07 Akim Demaille <akim@epita.fr>
891 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
893 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
895 2000-11-07 Akim Demaille <akim@epita.fr>
897 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
898 Merge in a single CPP if/else.
900 2000-11-07 Akim Demaille <akim@epita.fr>
902 * src/output.c (output): Remove useless variables.
903 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
904 argument `data' for consistency with the prototypes.
906 (obstack_copy, obstack_copy0): Rename the second argument as
907 `address' for consistency. Qualify it `const'.
908 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
909 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
910 `const' their input argument (`data' or `address').
911 Adjust the corresponding macros to include `const' in casts.
913 2000-11-03 Akim Demaille <akim@epita.fr>
915 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
916 s/PFILE1/BISON_HAIRY/.
919 2000-11-03 Akim Demaille <akim@epita.fr>
921 For some reason, this was not applied.
923 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
924 `unlink': it's no longer used.
926 2000-11-03 Akim Demaille <akim@epita.fr>
928 * src/files.c (skeleton_find): New function, eved out of...
929 (open_files, open_extra_files): here.
931 2000-11-03 Akim Demaille <akim@epita.fr>
935 * src/files.c (obstack_save): New function.
937 (output_files): this.
939 * src/main.c (main): Don't use `atexit' to register `done', since
940 it no longer has to remove tmp files, just call `output_files'
941 when there are no errors.
943 2000-11-02 Akim Demaille <akim@epita.fr>
945 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
946 `unlink': it's no longer used.
947 * src/files.h: Formatting changes.
949 2000-11-02 Akim Demaille <akim@epita.fr>
951 Remove the last uses of mktemp and unlink/delete.
953 * src/files.c (fdefines, ftable): Removed.
954 (defines_ostack, table_obstack): New.
955 Adjust dependencies of the former into uses of the latter.
956 * src/output.c (output_short_or_char_table, output_short_table):
957 Convert to using obstacks.
958 * src/reader.c (copy_comment2): Accept one FILE * and two
960 (output_token_defines, reader_output_yylsp): Use obstacks.
961 * src/system.h (obstack_fgrow3): New.
963 2000-11-01 Akim Demaille <akim@epita.fr>
965 Change each use of `fattrs' into a use of `attrs_obstack'.
967 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
968 * src/files.c (fattrs): Remove.
969 (attrs_obstack): New.
970 Adjust all dependencies.
971 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
973 2000-11-01 Akim Demaille <akim@epita.fr>
976 Change each use of `faction' into a use of `action_obstack'.
978 * lib/obstack.h, lib/obstack.c: New files.
979 * src/files.c (faction): Remove.
980 (action_obstack): New.
981 Adjust all dependencies.
983 2000-10-20 Akim Demaille <akim@epita.fr>
985 * lib/quote.h (PARAMS): New macro. Use it.
987 2000-10-16 Akim Demaille <akim@epita.fr>
989 * src/output.c (output_short_or_char_table): New function.
990 (output_short_table, output_token_translations): Use it.
991 (goto_actions): Use output_short_table.
993 2000-10-16 Akim Demaille <akim@epita.fr>
995 * src/symtab.c (bucket_new): New function.
998 * src/output.c (output_short_table): New argument to display the
999 comment associated with the table.
1000 Adjust dependencies.
1001 (output_gram): Use it.
1002 (output_rule_data): Nicer output layout for YYTNAME.
1004 2000-10-16 Akim Demaille <akim@epita.fr>
1006 * src/lex.c (read_typename): New function.
1008 * src/reader.c (copy_dollar): Likewise.
1010 2000-10-16 Akim Demaille <akim@epita.fr>
1012 * src/reader.c (copy_comment2): Expect the input stream to be on
1013 the `/' which is suspected to open a comment, instead of being
1014 called after `//' or `/*' was read.
1015 (copy_comment, copy_definition, parse_union_decl, copy_action)
1016 (copy_guard): Adjust.
1018 2000-10-16 Akim Demaille <akim@epita.fr>
1020 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
1021 `read_signed_integer'.
1023 2000-10-16 Akim Demaille <akim@epita.fr>
1025 * src/reader.c (copy_dollar): New function.
1026 (copy_guard, copy_action): Use it.
1028 2000-10-16 Akim Demaille <akim@epita.fr>
1030 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
1031 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
1032 New files, from Fileutils 4.0.27.
1033 * src/main.c (printable_version): Remove.
1034 * src/lex.c, src/reader.c: Use `quote'.
1036 2000-10-04 Akim Demaille <akim@epita.fr>
1038 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
1040 2000-10-04 Akim Demaille <akim@epita.fr>
1042 * doc/bison.texinfo: Various typos spotted by Neil Booth.
1044 2000-10-04 Akim Demaille <akim@epita.fr>
1046 When a literal string is used to define two different tokens,
1047 `bison -v' segfaults.
1048 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
1050 * tests/regression.m4: New file.
1051 Include the core of the sample provided by Piotr Gackiewicz.
1052 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
1055 2000-10-04 Akim Demaille <akim@epita.fr>
1057 * src/reader.c (parse_expect_decl): Keep `count' within the size
1061 2000-10-02 Paul Eggert <eggert@twinsun.com>
1063 * bison.s1 (yyparse): Assign the default value
1064 unconditionally, to avoid a GCC warning and make the parser a
1067 2000-10-02 Akim Demaille <akim@epita.fr>
1069 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
1072 2000-10-02 Akim Demaille <akim@epita.fr>
1074 * src/derives.c, src/print.c, src/reduce.c: To ease the
1075 translation, move some `\n' out of the translated strings.
1077 2000-10-02 Akim Demaille <akim@epita.fr>
1079 The location tracking mechanism is precious for parse error
1080 messages. Nevertheless, it is enabled only when `@n' is used in
1081 the grammar, which is a different issue (you can use it in error
1082 message, but not in the grammar per se). Therefore, there should
1083 be another means to enable it.
1085 * src/getargs.c (getargs): Support `--locations'.
1087 * src/getargs.h (locationsflag): Export it.
1088 * src/lex.c (percent_table): Support `%locations'.
1089 * src/reader.c (yylsp_needed): Remove this variable, now replaced
1090 with `locationsflag'.
1091 * doc/bison.texinfo: Document `--locations' and `%locations'.
1093 * tests/calc.m4: Test it.
1095 For regularity of the names, replace each
1096 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
1097 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
1098 In addition replace each `flag' with `_flag'.
1100 2000-10-02 Akim Demaille <akim@epita.fr>
1102 Also test parse error messages, including with YYERROR_VERBOSE.
1104 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
1106 Use it to check the computations.
1107 Use it to check `nonassoc' is honored.
1108 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
1109 `--yyerror-verbose'.
1110 (_AT_CHECK_CALC): Adjust to this option.
1111 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
1113 2000-10-02 Akim Demaille <akim@epita.fr>
1115 Test also `--verbose', `--defines' and `--name-prefix'. Testing
1116 the latter demonstrates a flaw in the handling of non debugging
1117 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
1118 was used in order to simplify:
1134 unfortunately this leads to a CPP conflict when
1135 `--name-prefix=foo' is used since it produces `#define yydebug
1138 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
1139 (YYDPRINTF): New macro.
1141 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
1143 Also test `--verbose', `--defines' and `--name-prefix'.
1145 2000-10-02 Akim Demaille <akim@epita.fr>
1147 Improve the readability of the produced parsers.
1149 * src/bison.s1: Formatting changes.
1150 Improve the comment related to the `$' mark.
1151 (yydefault): Don't fall through to `yyresume': `goto' there.
1152 * src/output.c (output_parser): When the `$' is met, skip the end
1154 New variable, `number_of_dollar_signs', to check there's exactly
1155 one `$' in the parser skeleton.
1157 2000-10-02 Akim Demaille <akim@epita.fr>
1159 * lib/xstrdup.c: New file, from the fileutils.
1160 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
1161 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
1162 instead of strlen + xmalloc + strcpy.
1163 * src/symtab.c (copys): Remove, use xstrdup instead.
1165 2000-10-02 Akim Demaille <akim@epita.fr>
1167 * src/gram.h (associativity): New enum type which replaces the
1168 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
1169 `right_assoc', `left_assoc' and `non_assoc'.
1170 Adjust all dependencies.
1171 * src/reader.c: Formatting changes.
1172 (LTYPESTR): Don't define it, use it as a literal in
1173 `reader_output_yylsp'.
1174 * src/symtab.h (symbol_class): New enum type which replaces the
1175 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
1176 `sunknown', `stoken and `snterm'.
1178 2000-10-02 Akim Demaille <akim@epita.fr>
1180 * src/getargs.c (fixed_outfiles): Rename as...
1181 (yaccflag): for consistency and accuracy.
1182 Adjust dependencies.
1184 2000-10-02 Akim Demaille <akim@epita.fr>
1186 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
1187 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
1188 difficult and introduced a lot of core dump. It turns out that
1189 Bison used an implementation of `xmalloc' based on `calloc', and
1190 at various places it does depend upon the initialization to 0. I
1191 have not tried to isolate the pertinent places, and all the former
1192 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
1193 someone should address this issue.
1195 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
1196 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
1198 Adjust dependencies.
1199 * src/warshall.h: New file.
1202 2000-10-02 Akim Demaille <akim@epita.fr>
1204 Various anti-`extern in *.c' changes.
1206 * src/system.h: Include `assert.h'.
1208 2000-10-02 Akim Demaille <akim@epita.fr>
1210 * src/state.h (nstates, final_state, first_state, first_shift)
1211 (first_reduction): Move their exportation from here...
1212 * src/LR0.h: to here.
1213 Adjust dependencies.
1214 * src/getargs.c (statisticsflag): New variable.
1215 Add support for `--statistics'.
1216 Adjust dependencies.
1218 Remove a lot of now useless `extern' statements in most files.
1220 2000-10-02 Akim Demaille <akim@epita.fr>
1222 * src/LR0.h: New file.
1225 2000-10-02 Akim Demaille <akim@epita.fr>
1227 * src/print.h: New file.
1229 * src/print.c: Formatting and ordering changes.
1230 (verbose, terse): Replace with...
1231 (print_results): this new function.
1232 Adjust dependencies.
1234 2000-10-02 Akim Demaille <akim@epita.fr>
1236 * src/conflicts.c (conflict_report): New function.
1237 (conflict_log, verbose_conflict_log): Replace with...
1238 (print_conflicts): this function.
1239 Adjust dependencies.
1240 * src/conflicts.h: New file.
1241 Propagate its inclusion.
1243 2000-10-02 Akim Demaille <akim@epita.fr>
1245 * src/nullable.h: New file.
1246 Propagate its inclusion.
1247 * src/nullable.c: Formatting changes.
1249 2000-10-02 Akim Demaille <akim@epita.fr>
1251 * src/reduce.h: New file.
1252 Propagate its inclusion.
1253 * src/reduce.c: Topological sort and other formatting changes.
1254 (bool, TRUE, FALSE): Move their definition to...
1255 * src/system.h: here.
1257 2000-10-02 Akim Demaille <akim@epita.fr>
1259 * src/files.c: Formatting changes.
1260 (tryopen, tryclose, openfiles): Rename as...
1261 (xfopen, xfclose, open_files): this.
1262 (stringappend): static.
1263 * src/files.h: Complete the list of exported symbols.
1266 2000-10-02 Akim Demaille <akim@epita.fr>
1268 * src/reader.h: New file.
1269 Propagate its use instead of tedious list of `extern' and
1271 * src/reader.c: Formatting changes, topological sort,
1274 2000-10-02 Akim Demaille <akim@epita.fr>
1276 * src/lex.h: Prototype `lex.c' exported functions.
1277 * src/reader.c: Adjust.
1278 * src/lex.c: Formatting changes.
1279 (safegetc): Rename as...
1282 2000-10-02 Akim Demaille <akim@epita.fr>
1284 * src/lalr.h: New file.
1285 Propagate its inclusion instead of prototypes and `extern'.
1286 * src/lalr.c: Formatting changes, topological sorting etc.
1288 2000-10-02 Akim Demaille <akim@epita.fr>
1290 * src/output.c (token_actions): Introduce a temporary array,
1291 YYDEFACT, that makes it possible for this function to use
1294 2000-10-02 Akim Demaille <akim@epita.fr>
1296 `user_toknums' is output as a `short[]' in `output.c', while it is
1297 defined as a `int[]' in `reader.c'. For consistency with the
1298 other output tables, `user_toknums' is now defined as a table of
1301 * src/reader.c (user_toknums): Be a short table instead of an int
1303 Adjust dependencies.
1305 Factor the short table outputs.
1307 * src/output.c (output_short_table): New function.
1308 * src/output.c (output_gram, output_stos, output_rule_data)
1309 (output_base, output_table, output_check): Use it.
1311 2000-10-02 Akim Demaille <akim@epita.fr>
1313 * src/output.c (output): Topological sort of the functions, in
1314 order to get rid of the `static' prototypes.
1315 No longer use `register'.
1316 * src/output.h: New file.
1317 Propagate its inclusion in files explicitly prototyping functions
1320 2000-09-21 Akim Demaille <akim@epita.fr>
1322 * src/atgeneral.m4: Update from Autoconf.
1324 2000-09-21 Akim Demaille <akim@epita.fr>
1326 * src/closure.h: New file.
1327 * src/closure.c: Formatting changes, topological sort over the
1328 functions, use of closure.h.
1329 (initialize_closure, finalize_closure): Rename as...
1330 (new_closure, free_closure): these. Adjust dependencies.
1331 * src/LR0.c: Formatting changes, topological sort, use of
1333 (initialize_states): Rename as...
1335 * src/Makefile.am (noinst_HEADERS): Adjust.
1337 2000-09-20 Akim Demaille <akim@epita.fr>
1339 * src/acconfig.h: Don't protect config.h against multiple
1341 Don't define PARAMS.
1342 * src/system.h: Define PARAMS.
1343 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
1344 purpose of config.h. system.h must not try to fix wrong
1345 definitions in config.h.
1347 2000-09-20 Akim Demaille <akim@epita.fr>
1349 * src/derives.h: New file.
1350 * src/main.c, src/derives.h: Use it.
1352 * src/Makefile.am (noinst_HEADERS): Adjust.
1354 2000-09-20 Akim Demaille <akim@epita.fr>
1356 * tests/atgeneral.m4: Update from Autoconf.
1357 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
1358 (AT_CHECK_CALC): New macros.
1359 Use these macros to test bison with options `', `--raw',
1360 `--debug', `--yacc', `--yacc --debug'.
1362 2000-09-19 Akim Demaille <akim@epita.fr>
1364 * src/output.c: Formatting changes.
1365 * src/machine.h: Remove, leaving its contents in...
1366 * src/system.h: here.
1368 Adjust all dependencies on stdio.h and machine.h.
1369 * src/getargs.h: New file.
1370 Let all `extern' declarations about getargs.c be replaced with
1371 inclusion of `getargs.h'.
1372 * src/Makefile.am (noinst_HEADERS): Adjust.
1374 * tests/calc.m4 (yyin): Be initialized in main, not on the global
1376 (yyerror): Returns void, not int.
1377 * doc/bison.texinfo: Formatting changes.
1379 2000-09-19 Akim Demaille <akim@epita.fr>
1381 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
1384 2000-09-18 Akim Demaille <akim@epita.fr>
1386 * configure.in: Append WARNING_CFLAGS to CFLAGS.
1387 * src/Makefile.am (INCLUDES): Don't.
1388 Be ready to fetch headers in lib/.
1390 2000-09-18 Akim Demaille <akim@epita.fr>
1392 * doc/bison.texinfo: Update the copyright.
1393 ANSIfy and GNUify the examples.
1394 Remove the old menu.
1396 2000-09-18 Akim Demaille <akim@epita.fr>
1398 First set of tests: use the `calc' example from the documentation.
1400 * src/bison.s1 (yyparse): Condition the code using `yytname' which
1401 is defined only when YYDEBUG is.
1402 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
1403 * src/files.c (tryopen, tryclose): Formatting changes.
1404 Move to the top and be static.
1405 * src/reader.c (read_signed_integer): Likewise.
1406 * tests/calc.m4: New file.
1407 * Makefile.am, suite.m4: Adjust.
1408 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
1410 2000-09-18 Akim Demaille <akim@epita.fr>
1412 Add support for an Autotest test suite for Bison.
1414 * m4/m4.m4, m4/atconfig.m4: New files.
1415 * m4/Makefile.am (EXTRA_DIST): Adjust.
1416 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
1418 * src/getargs.c: Display a more standard --version message.
1419 * src/reader.c (reader): Formatting changes.
1420 No longer depend upon VERSION_STRING.
1421 * configure.in: No longer use `dnl'.
1422 Set up the test suite and the new directory `tests/.
1423 (VERSION_STRING): Remove.
1425 2000-04-14 Akim Demaille <akim@epita.fr>
1427 * src/reader.c (copy_comment2): New function, same as former
1428 `copy_comment', but outputs into two FILE *.
1429 (copy_comment): Use it.
1430 (parse_union_decl): Use it.
1431 (get_type, parse_start_decl): Use the same `invalid' message.
1432 (parse_start_decl, parse_union_decl): Use the same `multiple'
1434 (parse_union_decl, copy_guard, copy_action): Use the same
1435 `unmatched' message.
1436 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
1438 2000-03-31 Akim Demaille <akim@epita.fr>
1440 * src/files.c (tryopen, tryclose): Move to the top.
1443 2000-03-31 Akim Demaille <akim@epita.fr>
1445 * src/main.c (main): Don't call `done', exit does it.
1447 2000-03-31 Akim Demaille <akim@epita.fr>
1449 * allocate.c: s/return (foo)/return foo/.
1452 * output.c: Likewise.
1453 * reader.c: Likewise.
1454 * symtab.c: Likewise.
1455 * vmsgetargs.c: Likewise.
1457 2000-03-31 Akim Demaille <akim@epita.fr>
1459 Clean up the error reporting functions.
1461 * src/report.c: New file.
1462 * src/report.h: Likewise.
1463 * src/Makefile.am: Adjust.
1464 * m4/error.m4: New file.
1465 * m4/Makefile.am: Adjust.
1466 * configure.in (jm_PREREQ_ERROR): Call it.
1467 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
1469 (fatal, fatals): Remove. All callers use complain.c::fatal.
1470 (warn, warni, warns, warnss, warnss): Remove. All callers use
1471 complain.c::complain.
1472 (toomany): Remove, use fatal instead.
1473 * src/files.c (done): No argument, use complain_message_count.
1474 * src/main.c (main): Register `done' to `atexit'.
1476 * src/getargs.c (usage): More `fputs', less `fprintf'.
1478 2000-03-28 Akim Demaille <akim@epita.fr>
1480 * lib/: New directory.
1481 * Makefile.am (SUBDIRS): Adjust.
1482 * configure.in: Adjust.
1483 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
1485 * src/alloca.c: Moved to lib/.
1486 * src/getopt.c: Likewise.
1487 * src/getopt1.c: Likewise.
1488 * src/getopt.h: Likewise.
1489 * src/ansi2knr.c: Likewise.
1490 * src/ansi2knr.1: Likewise.
1491 * src/Makefile.am: Adjust.
1492 * lib/Makefile.am: New file.
1494 2000-03-28 Akim Demaille <akim@epita.fr>
1496 * src/getargs.c (usage): Refresh the help message.
1498 2000-03-17 Akim Demaille <akim@epita.fr>
1500 * src/getopt1.c: Updated from textutils 2.0e
1501 * src/getopt.c: Likewise.
1502 * src/getopt.h: Likewise.
1504 2000-03-17 Akim Demaille <akim@epita.fr>
1506 * src/Makefile.am (bison.simple): Fix the awk program: quote only
1507 the file name, not the whole `#line LINE FILE'.
1509 2000-03-17 Akim Demaille <akim@epita.fr>
1511 On syntax errors, report the token on which we choked.
1513 * src/bison.s1 (yyparse): In the label yyerrlab, when
1514 YYERROR_VERBOSE, add yychar in msg.
1516 2000-03-17 Akim Demaille <akim@epita.fr>
1518 * src/reader.c (copy_at): New function.
1519 (copy_guard): Use it.
1520 (copy_action): Use it.
1522 2000-03-17 Akim Demaille <akim@epita.fr>
1524 Be kind to translators, save some useless translations.
1526 * src/main.c (banner): New function.
1527 (fatal_banner): Use it.
1528 (warn_banner): Use it.
1530 2000-03-17 Akim Demaille <akim@epita.fr>
1532 * src/reader.c (copy_definition): Use copy_string and
1533 copy_comment. Removed now unused `match', `ended',
1535 (copy_comment, copy_string): Moved, to be visible from
1538 2000-03-17 Akim Demaille <akim@epita.fr>
1540 * src/reader.c (copy_string): Declare `static inline'. No
1541 problems with inline, since it is checked by configure.
1542 (copy_comment): Likewise.
1544 2000-03-17 Akim Demaille <akim@epita.fr>
1546 * src/reader.c (packsymbols): Formatting changes.
1548 2000-03-17 Akim Demaille <akim@epita.fr>
1550 * src/reader.c (copy_comment): New function, factored out from:
1551 (copy_action): Use it. Removed now unused `match', `ended',
1553 (copy_guard): Likewise.
1555 2000-03-17 Akim Demaille <akim@epita.fr>
1557 * src/reader.c (copy_string): New function, factored out from:
1558 (copy_action): Use it.
1559 (copy_guard): Likewise.
1561 2000-03-17 Akim Demaille <akim@epita.fr>
1563 Change the handling of @s so that they behave exactly like $s.
1564 There is now a pseudo variable @$ (readble and writable), location
1565 of the lhs of the rule (by default ranging from the location of
1566 the first symbol of the rhs, to the location of the last symbol,
1567 or, if the rhs is empty, YYLLOC).
1569 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
1571 (yyparse): When providing a default semantic action, provide a
1572 default location action.
1573 (after the $): No longer change `*YYLSP', just stack YYLOC the
1574 same way you stack YYVAL.
1575 * src/reader.c (read_declarations): Use warns.
1576 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
1577 (copy_action, case '@'): Likewise.
1578 Use a standard error message, to save useless work from
1581 2000-03-17 Akim Demaille <akim@epita.fr>
1583 * src/bison.s1: Formatting and cosmetics changes.
1584 * src/reader.c: Likewise.
1585 Update the Copyright notice.
1587 2000-03-17 Akim Demaille <akim@epita.fr>
1589 * src/bison.s1 (#line): All set to `#line' only, since the
1590 Makefile now handles them.
1592 2000-03-16 Akim Demaille <akim@epita.fr>
1594 * src/output.c (output_rule_data): Output the documentation of
1596 (Copyright notice): Update.
1599 2000-03-16 Akim Demaille <akim@epita.fr>
1601 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
1602 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
1603 One `#if YYDEBUG' remains, since it uses variables which are
1604 defined only if `YYDEBUG != 0'.
1606 2000-03-16 Akim Demaille <akim@epita.fr>
1608 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
1609 and related variables so that the similarities are highlighted.
1611 2000-03-16 Akim Demaille <akim@epita.fr>
1613 * src/bison.s1: Properly indent CPP directives.
1615 2000-03-16 Akim Demaille <akim@epita.fr>
1617 * src/bison.s1: Properly indent the `alloca' CPP section.
1619 2000-03-16 Akim Demaille <akim@epita.fr>
1621 Do not hard code values of directories in `configure.in'.
1622 Update the `configure' tool chain.
1624 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
1626 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
1627 (AC_OUTPUT): Add m4/Makefile.
1628 Bump to bison 1.28a, 1.29 has never been released.
1629 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
1630 handled via src/Makefile.am.
1631 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
1632 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
1634 * Makefile.am (SUBDIRS): Add m4.
1635 (ACLOCAL_AM_FLAGS): New variable.
1636 (AUTOMAKE_OPTIONS): Add check-news.
1637 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
1638 the proper line number and file name.
1639 (DEFS): Propagate the location of bison library files and of the
1641 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
1643 * acinclude.m4: Remove, replaced by the directory m4.
1644 * m4/Makefile.am (EXTRA_DIST): New variable.
1645 * m4/gettext.m4: New file, from the fileutils.
1646 * m4/lcmessage.m4: Likewise
1647 * m4/progtest.m4: Likewise.
1648 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
1650 2000-03-10 Akim Demaille <akim@epita.fr>
1653 Formatting changes of various comments.
1654 Respect the GNU coding standards at various places.
1655 Don't use `_()' when no translation is needed.
1657 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1660 OS/2 honors TMPDIR environment variable.
1662 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1664 * doc/bison.texinfo: Tweaked spelling and grammar.
1666 Removed reference to price of printed copy.
1667 Mention BISON_SIMPLE and BISON_HAIRY.
1669 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1671 * configure.in, NEWS:
1672 Bison 1.29 released.
1674 1999-10-27 Jesse Thilo <jthilo@gnu.org>
1676 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
1677 Added reference card.
1679 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1681 * po/ru.po: Added Russian translation.
1683 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1685 * configure.in: Added Russian translation.
1687 1999-07-06 Jesse Thilo <jthilo@gnu.org>
1689 * configure.in, NEWS, README:
1690 Released version 1.28.
1692 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1695 Squashed redefinition warning on some systems.
1697 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
1698 Have configure build version string instead of relying on ANSI string
1701 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1703 * po/POTFILES.in: Got rid of version.c.
1705 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1707 * acconfig.h, configure.in:
1708 Have configure build version string instead of relying on ANSI string
1711 1999-06-08 Jesse Thilo <jthilo@gnu.org>
1714 Dropped mention of `+' for long-named options.
1716 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1718 * src/files.c: Added <unistd.h> for unlink().
1720 * src/Makefile.am, src/system.h:
1723 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1725 * README: Added a FAQ list.
1727 * configure.in, acconfig.h:
1730 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1732 * doc/FAQ, doc/Makefile.am:
1735 1999-05-19 Jesse Thilo <jthilo@gnu.org>
1737 * src/alloc.h, src/symtab.h, src/version.c:
1738 Protected inclusion of "config.h" with HAVE_CONFIG_H.
1740 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1742 * src/.cvsignore, src/Makefile.am:
1743 Reorganized: sources in `src', documentation in `doc'.
1745 * src/lex.c (literalchar):
1746 fixed the code for escaping double quotes (thanks
1749 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1751 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
1752 Adjusted paths to reflect directory reorganization.
1754 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1756 * doc/.cvsignore, doc/Makefile.am:
1757 Reorganized: sources in `src', documentation in `doc'.
1759 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1762 Updated AC_INIT file to reflect directory reorganization.
1764 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
1765 Reorganized: sources in `src', documentation in `doc'.
1767 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1770 Don't declare calloc() and realloc() if not necessary.
1772 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1774 * configure.in, acconfig.h, acinclude.m4:
1775 Don't declare calloc() and realloc() if not necessary.
1777 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1779 * po/.cvsignore: Added i18n support.
1781 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1783 * acconfig.h, configure.in, Makefile.am:
1786 1999-03-22 Jesse Thilo <jthilo@gnu.org>
1788 * src/bison.s1: Fixed #line numbers.
1790 1999-03-15 Jesse Thilo <jthilo@gnu.org>
1792 * po/es.po, po/fr.po, po/nl.po, po/de.po:
1793 Added PO files from Translation Project.
1795 1999-03-03 Jesse Thilo <jthilo@gnu.org>
1798 Added support for non-ANSI compilers (ansi2knr).
1800 1999-02-16 Jesse Thilo <jthilo@gnu.org>
1802 * configure.in: Bumped version number to 1.27.
1805 Added `bison.simple' to list of files removed by `make distclean'.
1807 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1809 * src/files.c, src/files.h:
1810 Defined locations of parser files in config.h instead of Makefile.
1812 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1814 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
1815 Defined locations of parser files in config.h instead of Makefile.
1817 1999-02-09 Jesse Thilo <jthilo@gnu.org>
1820 Removed inappropriate use of $< macro.
1822 1999-02-05 Jesse Thilo <jthilo@gnu.org>
1824 * po/Makefile.in.in, po/POTFILES.in:
1825 Add `po' directory skeleton.
1827 1999-01-27 Jesse Thilo <jthilo@gnu.org>
1829 * README: Document help-bison list.
1831 * configure.in: Add check for mkstemp().
1833 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1835 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
1836 Hush a few compiler warnings.
1839 Add tryclose(), which verifies that fclose was successful.
1840 Hush a couple of compiler warnings.
1842 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1844 * Makefile.am, OChangeLog:
1845 ChangeLog is now automatically generated. Include the old version as
1848 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1850 * 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:
1853 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1855 * doc/bison.texinfo: Fix formatting glitch.
1857 * doc/bison.texinfo: Update FSF address.
1859 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1861 * acconfig.h: Update FSF address.
1863 1999-01-08 Jesse Thilo <jthilo@gnu.org>
1866 Don't define PACKAGE here, since config.h defines it.
1868 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1870 * src/reader.c: Update copyright date.
1873 Ditch sprintf to statically-sized buffers in fatal/warn functions in
1874 favor of output directly to stderr (avoids buffer overruns).
1876 * src/reader.c: Some checks for premature EOF.
1878 * 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:
1879 Use prototypes if the compiler understands them.
1881 * src/files.c: Honor TMPDIR on Unix hosts.
1882 Use prototypes if the compiler understands them.
1885 Fix a couple of buffer overrun bugs.
1886 Use prototypes if the compiler understands them.
1888 * src/system.h: Include unistd.h and ctype.h.
1889 Use #ifdef instead of #if for NLS symbols.
1891 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1893 * doc/bison.texinfo:
1894 Delete comment "consider using @set for edition number, etc..." since
1895 we now are doing so.
1897 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1900 Use prototypes if the compiler understands them.
1902 * NEWS: Document 1.26 highlights.
1904 * Makefile.am: Require Automake 1.3 or later.
1907 Use prototypes if the compiler understands them.
1909 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1912 Use VERSION symbol from automake for version number.
1914 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1916 * acconfig.h, configure.in, version.cin:
1917 Use VERSION symbol from automake for version number.
1919 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1922 Distribute original version of simple parser (bison.s1), not built
1923 version (bison.simple).
1925 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1927 * doc/bison.texinfo: Add info dir entry.
1929 * doc/bison.texinfo:
1930 Let automake put version number into documentation.
1932 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1934 * src/bison.cld, src/build.com, src/vmshlp.mar:
1935 Add non-RCS files from /gd/gnu/bison.
1937 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1940 Document the BISON_HAIRY and BISON_SIMPLE variables.
1942 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1944 * src/version.c: Build version.c automatically.
1947 Fix token numbering (used to start at 258, not 257).
1949 * src/system.h: Include config.h.
1951 * src/getargs.c: Update bug report address.
1953 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
1954 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
1956 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1959 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1961 * configure.in, version.cin:
1962 Build version.c automatically.
1964 * AUTHORS: Add AUTHORS file.
1966 * README: Update bug report address.
1969 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1971 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
1974 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1976 * doc/bison.texinfo: Clean up some formatting.
1978 1998-05-05 Richard Stallman <rms@gnu.org>
1980 * doc/bison.texinfo:
1981 Explain better why to make a pure parser.
1983 1998-01-05 Richard Stallman <rms@gnu.org>
1985 * src/files.c (openfiles):
1986 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
1987 find a temporary directory, if possible. Do not unlink files while
1990 1997-08-25 Richard Stallman <rms@gnu.org>
1992 * src/reader.c (stack_offset;):
1993 Change some warni to warns.
1995 * src/lex.c (literalchar): Use warns, not warni.
1997 1997-06-28 Richard Stallman <rms@gnu.org>
1999 * src/bison.s1: Add a Bison version comment.
2001 * src/main.c (fatal, warn, berror):
2004 1997-06-28 Richard Stallman <rms@gnu.org>
2006 * Makefile.in (bison_version): New variable.
2007 (dist): Use that variable.
2008 (bison.s1): Substitute the Bison version into bison.simple.
2010 * bison.simple: Add a Bison version comment.
2012 1997-06-18 Richard Stallman <rms@gnu.org>
2014 * src/main.c (fatal, warn, berror):
2015 Make error messages standard.
2016 (toomany): Improve error message text.
2018 * 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:
2019 new.h renamed to alloc.h.
2021 1997-06-18 Richard Stallman <rms@gnu.org>
2023 * Makefile.in: new.h renamed to alloc.h.
2025 1997-05-24 Richard Stallman <rms@gnu.org>
2027 * src/lex.c (literalchar):
2028 Fix the code for escaping \, " and '.
2030 (lex): Avoid trouble when there are many chars
2031 to discard in a char literal with just several chars in it.
2033 1997-05-17 Richard Stallman <rms@gnu.org>
2036 Use malloc, if using alloca is troublesome.
2037 (YYSTACK_USE_ALLOCA): New flag macro.
2038 Define it for some systems and compilers.
2039 (YYSTACK_ALLOC): New macro.
2040 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2041 If it was malloc'd, free it.
2043 1997-05-17 Richard Stallman <rms@gnu.org>
2046 Use malloc, if using alloca is troublesome.
2047 (YYSTACK_USE_ALLOCA): New flag macro.
2048 Define it for some systems and compilers.
2049 (YYSTACK_ALLOC): New macro.
2050 (yyparse): Use YYSTACK_ALLOC to allocate stack.
2051 If it was malloc'd, free it.
2053 1997-04-23 Richard Stallman <rms@gnu.org>
2056 (alloca) [__hpux]: Always define as __builtin_alloca.
2058 1997-04-23 Richard Stallman <rms@gnu.org>
2061 (alloca) [__hpux]: Always define as __builtin_alloca.
2063 1997-04-22 Richard Stallman <rms@gnu.org>
2066 [__hpux]: Include alloca.h (right for HPUX 10)
2067 instead of declaring alloca (right for HPUX 9).
2069 * src/bison.s1 (__yy_memcpy):
2070 Declare arg `count' as unsigned int.
2071 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2073 1997-04-22 Richard Stallman <rms@gnu.org>
2076 [__hpux]: Include alloca.h (right for HPUX 10)
2077 instead of declaring alloca (right for HPUX 9).
2079 * bison.simple (__yy_memcpy):
2080 Declare arg `count' as unsigned int.
2081 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
2083 1997-01-03 Richard Stallman <rms@gnu.org>
2085 * src/allocate.c: [__STDC__ or _MSC_VER]:
2086 Declare calloc and realloc to return void *.
2088 1997-01-02 Richard Stallman <rms@gnu.org>
2091 [_MSC_VER]: Include stdlib.h and process.h.
2092 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
2094 * src/main.c (main): Return FAILURE as a value.
2095 (printable_version): Declare arg as int, not char.
2097 1997-01-02 Richard Stallman <rms@gnu.org>
2099 * Makefile.in (dist):
2100 Explicitly check for symlinks, and copy them.
2102 1996-12-19 Richard Stallman <rms@gnu.org>
2105 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
2107 1996-12-18 Paul Eggert <eggert@gnu.org>
2109 * src/bison.s1 (yyparse):
2110 If __GNUC__ and YYPARSE_PARAM are both defined,
2111 declare yyparse to have a void * argument.
2113 1996-12-18 Paul Eggert <eggert@gnu.org>
2115 * bison.simple (yyparse):
2116 If __GNUC__ and YYPARSE_PARAM are both defined,
2117 declare yyparse to have a void * argument.
2119 1996-12-17 Richard Stallman <rms@gnu.org>
2121 * src/reduce.c (nbits): Add some casts.
2123 1996-08-12 Richard Stallman <rms@gnu.org>
2125 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
2127 1996-08-12 Richard Stallman <rms@gnu.org>
2129 * bison.simple: Test _MSDOS as well as _MSDOS_.
2131 1996-07-31 Richard Stallman <rms@gnu.org>
2134 [__sun && __i386]: Include alloca.h.
2136 1996-07-31 Richard Stallman <rms@gnu.org>
2139 [__sun && __i386]: Include alloca.h.
2141 1996-07-30 Richard Stallman <rms@gnu.org>
2143 * src/bison.s1: Comment change.
2145 * src/bison.s1: Test _MSDOS_, not MSDOS.
2147 1996-07-30 Richard Stallman <rms@gnu.org>
2149 * bison.simple: Comment change.
2151 * bison.simple: Test _MSDOS_, not MSDOS.
2153 1996-06-01 Richard Stallman <rms@gnu.org>
2155 * 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:
2156 Insert `_' macro around many string constants.
2159 Insert `_' macro around many string constants.
2161 (main): Call setlocale, bindtextdomain and textdomain.
2163 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
2164 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
2165 [ENABLE_NLS]: Include libintl.h.
2166 [ENABLE_NLS] (gettext): Define.
2167 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
2168 (N_, PACKAGE, LOCALEDIR): New macros.
2170 1996-06-01 Richard Stallman <rms@gnu.org>
2172 * POTFILES.in: New file.
2174 * Makefile.in (allocate.o):
2175 Define target explicitly.
2177 * Makefile.in (CFLAGS): Set to @CFLAGS@.
2178 (LDFLAGS): Set to @LDFLAGS@.
2179 (configure): Run autoconf only if preceding `cd' succeeds.
2180 (bison.s1): Redirect output to temporary file then move the
2181 temporary to the target, rather than redirecting directly to bison.s1.
2182 (clean): Remove config.status and config.log.
2183 (distclean): Don't remove config.status here.
2185 1996-05-12 Richard Stallman <rms@gnu.org>
2188 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2190 1996-05-12 Richard Stallman <rms@gnu.org>
2193 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2195 1996-05-11 Richard Stallman <rms@gnu.org>
2197 * src/bison.s1 (__yy_memcpy):
2198 Really reorder the args, as was supposedly done on Feb 14 1995.
2199 (yyparse): Calls changed accordingly.
2201 1996-05-11 Richard Stallman <rms@gnu.org>
2203 * Makefile.in (dist): Don't use $(srcdir).
2205 * bison.simple (__yy_memcpy):
2206 Really reorder the args, as was supposedly done on Feb 14 1995.
2207 (yyparse): Calls changed accordingly.
2209 1996-01-27 Richard Stallman <rms@gnu.org>
2211 * src/output.c (output_rule_data):
2212 Test YYERROR_VERBOSE in the conditional
2213 around the definition of ttyname.
2215 1995-12-29 Richard Stallman <rms@gnu.org>
2218 Fix line numbers in #line commands.
2220 1995-12-29 Richard Stallman <rms@gnu.org>
2223 Fix line numbers in #line commands.
2225 1995-12-27 Richard Stallman <rms@gnu.org>
2227 * src/bison.s1 (YYPARSE_PARAM_DECL):
2228 In C++, make it always null.
2229 (YYPARSE_PARAM_ARG): New macro.
2230 (yyparse): Use YYPARSE_PARAM_ARG.
2232 1995-12-27 Richard Stallman <rms@gnu.org>
2234 * bison.simple (YYPARSE_PARAM_DECL):
2235 In C++, make it always null.
2236 (YYPARSE_PARAM_ARG): New macro.
2237 (yyparse): Use YYPARSE_PARAM_ARG.
2239 1995-11-29 Richard Stallman <rms@gnu.org>
2241 * doc/bison.texinfo:
2242 Describe literal string tokens, %raw, %no_lines, %token_table.
2244 1995-11-29 Daniel Hagerty <hag@gnu.org>
2246 * doc/bison.texinfo: Fixed update date
2248 1995-10-16 Richard Stallman <rms@gnu.org>
2250 * src/version.c: Version 1.25.
2252 1995-10-16 Richard Stallman <rms@gnu.org>
2254 * NEWS: *** empty log message ***
2256 1995-10-16 Richard Stallman <rms@gnu.org>
2258 * doc/bison.1, doc/bison.rnh:
2261 1995-10-15 Richard Stallman <rms@gnu.org>
2263 * src/vmsgetargs.c, src/getargs.c:
2264 Added -n, -k, and -raw switches.
2265 (noparserflag, toknumflag, rawtoknumflag): New variables.
2267 * src/symtab.h (SALIAS):
2268 New #define for adding aliases to %token.
2269 (struct bucket): Added `alias' field.
2271 * src/reduce.c (reduce_grammar):
2272 Revise error message.
2273 (print_notices): Remove final `.' from error message.
2275 * src/reader.c (reader_output_yylsp):
2277 (readgram): Use `#if 0' around code that accepted %command
2278 inside grammar rules: The documentation doesn't allow it,
2279 and it will fail since the %command processors scan for the next %.
2280 (parse_token_decl): Extended the %token
2281 declaration to allow a multi-character symbol as an alias.
2282 (parse_thong_decl): New function.
2283 (read_declarations): Added %thong declarations.
2284 (read_declarations): Handle NOOP to deal with allowing
2285 % declarations as another means to specify the flags.
2286 (readgram): Allow %prec prior to semantics embedded in a rule.
2287 (skip_to_char, read_declarations, copy_definition)
2288 (parse_token_decl, parse_start_decl, parse_type_decl)
2289 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
2290 (get_type_name, copy_guard, copy_action, readgram)
2291 (get_type, packsymbols): Revised most error messages.
2292 Changed `fatal' to `warnxxx' to avoid aborting for error.
2293 Revised and use multiple warnxxx functions to avoid using VARARGS1.
2294 (read_declarations): Improve the error message for
2295 an invalid character. Do not abort.
2296 (read_declarations, copy_guard, copy_action): Use
2297 printable_version to avoid unprintable characters in printed output.
2298 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
2299 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
2300 Allow the type of a non-terminal can be given
2301 more than once, as long as all specifications give the same type.
2304 (output_headers, output_trailers, output, output_gram)
2305 (output_rule_data): Implement noparserflag variable.
2306 Implement toknumflag variable.
2307 (output): Call reader_output_yylsp to output LTYPESTR.
2309 * src/main.c (main):
2310 If reader sees an error, don't process the grammar.
2311 (fatals): Updated to not use VARARGS1.
2312 (printable_version, int_to_string, warn, warni, warns, warnss)
2313 (warnsss): New error reporting functions. Avoid abort for error.
2316 Added THONG and NOOP for alias processing.
2317 Added SETOPT for the new code that allows setting options with %flags.
2320 Include getopt.h. Add some extern decls.
2321 (safegetc): New function to deal with EOF gracefully.
2322 (literalchar); new function to deal with reading \ escapes.
2323 (lex): Use literalchar.
2324 (lex): Implemented "..." tokens.
2325 (literalchar, lex, parse_percent_token): Made tokenbuffer
2326 always contain the token. This includes growing the token
2327 buffer while reading an integer.
2328 (parse_percent_token): Replaced if-else statement with percent_table.
2329 (parse_percent_token): Added % declarations as another
2330 way to specify the flags -n, -l, and -r. Also added hooks for
2331 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
2332 major changes to files.c.
2333 (lex) Retain in the incoming stream a character following
2335 (skip_white_space, lex): Revised most error messages
2336 and changed fatal to warn to avoid aborting.
2337 (percent_table): Added %thong declarations.
2339 * src/gram.h: Comment changes.
2341 * src/files.c (openfiles, open_extra_files, done):
2343 and actfile file. Handle noparserflag. Both for -n switch.
2345 * src/conflicts.c (resolve_sr_conflict):
2346 Remove use of alloca.
2348 1995-06-01 Jim Meyering <meyering@gnu.org>
2350 * doc/bison.texinfo: *** empty log message ***
2352 1995-05-06 Richard Stallman <rms@gnu.org>
2354 * src/bison.s1: Comment change.
2356 1995-05-06 Richard Stallman <rms@gnu.org>
2358 * bison.simple: Comment change.
2360 1995-05-03 Richard Stallman <rms@gnu.org>
2362 * src/version.c: Version now 1.24.
2364 * src/bison.s1: Change distribution terms.
2366 * src/version.c: Version now 1.23.
2368 1995-05-03 Richard Stallman <rms@gnu.org>
2370 * doc/bison.texinfo:
2371 Rewrite "Conditions for Using Bison".
2372 Update version to 1.24.
2374 1995-05-03 Richard Stallman <rms@gnu.org>
2376 * bison.simple: Change distribution terms.
2378 1995-02-23 Richard Stallman <rms@gnu.org>
2380 * src/files.c: Test __VMS_POSIX as well as VMS.
2382 1995-02-14 Jim Meyering <meyering@gnu.org>
2384 * src/bison.s1 (__yy_memcpy):
2385 Renamed from __yy_bcopy to avoid
2386 confusion. Reverse FROM and TO arguments to be consistent with
2389 1995-02-14 Jim Meyering <meyering@gnu.org>
2391 * bison.simple (__yy_memcpy):
2392 Renamed from __yy_bcopy to avoid
2393 confusion. Reverse FROM and TO arguments to be consistent with
2396 1994-11-10 David J. MacKenzie <djm@gnu.org>
2402 * Makefile.in (DISTFILES): Include NEWS.
2404 * Makefile.in (DISTFILES):
2405 Include install-sh, not install.sh.
2407 * configure.in: Update to Autoconf v2 macro names.
2409 1994-10-05 David J. MacKenzie <djm@gnu.org>
2411 * Makefile.in: fix typo
2413 * Makefile.in (prefix, exec_prefix):
2414 Let configure set them.
2416 1994-09-28 David J. MacKenzie <djm@gnu.org>
2418 * Makefile.in: Set datadir to $(prefix)/share.
2420 1994-09-15 Richard Stallman <rms@gnu.org>
2423 Update copyright notice and GPL version.
2425 1994-09-15 Richard Stallman <rms@gnu.org>
2428 Update copyright notice and GPL version.
2430 1994-07-12 Richard Stallman <rms@gnu.org>
2432 * src/reduce.c, src/reader.c:
2435 1994-05-05 David J. MacKenzie <djm@gnu.org>
2437 * Makefile.in: entered into RCS
2439 1994-03-26 Richard Stallman <rms@gnu.org>
2441 * src/bison.s1: entered into RCS
2443 1994-03-26 Richard Stallman <rms@gnu.org>
2445 * bison.simple: entered into RCS
2447 1994-03-25 Richard Stallman <rms@gnu.org>
2449 * src/main.c: entered into RCS
2451 1994-03-24 Richard Stallman <rms@gnu.org>
2453 * src/conflicts.c: entered into RCS
2455 1994-01-02 Richard Stallman <rms@gnu.org>
2457 * Makefile.in: *** empty log message ***
2459 1993-11-21 Richard Stallman <rms@gnu.org>
2461 * src/bison.s1: *** empty log message ***
2463 1993-11-21 Richard Stallman <rms@gnu.org>
2465 * doc/bison.texinfo: entered into RCS
2467 * doc/bison.texinfo: *** empty log message ***
2469 1993-11-21 Richard Stallman <rms@gnu.org>
2471 * bison.simple: *** empty log message ***
2473 1993-10-25 David J. MacKenzie <djm@gnu.org>
2475 * doc/bison.texinfo: *** empty log message ***
2477 1993-10-19 Richard Stallman <rms@gnu.org>
2479 * src/bison.s1: *** empty log message ***
2481 1993-10-19 Richard Stallman <rms@gnu.org>
2483 * bison.simple: *** empty log message ***
2485 1993-10-14 Richard Stallman <rms@gnu.org>
2487 * src/bison.s1: *** empty log message ***
2489 1993-10-14 Richard Stallman <rms@gnu.org>
2491 * bison.simple: *** empty log message ***
2493 1993-09-14 David J. MacKenzie <djm@gnu.org>
2495 * doc/bison.texinfo: *** empty log message ***
2497 1993-09-13 Noah Friedman <friedman@gnu.org>
2499 * Makefile.in: *** empty log message ***
2501 1993-09-10 Richard Stallman <rms@gnu.org>
2503 * src/conflicts.c: *** empty log message ***
2505 * src/system.h: entered into RCS
2507 1993-09-10 Richard Stallman <rms@gnu.org>
2509 * doc/bison.1: entered into RCS
2511 1993-09-06 Noah Friedman <friedman@gnu.org>
2513 * src/version.c: entered into RCS
2515 1993-09-06 Noah Friedman <friedman@gnu.org>
2517 * Makefile.in: *** empty log message ***
2519 1993-07-30 David J. MacKenzie <djm@gnu.org>
2521 * Makefile.in: *** empty log message ***
2523 1993-07-24 Richard Stallman <rms@gnu.org>
2525 * src/bison.s1: *** empty log message ***
2527 1993-07-24 Richard Stallman <rms@gnu.org>
2529 * bison.simple: *** empty log message ***
2531 1993-07-08 David J. MacKenzie <djm@gnu.org>
2533 * Makefile.in: *** empty log message ***
2535 1993-07-04 Richard Stallman <rms@gnu.org>
2537 * src/bison.s1: *** empty log message ***
2539 1993-07-04 Richard Stallman <rms@gnu.org>
2541 * bison.simple: *** empty log message ***
2543 1993-06-26 David J. MacKenzie <djm@gnu.org>
2545 * src/getargs.c: entered into RCS
2547 1993-06-26 David J. MacKenzie <djm@gnu.org>
2549 * doc/bison.texinfo: *** empty log message ***
2551 * doc/bison.1: New file.
2553 1993-06-25 Richard Stallman <rms@gnu.org>
2555 * src/getargs.c: New file.
2557 1993-06-16 Richard Stallman <rms@gnu.org>
2559 * src/bison.s1: *** empty log message ***
2561 1993-06-16 Richard Stallman <rms@gnu.org>
2563 * bison.simple: *** empty log message ***
2565 1993-06-03 Richard Stallman <rms@gnu.org>
2567 * src/bison.s1: New file.
2569 1993-06-03 Richard Stallman <rms@gnu.org>
2571 * doc/bison.texinfo: *** empty log message ***
2573 1993-06-03 Richard Stallman <rms@gnu.org>
2575 * bison.simple: New file.
2577 1993-05-19 Richard Stallman <rms@gnu.org>
2579 * doc/bison.texinfo: New file.
2581 1993-05-07 Noah Friedman <friedman@gnu.org>
2583 * Makefile.in: *** empty log message ***
2585 1993-04-28 Noah Friedman <friedman@gnu.org>
2587 * src/reader.c: *** empty log message ***
2589 1993-04-23 Noah Friedman <friedman@gnu.org>
2591 * src/alloc.h: entered into RCS
2593 1993-04-20 David J. MacKenzie <djm@gnu.org>
2595 * src/version.c: *** empty log message ***
2597 * src/files.c, src/allocate.c:
2600 * src/reader.c: *** empty log message ***
2602 * src/lex.c: entered into RCS
2604 * src/conflicts.c: New file.
2606 * src/symtab.c: entered into RCS
2608 * src/alloc.h: New file.
2610 * src/LR0.c: entered into RCS
2612 1993-04-18 Noah Friedman <friedman@gnu.org>
2614 * src/reader.c: New file.
2616 * src/version.c: *** empty log message ***
2618 1993-04-18 Noah Friedman <friedman@gnu.org>
2620 * Makefile.in: *** empty log message ***
2622 1993-04-17 Noah Friedman <friedman@gnu.org>
2624 * Makefile.in: *** empty log message ***
2626 1993-04-15 Richard Stallman <rms@gnu.org>
2628 * src/main.c, src/files.c:
2631 1993-04-15 Noah Friedman <friedman@gnu.org>
2633 * configure.in: entered into RCS
2635 * configure.in: *** empty log message ***
2637 * configure.in: New file.
2639 1993-04-14 Richard Stallman <rms@gnu.org>
2641 * Makefile.in: New file.
2643 1993-04-13 Richard Stallman <rms@gnu.org>
2645 * src/version.c: New file.
2647 1993-03-25 Richard Stallman <rms@gnu.org>
2649 * src/output.c: entered into RCS
2651 1992-09-25 Richard Stallman <rms@gnu.org>
2653 * configure.bat: entered into RCS
2655 1992-06-22 Richard Stallman <rms@gnu.org>
2657 * src/vmsgetargs.c: entered into RCS
2659 1992-06-22 Richard Stallman <rms@gnu.org>
2661 * doc/bison.rnh: entered into RCS
2663 1992-04-20 David J. MacKenzie <djm@gnu.org>
2665 * README: entered into RCS
2667 1992-01-22 Richard Stallman <rms@gnu.org>
2669 * src/machine.h: entered into RCS
2671 1991-12-21 Richard Stallman <rms@gnu.org>
2673 * src/lalr.c, src/closure.c:
2676 1991-12-20 Richard Stallman <rms@gnu.org>
2678 * src/state.h: entered into RCS
2680 1991-12-18 Richard Stallman <rms@gnu.org>
2682 * src/print.c, src/nullable.c, src/derives.c:
2685 1991-11-03 David J. MacKenzie <djm@gnu.org>
2687 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
2690 1988-09-09 Richard Stallman <rms@gnu.org>
2692 * src/bison.hairy: entered into RCS
2694 1987-12-16 Richard Stallman <rms@gnu.org>
2696 * REFERENCES: entered into RCS