]> git.saurik.com Git - bison.git/blob - ChangeLog
* src/reader.c (reader): Delete obsolete call to function
[bison.git] / ChangeLog
1 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2
3 * src/reader.c (reader): Delete obsolete call to function
4 output_trailers and output_headers.
5 * src/output.h: Remove obsolete functions prototypes of output_headers
6 and output_trailers.
7
8 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
9
10 * src/main.c: Include macrotab.h.
11 * src/macrotab.h (macro_entry_s): Constify fields.
12 Adjust functions prototypes.
13 * src/macrotab.c (macro_insert): Constify key and value.
14 (macro_find): Constify key.
15 (macro_insert): Include 'xalloc.h'
16 (macro_insert): Use XMALLOC.
17 (macro_find): Constify return value.
18 * src/output.c (output_table_data): Rename table to table_data.
19 (output_parser): Constify macro_key, macro_value.
20
21 2001-08-30 Marc Autret <autret_m@epita.fr>
22
23 * src/reader.c (parse_skel_decl): New.
24 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
25 * src/lex.h (token_t): New token `tok_skel'.
26 * src/lex.c (percent_table): Add skeleton option entry.
27 Standardize.
28
29 2001-08-29 Marc Autret <autret_m@epita.fr>
30
31 * src/bison.simple: Add %%user_code directive at the end.
32 * src/reader.c (read_additionnal_code): New.
33 (reader): Use it.
34 * src/output.c (output_program): Remove.
35 (output): Update.
36
37 2001-08-28 Marc Autret <autret_m@epita.fr>
38
39 * src/output.c (output_actions): Clean up.
40 (output_gram): CPP-out useless code.
41 * src/reader.c (reader): Clean up, CPP-out useless code.
42
43 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
44
45 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
46 directive.
47 * src/bison.simple: Add `%%definitions'.
48
49 2001-08-28 Marc Autret <autret_m@epita.fr>
50
51 * config/depcomp: New file.
52
53 2001-08-27 Paul Eggert <eggert@twinsun.com>
54
55 * src/bison.simple (yyparse): Don't take the address of an
56 item before the start of an array, as that doesn't conform to
57 the C Standard.
58
59 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
60
61 * src/output.c (output): Remove the initialization of the macro
62 obstack. It was done too late here.
63
64 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
65 completely wrong.
66 (reader): Initialize the macro obstack here, since we need it to grow
67 '%define' directives.
68
69 * src/reader.h: Declare the macro obstack as extern.
70
71 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
72
73 * src/output.c (output_parser): Fix. Store single '%' characters in
74 the output obstack instead of throwing them away.
75
76 2001-08-27 Akim Demaille <akim@epita.fr>
77
78 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
79
80 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
81
82 * lib/Makefile.am: Adjust.
83
84 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
85
86 * src/bison.simple: Update and add '%%' directives.
87
88 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
89
90 * src/reader.c (reader): Remove calls to 'output_headers' and
91 'output_trailers'. Remove some C output.
92 (readgram): Disable a piece of code that was writing a default
93 definition for 'YYSTYPE'.
94 (reader_output_yylsp): Remove.
95 (packsymbols): Output token defintions to a macro.
96 (copy_definition): Disable C output.
97
98 * src/reader.c (parse_macro_decl): New function used to parse macro
99 declarations.
100 (copy_string2): Put the body of copy_string into this new function.
101 Add a parameter to let the caller choose whether he wants to copy the
102 string delimiters or not.
103 (copy_string): Be a simple call to copy_string2 with the last argument
104 bound to true.
105 (read_declarations): Add case for macro definition.
106 (copy_identifier): New.
107 (parse_macro_decl): Read macro identifiers using copy_identifier
108 rather than lex.
109
110 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
111
112 * src/output.c (prepare): Add prefixed names.
113 (output_parser): Output semantic actions.
114 (output_parser): Fix bug on '%%line' directives.
115
116 * src/output.c (output_headers): Remove. The C code printed by this
117 function should now be in the skeletons.
118 (output_trailers): Remove.
119 (output): Disable call to 'reader_output_yylsp'.
120 (output_rule_data): Do not output tables to the table obstack.
121
122 * src/output.c: Remove some C dedicated output.
123 Improve the use of macro and output obstacks.
124 (output_defines): Remove.
125
126 * src/output.c (output_token_translations): Associate 'translate'
127 table with a macro. No output to the table obstack.
128 (output_gram): Same for 'rhs' and 'prhs'.
129 (output_stos): Same for 'stos'.
130 (output_rule_data): Same for 'r1' and 'r2'.
131 (token_actions): Same for 'defact'.
132 (goto_actions): Same for 'defgoto'.
133 (output_base): Same for 'pact' and 'pgoto'.
134 (output_table): Same for 'table'.
135 (output_check): Same for 'check'.
136
137 * src/output.c (output_table_data): New function.
138 (output_short_table): Remove.
139 (output_short_or_char_table): Remove.
140
141 * src/output.c (output_parser): Replace most of the skeleton copy code
142 with something new. Skeletons are now processed character by character
143 rather than line by line, and Bison looks for '%%' macros. This is the
144 first step in making Bison's output process (a lot) more flexible.
145 (output_parser): Use the macro table.
146
147 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
148
149 * src/main.c (main): Initialize the macro table.
150
151 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
152
153 * src/lex.c (percent_table): Add tok_define.
154 * src/lex.h: Add tok_define.
155
156 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
157
158 * src/macrotab.c: New file.
159 * src/macrotab.h: New file.
160 * src/Makefile.am: Update.
161
162 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
163
164 * lib/hash.c: New file.
165 * lib/hash.h: New file.
166 * lib/Makefile.am: Update.
167
168 2001-08-15 Akim Demaille <akim@epita.fr>
169
170 Version 1.28c.
171
172 2001-08-15 Marc Autret <autret_m@epita.fr>
173
174 * src/reader.c (readgram): Indent output macro YYSTYPE.
175 (packsymbols): Likewise.
176 (output_token_defines): Likewise.
177 * src/files.c: Standardize.
178 (compute_header_macro): New.
179 (defines_obstack_save): New. Use compute_header_macro.
180 (output_files): Update. Use defines_obstack_save.
181
182 2001-08-15 Akim Demaille <akim@epita.fr>
183
184 * doc/bison.texinfo (Table of Symbols): Document
185 YYSTACK_USE_ALLOCA.
186
187 2001-08-15 Akim Demaille <akim@epita.fr>
188
189 * missing: Update from CVS Automake.
190 * config/config.guess, config/config.sub, config/texinfo.tex:
191 Update from gnu.org.
192
193 2001-08-15 Akim Demaille <akim@epita.fr>
194
195 * Makefile.maint: Sync with CVS Autoconf.
196
197 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
198
199 * doc/bison.texinfo: Include GNU Free Documentation License from
200 `fdl.texi'.
201 * doc/fdl.texi: Add to package.
202
203 2001-08-14 Marc Autret <autret_m@epita.fr>
204
205 Turn on %{source,header}_extension features.
206
207 * src/lex.c (percent_table): Un-CPP out header_extension and
208 source_extension.
209 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
210 (compute_exts_from_src): Remove conditions. It restores priorities
211 between options.
212
213 2001-08-14 Marc Autret <autret_m@epita.fr>
214
215 * src/files.c (compute_base_names): Add extensions computing when
216 `--file-prefix' used.
217 Standardize function calls.
218
219 2001-08-13 Marc Autret <autret_m@epita.fr>
220
221 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
222 defining it (defined but null disables alloca).
223
224 2001-08-13 Marc Autret <autret_m@epita.fr>
225
226 * src/bison.simple (_yy_memcpy): CPP reformat.
227
228 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
229
230 * tests/atconfig.in (CPPFLAGS): Fix.
231
232 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
233
234 * doc/bison.texinfo: Include GNU General Public License from
235 `gpl.texi'.
236 * doc/gpl.texi: Add to package.
237
238 2001-08-10 Marc Autret <autret_m@epita.fr>
239
240 * src/print_graph.h: Fix.
241 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
242
243 2001-08-10 Akim Demaille <akim@epita.fr>
244
245 * src/system.h: Provide default declarations for stpcpy, strndup,
246 and strnlen.
247
248 2001-08-10 Robert Anisko <anisko_r@epita.fr>
249
250 * doc/bison.texinfo (Locations): Update @$ stuff.
251
252 2001-08-09 Robert Anisko <anisko_r@epita.fr>
253
254 * src/bison.simple (YYLLOC_DEFAULT): Update.
255 (yyparse): Adjust.
256
257 2001-08-08 Marc Autret <autret_m@epita.fr>
258
259 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
260 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
261 Reported by Fabrice Bauzac.
262
263 2001-08-08 Marc Autret <autret_m@epita.fr>
264
265 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
266 * src/vcg.c (output_node): Fix.
267 * src/vcg.h: Cleanup.
268 * src/print_graph.c: Add comments.
269 (node_output_size): New global variable. Simplify the formatting of
270 the VCG graph output.
271 (print_actions): Unused code is now used. It notifies the final state
272 and no action states in the VCG graph. It also give the reduce actions.
273 The `shift and goto' edges are red and the `go to state' edges are
274 blue.
275 Get the current node name and node_obstack by argument.
276 (node_obstack): New variable.
277 (print_state): Manage node_obstack.
278 (print_core): Use node_obstack given by argument.
279 A node is not only computed here but in print_actions also.
280 (print_graph): CPP out useless code instead of commenting it.
281
282 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
283
284 * tests/atconfig.in (CPPFLAGS): Fix.
285
286 2001-08-07 Akim Demaille <akim@epita.fr>
287
288 * src/print_graph.c (quote): New.
289 (print_core): Use it.
290
291 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
292
293 * src/vcg.c (complain.h): Include it.
294 Unepitaize `return' invocations.
295 [NDEBUG] (main): Remove.
296 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
297 * src/files.c (open_files): Initialize graph_obstack.
298 * src/print_graph.c (print_actions): CPP out useless code.
299 (print_core): Don't output the last `\n' in labels.
300 Use `quote'.
301 * src/files.c (output_files): Output the VCG file.
302 * src/main.c (main): Invoke print_graph ();
303
304 2001-08-06 Marc Autret <autret_m@epita.fr>
305
306 Automaton VCG graph output.
307 Using option ``-g'' or long option ``--graph'', you can generate
308 a gram_filename.vcg file containing a VCG description of the LALR (1)
309 automaton of your grammar.
310
311 * src/main.c: Call to print_graph() function.
312 * src/getargs.h: Update.
313 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
314 (graph_flag): New flag.
315 (longopts): Update.
316 (getargs): Add case `g'.
317 * src/files.c (graph_obstack): New obstack struct.
318 (open_files): Initialize new obstack.
319 (output_files): Saves graph_obstack if required.
320 * src/files.h (graph_obstack): New extern declaration.
321 * src/Makefile.am: Add new source files.
322
323 2001-08-06 Marc Autret <autret_m@epita.fr>
324
325 * src/print_graph.c, src/print_graph.h (graph): New.
326 * src/vcg.h: New file.
327 * src/vcg.c: New file, VCG graph handling.
328
329 2001-08-06 Marc Autret <autret_m@epita.fr>
330
331 Add of %source_extension and %header_extension which specify
332 the source or/and the header output file extension.
333
334 * src/files.c (compute_base_names): Remove initialisation of
335 src_extension and header_extension.
336 (compute_exts_from_gf): Update.
337 (compute_exts_from_src): Update.
338 (output_files): Update.
339 * src/reader.c (parse_header_extension_decl): New.
340 (parse_source_extension_decl): New.
341 (read_declarations): New case statements for the new tokens.
342 * src/lex.c (percent_table): Add entries for %source_extension
343 and %header_extension.
344 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
345
346 2001-08-06 Marc Autret <autret_m@epita.fr>
347
348 * configure.in: Bump to 1.28c.
349 * doc/bison.texinfo: Texinfo thingies.
350
351 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
352
353 * tests/atconfig.in (CPPFLAGS): Add.
354 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
355
356 2001-08-03 Akim Demaille <akim@epita.fr>
357
358 Version 1.28b.
359
360 2001-08-03 Akim Demaille <akim@epita.fr>
361
362 * tests/Makefile.am (check-local): Ship testsuite.
363 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
364 Include `string.h'.
365
366 2001-08-03 Akim Demaille <akim@epita.fr>
367
368 * configure.in: Try using -Wformat when compiling.
369
370 2001-08-03 Akim Demaille <akim@epita.fr>
371
372 * configure.in: Bump to 1.28b.
373
374 2001-08-03 Akim Demaille <akim@epita.fr>
375
376 * src/complain.c: Adjust strerror_r portability issues.
377
378 2001-08-03 Akim Demaille <akim@epita.fr>
379
380 Version 1.28a.
381
382 2001-08-03 Akim Demaille <akim@epita.fr>
383
384 * src/getargs.c, src/getarg.h (skeleton)): Constify.
385 * src/lex.c (literalchar): Avoid name clashes on `buf'.
386 * src/getargs.c: Include complain.h.
387 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
388 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
389
390 2001-08-03 Akim Demaille <akim@epita.fr>
391
392 * src/reader.c (readgram): Display hidden chars in error messages.
393
394 2001-08-03 Akim Demaille <akim@epita.fr>
395
396 Update to gettext 0.10.39.
397
398 2001-08-03 Akim Demaille <akim@epita.fr>
399
400 * lib/strspn.c: New.
401
402 2001-08-01 Marc Autret <autret_m@epita.fr>
403
404 * doc/bison.texinfo: Update.
405 * doc/bison.1 (mandoc): Update.
406 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
407 * src/files.c: Support output files extensions computing.
408 (src_extension): New static variable.
409 (header_extension): New static variable.
410 (tr): New function.
411 (get_extension_index): New function, gets the index of an extension
412 filename in a string.
413 (compute_exts_from_gf): New function, computes extensions from the
414 grammar file extension.
415 (compute_exts_from_src): New functions, computes extensions from the
416 C source file extension, file given by ``-o'' option.
417 (compute_base_names): Update.
418 (output_files): Update.
419
420 2001-08-01 Robert Anisko <anisko_r@epita.fr>
421
422 * doc/bison.texi: Document @$.
423 (Locations): New section.
424
425 2001-07-18 Akim Demaille <akim@epita.fr>
426
427 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
428 * config/prev-version.txt, config/move-if-change: New.
429 * Makefile.am: Adjust.
430
431 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
432
433 * src/bison.simple (yyparse): Suppress warning `comparaison
434 between signed and unsigned'.
435
436 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
437
438 * src/getargs.h (raw_flag): Remove.
439 * src/getargs.c: Die on `-r'/`--raw'.
440 * src/lex.c (parse_percent_token): Die on `%raw'.
441 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
442 * tests/calc.at: Suppress test with option `--raw'.
443
444 2001-07-14 Akim Demaille <akim@epita.fr>
445
446 * config/: New.
447 * configure.in: Require Autoconf 2.50.
448 Update to gettext 0.10.38.
449
450 2001-03-16 Akim Demaille <akim@epita.fr>
451
452 * doc/bison.texinfo: ANSIfy the examples.
453
454 2001-03-16 Akim Demaille <akim@epita.fr>
455
456 * getargs.c (skeleton): New variable.
457 (longopts): --skeleton is a new option.
458 (shortopts, getargs): -S is a new option.
459 * getargs.h: Declare skeleton.
460 * output.c (output_parser): Use it.
461
462 2001-03-16 Akim Demaille <akim@epita.fr>
463
464 * m4/strerror_r.m4: New.
465 * m4/error.m4: Run AC_FUNC_STRERROR_R.
466 * lib/error.h, lib/error.c: Update.
467
468 2001-03-16 Akim Demaille <akim@epita.fr>
469
470 * src/getargs.c (longopts): Clean up.
471
472 2001-02-21 Akim Demaille <akim@epita.fr>
473
474 * src/reader.c (gensym): `gensym_count' is your own.
475 Use a static buf to create the symbol name, as token_buffer is no
476 longer a buffer.
477
478 2001-02-08 Akim Demaille <akim@epita.fr>
479
480 * src/conflicts.c (conflict_report): Be sure not to append to res
481 between two calls, which could happen if both first sprintf were
482 skipped, but not the first cp += strlen.
483
484 2001-02-08 Akim Demaille <akim@epita.fr>
485
486 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
487 New, from fileutils 4.0.37.
488 * configure.in: Require Autoconf 2.49c. I took some time before
489 making this decision. This is the only way out for portability
490 issues in Bison, it would mean way too much duplicate effort to
491 import in Bison features implemented in 2.49c since 2.13.
492 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
493
494 2001-02-02 Akim Demaille <akim@epita.fr>
495
496 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
497 * lib/xalloc.h, lib/xmalloc.c: Update.
498
499 2001-01-19 Akim Demaille <akim@epita.fr>
500
501 Get rid of the ad hoc handling of token_buffer in the scanner: use
502 the obstacks.
503
504 * src/lex.c (token_obstack): New.
505 (init_lex): Initialize it. No longer call...
506 (grow_token_buffer): this. Remove it.
507 Adjust all the places which used it to use the obstack.
508
509 2001-01-19 Akim Demaille <akim@epita.fr>
510
511 * src/lex.h: Rename all the tokens:
512 s/\bENDFILE\b/tok_eof/g;
513 s/\bIDENTIFIER\b/tok_identifier/g;
514 etc.
515 Let them be enums, not #define, to ease debugging.
516 Adjust all the code.
517
518 2001-01-18 Akim Demaille <akim@epita.fr>
519
520 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
521 * src/lex.c (maxtoken, grow_token_buffer): Static.
522
523 2001-01-18 Akim Demaille <akim@epita.fr>
524
525 Since we now use obstacks, more % directives can be enabled.
526
527 * src/lex.c (percent_table): Also accept `%yacc',
528 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
529 `%debug'.
530 Handle the actions for `%semantic_parser' and `%pure_parser' here,
531 instead of returning a token.
532 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
533 * src/reader.c (read_declarations): Adjust.
534 * src/files.c (open_files): Don't call `compute_base_names', don't
535 compute `attrsfile' since they depend upon data which might be
536 *in* the input file now.
537 (output_files): Do it here.
538 * src/output.c (output_headers): Document the fact that this patch
539 introduces a guaranteed SEGV for semantic parsers.
540 * doc/bison.texinfo: Document them.
541 * tests/suite.at: Exercise these %options.
542
543 2000-12-20 Akim Demaille <akim@epita.fr>
544
545 Also handle the output file (--verbose) with obstacks.
546
547 * files.c (foutput): Remove.
548 (output_obstack): New.
549 Adjust all dependencies.
550 * src/conflicts.c: Return a string.
551 * src/system.h (obstack_grow_string): Rename as...
552 (obstack_sgrow): this. Be ready to work with non literals.
553 (obstack_fgrow4): New.
554
555 2000-12-20 Akim Demaille <akim@epita.fr>
556
557 * src/files.c (open_files): Fix the computation of short_base_name
558 in the case of `-o foo.tab.c'.
559
560 2000-12-20 Akim Demaille <akim@epita.fr>
561
562 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
563 (copy_dollar): Now that everything uses obstacks, get rid of the
564 FILE * parameters.
565
566 2000-12-20 Akim Demaille <akim@epita.fr>
567
568 * src/files.c (open_files): Actually the `.output' file is based
569 on the short_base_name, not base_name.
570 * tests/suite.at (Checking output file names): Adjust.
571
572 2000-12-20 Akim Demaille <akim@epita.fr>
573
574 * src/bison.s1: Remove, we now use directly...
575 * src/bison.simple: this.
576 * src/Makefile.am: Use pkgdata instead of data.
577
578 2000-12-20 Akim Demaille <akim@epita.fr>
579
580 * src/files.c (guard_obstack): New.
581 (open_files): Initialize it.
582 (output_files): Dump it...
583 * src/files.h: Export it.
584 * src/reader.c (copy_guard): Use it.
585
586 2000-12-19 Akim Demaille <akim@epita.fr>
587
588 * src/files.c (outfile, defsfile, actfile): Removed as global
589 vars.
590 (open_files): Don't compute them.
591 (output_files): Adjust.
592 (base_name, short_base_name): Be global.
593 Adjust dependencies.
594
595 2000-12-19 Akim Demaille <akim@epita.fr>
596
597 * src/files.c (strsuffix): New.
598 (stringappend): Be just like strcat but allocate.
599 (base_names): Eve out from open_files.
600 Try to simplify the rather hairy computation of base_name and
601 short_base_name.
602 (open_files): Use it.
603 * tests/suite.at (Checking output file names): New test.
604
605 2000-12-19 Akim Demaille <akim@epita.fr>
606
607 * src/system.h (obstack_grow_literal_string): Rename as...
608 (obstack_grow_string): this.
609 * src/output.c (output_parser): Recognize `%% actions' instead of
610 `$'.
611 * src/bison.s1: s/$/%% actions/.
612 * src/bison.hairy: Likewise.
613
614 2000-12-19 Akim Demaille <akim@epita.fr>
615
616 * src/output.c (output_parser): Compute the `#line' lines when
617 there are.
618 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
619 Suggested by Hans Aberg.
620
621 2000-12-19 Akim Demaille <akim@epita.fr>
622
623 Let the handling of the skeleton files be local to the procedures
624 that use it.
625
626 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
627 longer static.
628 (fparser, open_extra_files): Remove.
629 (open_files, output_files): Don't take care of fparser.
630 * src/files.h: Adjust.
631 * src/output.c (output_parser): Open and close the file to the
632 skeleton.
633 * src/reader.c (read_declarations): When %semantic_parser, open
634 fguard.
635
636 2000-12-19 Akim Demaille <akim@epita.fr>
637
638 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
639 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
640
641 2000-12-19 Akim Demaille <akim@epita.fr>
642
643 * src/files.c (open_files): Yipee! We no longer need all the code
644 looking for `/tmp' since we have no tmp file.
645
646 2000-12-19 Akim Demaille <akim@epita.fr>
647
648 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
649 New macros.
650 * src/files.c (open_files): Less dependency on MSDOS etc.
651
652 2000-12-14 Akim Demaille <akim@epita.fr>
653
654 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
655 Provide a default definition.
656 Use it when executing the default @ action.
657 * src/reader.c (reader_output_yylsp): No longer include
658 `timestamp' and `text' in the default YYLTYPE.
659
660 2000-12-12 Akim Demaille <akim@epita.fr>
661
662 * src/reader.c (copy_definition, parse_union_decl, copy_action)
663 (copy_guard): Quote the file names.
664 Reported by Laurent Mascherpa.
665
666 2000-12-12 Akim Demaille <akim@epita.fr>
667
668 * src/output.c (output_headers, output_program, output): Be sure
669 to escape special characters when outputting filenames.
670 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
671 (output_headers): Don't depend on them, Use ACTSTR.
672
673 2000-11-17 Akim Demaille <akim@epita.fr>
674
675 * lib/obstack.h: Formatting changes.
676 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
677 prevents type checking.
678 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
679 cast the value to (void *): assigning a `foo *' to a `void *'
680 variable is valid.
681 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
682 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
683 append characters.
684
685 2000-11-17 Akim Demaille <akim@epita.fr>
686
687 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
688 as...
689 (suite.m4, regression.m4, calc.m4): these.
690 * tests/atgeneral.m4: Update from CVS Autoconf.
691
692 2000-11-17 Akim Demaille <akim@epita.fr>
693
694 * tests/regression.m4 (%union and --defines): New test,
695 demonstrating a current bug in the obstack implementation.
696
697 2000-11-17 Akim Demaille <akim@epita.fr>
698
699 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
700 macros.
701 Use them to declare the variables which are global or local to
702 `yyparse'.
703
704 2000-11-17 Akim Demaille <akim@epita.fr>
705
706 * acconfig.h: Remove, no longer used.
707
708 2000-11-07 Akim Demaille <akim@epita.fr>
709
710 * src: s/Copyright (C)/Copyright/g.
711
712 2000-11-07 Akim Demaille <akim@epita.fr>
713
714 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
715 defining.
716 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
717
718 2000-11-07 Akim Demaille <akim@epita.fr>
719
720 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
721 Merge in a single CPP if/else.
722
723 2000-11-07 Akim Demaille <akim@epita.fr>
724
725 * src/output.c (output): Remove useless variables.
726 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
727 argument `data' for consistency with the prototypes.
728 Qualify it `const'.
729 (obstack_copy, obstack_copy0): Rename the second argument as
730 `address' for consistency. Qualify it `const'.
731 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
732 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
733 `const' their input argument (`data' or `address').
734 Adjust the corresponding macros to include `const' in casts.
735
736 2000-11-03 Akim Demaille <akim@epita.fr>
737
738 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
739 s/PFILE1/BISON_HAIRY/.
740 Adjust dependencies.
741
742 2000-11-03 Akim Demaille <akim@epita.fr>
743
744 For some reason, this was not applied.
745
746 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
747 `unlink': it's no longer used.
748
749 2000-11-03 Akim Demaille <akim@epita.fr>
750
751 * src/files.c (skeleton_find): New function, eved out of...
752 (open_files, open_extra_files): here.
753
754 2000-11-03 Akim Demaille <akim@epita.fr>
755
756 Don't use `atexit'.
757
758 * src/files.c (obstack_save): New function.
759 (done): Rename as...
760 (output_files): this.
761 Use `obstack_save'.
762 * src/main.c (main): Don't use `atexit' to register `done', since
763 it no longer has to remove tmp files, just call `output_files'
764 when there are no errors.
765
766 2000-11-02 Akim Demaille <akim@epita.fr>
767
768 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
769 `unlink': it's no longer used.
770 * src/files.h: Formatting changes.
771
772 2000-11-02 Akim Demaille <akim@epita.fr>
773
774 Remove the last uses of mktemp and unlink/delete.
775
776 * src/files.c (fdefines, ftable): Removed.
777 (defines_ostack, table_obstack): New.
778 Adjust dependencies of the former into uses of the latter.
779 * src/output.c (output_short_or_char_table, output_short_table):
780 Convert to using obstacks.
781 * src/reader.c (copy_comment2): Accept one FILE * and two
782 obstacks.
783 (output_token_defines, reader_output_yylsp): Use obstacks.
784 * src/system.h (obstack_fgrow3): New.
785
786 2000-11-01 Akim Demaille <akim@epita.fr>
787
788 Change each use of `fattrs' into a use of `attrs_obstack'.
789
790 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
791 * src/files.c (fattrs): Remove.
792 (attrs_obstack): New.
793 Adjust all dependencies.
794 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
795
796 2000-11-01 Akim Demaille <akim@epita.fr>
797
798 Introduce obstacks.
799 Change each use of `faction' into a use of `action_obstack'.
800
801 * lib/obstack.h, lib/obstack.c: New files.
802 * src/files.c (faction): Remove.
803 (action_obstack): New.
804 Adjust all dependencies.
805
806 2000-10-20 Akim Demaille <akim@epita.fr>
807
808 * lib/quote.h (PARAMS): New macro. Use it.
809
810 2000-10-16 Akim Demaille <akim@epita.fr>
811
812 * src/output.c (output_short_or_char_table): New function.
813 (output_short_table, output_token_translations): Use it.
814 (goto_actions): Use output_short_table.
815
816 2000-10-16 Akim Demaille <akim@epita.fr>
817
818 * src/symtab.c (bucket_new): New function.
819 (getsym): Use it.
820
821 * src/output.c (output_short_table): New argument to display the
822 comment associated with the table.
823 Adjust dependencies.
824 (output_gram): Use it.
825 (output_rule_data): Nicer output layout for YYTNAME.
826
827 2000-10-16 Akim Demaille <akim@epita.fr>
828
829 * src/lex.c (read_typename): New function.
830 (lex): Use it.
831 * src/reader.c (copy_dollar): Likewise.
832
833 2000-10-16 Akim Demaille <akim@epita.fr>
834
835 * src/reader.c (copy_comment2): Expect the input stream to be on
836 the `/' which is suspected to open a comment, instead of being
837 called after `//' or `/*' was read.
838 (copy_comment, copy_definition, parse_union_decl, copy_action)
839 (copy_guard): Adjust.
840
841 2000-10-16 Akim Demaille <akim@epita.fr>
842
843 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
844 `read_signed_integer'.
845
846 2000-10-16 Akim Demaille <akim@epita.fr>
847
848 * src/reader.c (copy_dollar): New function.
849 (copy_guard, copy_action): Use it.
850
851 2000-10-16 Akim Demaille <akim@epita.fr>
852
853 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
854 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
855 New files, from Fileutils 4.0.27.
856 * src/main.c (printable_version): Remove.
857 * src/lex.c, src/reader.c: Use `quote'.
858
859 2000-10-04 Akim Demaille <akim@epita.fr>
860
861 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
862
863 2000-10-04 Akim Demaille <akim@epita.fr>
864
865 * doc/bison.texinfo: Various typos spotted by Neil Booth.
866
867 2000-10-04 Akim Demaille <akim@epita.fr>
868
869 When a literal string is used to define two different tokens,
870 `bison -v' segfaults.
871 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
872
873 * tests/regression.m4: New file.
874 Include the core of the sample provided by Piotr Gackiewicz.
875 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
876 properly.
877
878 2000-10-04 Akim Demaille <akim@epita.fr>
879
880 * src/reader.c (parse_expect_decl): Keep `count' within the size
881 of `buffer'.
882 From Neil Booth.
883
884 2000-10-02 Paul Eggert <eggert@twinsun.com>
885
886 * bison.s1 (yyparse): Assign the default value
887 unconditionally, to avoid a GCC warning and make the parser a
888 tad smaller.
889
890 2000-10-02 Akim Demaille <akim@epita.fr>
891
892 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
893 options.
894
895 2000-10-02 Akim Demaille <akim@epita.fr>
896
897 * src/derives.c, src/print.c, src/reduce.c: To ease the
898 translation, move some `\n' out of the translated strings.
899
900 2000-10-02 Akim Demaille <akim@epita.fr>
901
902 The location tracking mechanism is precious for parse error
903 messages. Nevertheless, it is enabled only when `@n' is used in
904 the grammar, which is a different issue (you can use it in error
905 message, but not in the grammar per se). Therefore, there should
906 be another means to enable it.
907
908 * src/getargs.c (getargs): Support `--locations'.
909 (usage): Report it.
910 * src/getargs.h (locationsflag): Export it.
911 * src/lex.c (percent_table): Support `%locations'.
912 * src/reader.c (yylsp_needed): Remove this variable, now replaced
913 with `locationsflag'.
914 * doc/bison.texinfo: Document `--locations' and `%locations'.
915 Sort the options.
916 * tests/calc.m4: Test it.
917
918 For regularity of the names, replace each
919 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
920 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
921 In addition replace each `flag' with `_flag'.
922
923 2000-10-02 Akim Demaille <akim@epita.fr>
924
925 Also test parse error messages, including with YYERROR_VERBOSE.
926
927 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
928 associative).
929 Use it to check the computations.
930 Use it to check `nonassoc' is honored.
931 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
932 `--yyerror-verbose'.
933 (_AT_CHECK_CALC): Adjust to this option.
934 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
935
936 2000-10-02 Akim Demaille <akim@epita.fr>
937
938 Test also `--verbose', `--defines' and `--name-prefix'. Testing
939 the latter demonstrates a flaw in the handling of non debugging
940 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
941 was used in order to simplify:
942
943 #if YYDEBUG
944 if (yydebug)
945 {
946 ...
947 }
948 #endif
949
950 into
951
952 if (yydebug)
953 {
954 ...
955 }
956
957 unfortunately this leads to a CPP conflict when
958 `--name-prefix=foo' is used since it produces `#define yydebug
959 foodebug'.
960
961 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
962 (YYDPRINTF): New macro.
963 Spread its use.
964 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
965 the bison options.
966 Also test `--verbose', `--defines' and `--name-prefix'.
967
968 2000-10-02 Akim Demaille <akim@epita.fr>
969
970 Improve the readability of the produced parsers.
971
972 * src/bison.s1: Formatting changes.
973 Improve the comment related to the `$' mark.
974 (yydefault): Don't fall through to `yyresume': `goto' there.
975 * src/output.c (output_parser): When the `$' is met, skip the end
976 of its line.
977 New variable, `number_of_dollar_signs', to check there's exactly
978 one `$' in the parser skeleton.
979
980 2000-10-02 Akim Demaille <akim@epita.fr>
981
982 * lib/xstrdup.c: New file, from the fileutils.
983 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
984 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
985 instead of strlen + xmalloc + strcpy.
986 * src/symtab.c (copys): Remove, use xstrdup instead.
987
988 2000-10-02 Akim Demaille <akim@epita.fr>
989
990 * src/gram.h (associativity): New enum type which replaces the
991 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
992 `right_assoc', `left_assoc' and `non_assoc'.
993 Adjust all dependencies.
994 * src/reader.c: Formatting changes.
995 (LTYPESTR): Don't define it, use it as a literal in
996 `reader_output_yylsp'.
997 * src/symtab.h (symbol_class): New enum type which replaces the
998 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
999 `sunknown', `stoken and `snterm'.
1000
1001 2000-10-02 Akim Demaille <akim@epita.fr>
1002
1003 * src/getargs.c (fixed_outfiles): Rename as...
1004 (yaccflag): for consistency and accuracy.
1005 Adjust dependencies.
1006
1007 2000-10-02 Akim Demaille <akim@epita.fr>
1008
1009 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
1010 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
1011 difficult and introduced a lot of core dump. It turns out that
1012 Bison used an implementation of `xmalloc' based on `calloc', and
1013 at various places it does depend upon the initialization to 0. I
1014 have not tried to isolate the pertinent places, and all the former
1015 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
1016 someone should address this issue.
1017
1018 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
1019 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
1020 files.
1021 Adjust dependencies.
1022 * src/warshall.h: New file.
1023 Propagate.
1024
1025 2000-10-02 Akim Demaille <akim@epita.fr>
1026
1027 Various anti-`extern in *.c' changes.
1028
1029 * src/system.h: Include `assert.h'.
1030
1031 2000-10-02 Akim Demaille <akim@epita.fr>
1032
1033 * src/state.h (nstates, final_state, first_state, first_shift)
1034 (first_reduction): Move their exportation from here...
1035 * src/LR0.h: to here.
1036 Adjust dependencies.
1037 * src/getargs.c (statisticsflag): New variable.
1038 Add support for `--statistics'.
1039 Adjust dependencies.
1040
1041 Remove a lot of now useless `extern' statements in most files.
1042
1043 2000-10-02 Akim Demaille <akim@epita.fr>
1044
1045 * src/LR0.h: New file.
1046 Propagate its use.
1047
1048 2000-10-02 Akim Demaille <akim@epita.fr>
1049
1050 * src/print.h: New file.
1051 Propagate its use.
1052 * src/print.c: Formatting and ordering changes.
1053 (verbose, terse): Replace with...
1054 (print_results): this new function.
1055 Adjust dependencies.
1056
1057 2000-10-02 Akim Demaille <akim@epita.fr>
1058
1059 * src/conflicts.c (conflict_report): New function.
1060 (conflict_log, verbose_conflict_log): Replace with...
1061 (print_conflicts): this function.
1062 Adjust dependencies.
1063 * src/conflicts.h: New file.
1064 Propagate its inclusion.
1065
1066 2000-10-02 Akim Demaille <akim@epita.fr>
1067
1068 * src/nullable.h: New file.
1069 Propagate its inclusion.
1070 * src/nullable.c: Formatting changes.
1071
1072 2000-10-02 Akim Demaille <akim@epita.fr>
1073
1074 * src/reduce.h: New file.
1075 Propagate its inclusion.
1076 * src/reduce.c: Topological sort and other formatting changes.
1077 (bool, TRUE, FALSE): Move their definition to...
1078 * src/system.h: here.
1079
1080 2000-10-02 Akim Demaille <akim@epita.fr>
1081
1082 * src/files.c: Formatting changes.
1083 (tryopen, tryclose, openfiles): Rename as...
1084 (xfopen, xfclose, open_files): this.
1085 (stringappend): static.
1086 * src/files.h: Complete the list of exported symbols.
1087 Propagate its use.
1088
1089 2000-10-02 Akim Demaille <akim@epita.fr>
1090
1091 * src/reader.h: New file.
1092 Propagate its use instead of tedious list of `extern' and
1093 prototypes.
1094 * src/reader.c: Formatting changes, topological sort,
1095 s/register//.
1096
1097 2000-10-02 Akim Demaille <akim@epita.fr>
1098
1099 * src/lex.h: Prototype `lex.c' exported functions.
1100 * src/reader.c: Adjust.
1101 * src/lex.c: Formatting changes.
1102 (safegetc): Rename as...
1103 (xgetc): this.
1104
1105 2000-10-02 Akim Demaille <akim@epita.fr>
1106
1107 * src/lalr.h: New file.
1108 Propagate its inclusion instead of prototypes and `extern'.
1109 * src/lalr.c: Formatting changes, topological sorting etc.
1110
1111 2000-10-02 Akim Demaille <akim@epita.fr>
1112
1113 * src/output.c (token_actions): Introduce a temporary array,
1114 YYDEFACT, that makes it possible for this function to use
1115 output_short_table.
1116
1117 2000-10-02 Akim Demaille <akim@epita.fr>
1118
1119 `user_toknums' is output as a `short[]' in `output.c', while it is
1120 defined as a `int[]' in `reader.c'. For consistency with the
1121 other output tables, `user_toknums' is now defined as a table of
1122 shorts.
1123
1124 * src/reader.c (user_toknums): Be a short table instead of an int
1125 table.
1126 Adjust dependencies.
1127
1128 Factor the short table outputs.
1129
1130 * src/output.c (output_short_table): New function.
1131 * src/output.c (output_gram, output_stos, output_rule_data)
1132 (output_base, output_table, output_check): Use it.
1133
1134 2000-10-02 Akim Demaille <akim@epita.fr>
1135
1136 * src/output.c (output): Topological sort of the functions, in
1137 order to get rid of the `static' prototypes.
1138 No longer use `register'.
1139 * src/output.h: New file.
1140 Propagate its inclusion in files explicitly prototyping functions
1141 from output.c.
1142
1143 2000-09-21 Akim Demaille <akim@epita.fr>
1144
1145 * src/atgeneral.m4: Update from Autoconf.
1146
1147 2000-09-21 Akim Demaille <akim@epita.fr>
1148
1149 * src/closure.h: New file.
1150 * src/closure.c: Formatting changes, topological sort over the
1151 functions, use of closure.h.
1152 (initialize_closure, finalize_closure): Rename as...
1153 (new_closure, free_closure): these. Adjust dependencies.
1154 * src/LR0.c: Formatting changes, topological sort, use of
1155 cloture.h.
1156 (initialize_states): Rename as...
1157 (new_states): this.
1158 * src/Makefile.am (noinst_HEADERS): Adjust.
1159
1160 2000-09-20 Akim Demaille <akim@epita.fr>
1161
1162 * src/acconfig.h: Don't protect config.h against multiple
1163 inclusion.
1164 Don't define PARAMS.
1165 * src/system.h: Define PARAMS.
1166 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
1167 purpose of config.h. system.h must not try to fix wrong
1168 definitions in config.h.
1169
1170 2000-09-20 Akim Demaille <akim@epita.fr>
1171
1172 * src/derives.h: New file.
1173 * src/main.c, src/derives.h: Use it.
1174 Formatting changes.
1175 * src/Makefile.am (noinst_HEADERS): Adjust.
1176
1177 2000-09-20 Akim Demaille <akim@epita.fr>
1178
1179 * tests/atgeneral.m4: Update from Autoconf.
1180 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
1181 (AT_CHECK_CALC): New macros.
1182 Use these macros to test bison with options `', `--raw',
1183 `--debug', `--yacc', `--yacc --debug'.
1184
1185 2000-09-19 Akim Demaille <akim@epita.fr>
1186
1187 * src/output.c: Formatting changes.
1188 * src/machine.h: Remove, leaving its contents in...
1189 * src/system.h: here.
1190 Include stdio.h.
1191 Adjust all dependencies on stdio.h and machine.h.
1192 * src/getargs.h: New file.
1193 Let all `extern' declarations about getargs.c be replaced with
1194 inclusion of `getargs.h'.
1195 * src/Makefile.am (noinst_HEADERS): Adjust.
1196
1197 * tests/calc.m4 (yyin): Be initialized in main, not on the global
1198 scope.
1199 (yyerror): Returns void, not int.
1200 * doc/bison.texinfo: Formatting changes.
1201
1202 2000-09-19 Akim Demaille <akim@epita.fr>
1203
1204 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
1205 portable.
1206
1207 2000-09-18 Akim Demaille <akim@epita.fr>
1208
1209 * configure.in: Append WARNING_CFLAGS to CFLAGS.
1210 * src/Makefile.am (INCLUDES): Don't.
1211 Be ready to fetch headers in lib/.
1212
1213 2000-09-18 Akim Demaille <akim@epita.fr>
1214
1215 * doc/bison.texinfo: Update the copyright.
1216 ANSIfy and GNUify the examples.
1217 Remove the old menu.
1218
1219 2000-09-18 Akim Demaille <akim@epita.fr>
1220
1221 First set of tests: use the `calc' example from the documentation.
1222
1223 * src/bison.s1 (yyparse): Condition the code using `yytname' which
1224 is defined only when YYDEBUG is.
1225 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
1226 * src/files.c (tryopen, tryclose): Formatting changes.
1227 Move to the top and be static.
1228 * src/reader.c (read_signed_integer): Likewise.
1229 * tests/calc.m4: New file.
1230 * Makefile.am, suite.m4: Adjust.
1231 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
1232
1233 2000-09-18 Akim Demaille <akim@epita.fr>
1234
1235 Add support for an Autotest test suite for Bison.
1236
1237 * m4/m4.m4, m4/atconfig.m4: New files.
1238 * m4/Makefile.am (EXTRA_DIST): Adjust.
1239 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
1240 files.
1241 * src/getargs.c: Display a more standard --version message.
1242 * src/reader.c (reader): Formatting changes.
1243 No longer depend upon VERSION_STRING.
1244 * configure.in: No longer use `dnl'.
1245 Set up the test suite and the new directory `tests/.
1246 (VERSION_STRING): Remove.
1247
1248 2000-04-14 Akim Demaille <akim@epita.fr>
1249
1250 * src/reader.c (copy_comment2): New function, same as former
1251 `copy_comment', but outputs into two FILE *.
1252 (copy_comment): Use it.
1253 (parse_union_decl): Use it.
1254 (get_type, parse_start_decl): Use the same `invalid' message.
1255 (parse_start_decl, parse_union_decl): Use the same `multiple'
1256 message.
1257 (parse_union_decl, copy_guard, copy_action): Use the same
1258 `unmatched' message.
1259 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
1260
1261 2000-03-31 Akim Demaille <akim@epita.fr>
1262
1263 * src/files.c (tryopen, tryclose): Move to the top.
1264 Be static.
1265
1266 2000-03-31 Akim Demaille <akim@epita.fr>
1267
1268 * src/main.c (main): Don't call `done', exit does it.
1269
1270 2000-03-31 Akim Demaille <akim@epita.fr>
1271
1272 * allocate.c: s/return (foo)/return foo/.
1273 * lalr.c: Likewise.
1274 * LR0.c: Likewise.
1275 * output.c: Likewise.
1276 * reader.c: Likewise.
1277 * symtab.c: Likewise.
1278 * vmsgetargs.c: Likewise.
1279
1280 2000-03-31 Akim Demaille <akim@epita.fr>
1281
1282 Clean up the error reporting functions.
1283
1284 * src/report.c: New file.
1285 * src/report.h: Likewise.
1286 * src/Makefile.am: Adjust.
1287 * m4/error.m4: New file.
1288 * m4/Makefile.am: Adjust.
1289 * configure.in (jm_PREREQ_ERROR): Call it.
1290 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
1291 Remove.
1292 (fatal, fatals): Remove. All callers use complain.c::fatal.
1293 (warn, warni, warns, warnss, warnss): Remove. All callers use
1294 complain.c::complain.
1295 (toomany): Remove, use fatal instead.
1296 * src/files.c (done): No argument, use complain_message_count.
1297 * src/main.c (main): Register `done' to `atexit'.
1298
1299 * src/getargs.c (usage): More `fputs', less `fprintf'.
1300
1301 2000-03-28 Akim Demaille <akim@epita.fr>
1302
1303 * lib/: New directory.
1304 * Makefile.am (SUBDIRS): Adjust.
1305 * configure.in: Adjust.
1306 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
1307 useless.
1308 * src/alloca.c: Moved to lib/.
1309 * src/getopt.c: Likewise.
1310 * src/getopt1.c: Likewise.
1311 * src/getopt.h: Likewise.
1312 * src/ansi2knr.c: Likewise.
1313 * src/ansi2knr.1: Likewise.
1314 * src/Makefile.am: Adjust.
1315 * lib/Makefile.am: New file.
1316
1317 2000-03-28 Akim Demaille <akim@epita.fr>
1318
1319 * src/getargs.c (usage): Refresh the help message.
1320
1321 2000-03-17 Akim Demaille <akim@epita.fr>
1322
1323 * src/getopt1.c: Updated from textutils 2.0e
1324 * src/getopt.c: Likewise.
1325 * src/getopt.h: Likewise.
1326
1327 2000-03-17 Akim Demaille <akim@epita.fr>
1328
1329 * src/Makefile.am (bison.simple): Fix the awk program: quote only
1330 the file name, not the whole `#line LINE FILE'.
1331
1332 2000-03-17 Akim Demaille <akim@epita.fr>
1333
1334 On syntax errors, report the token on which we choked.
1335
1336 * src/bison.s1 (yyparse): In the label yyerrlab, when
1337 YYERROR_VERBOSE, add yychar in msg.
1338
1339 2000-03-17 Akim Demaille <akim@epita.fr>
1340
1341 * src/reader.c (copy_at): New function.
1342 (copy_guard): Use it.
1343 (copy_action): Use it.
1344
1345 2000-03-17 Akim Demaille <akim@epita.fr>
1346
1347 Be kind to translators, save some useless translations.
1348
1349 * src/main.c (banner): New function.
1350 (fatal_banner): Use it.
1351 (warn_banner): Use it.
1352
1353 2000-03-17 Akim Demaille <akim@epita.fr>
1354
1355 * src/reader.c (copy_definition): Use copy_string and
1356 copy_comment. Removed now unused `match', `ended',
1357 `cplus_comment'.
1358 (copy_comment, copy_string): Moved, to be visible from
1359 copy_definition.
1360
1361 2000-03-17 Akim Demaille <akim@epita.fr>
1362
1363 * src/reader.c (copy_string): Declare `static inline'. No
1364 problems with inline, since it is checked by configure.
1365 (copy_comment): Likewise.
1366
1367 2000-03-17 Akim Demaille <akim@epita.fr>
1368
1369 * src/reader.c (packsymbols): Formatting changes.
1370
1371 2000-03-17 Akim Demaille <akim@epita.fr>
1372
1373 * src/reader.c (copy_comment): New function, factored out from:
1374 (copy_action): Use it. Removed now unused `match', `ended',
1375 `cplus_comment'.
1376 (copy_guard): Likewise.
1377
1378 2000-03-17 Akim Demaille <akim@epita.fr>
1379
1380 * src/reader.c (copy_string): New function, factored out from:
1381 (copy_action): Use it.
1382 (copy_guard): Likewise.
1383
1384 2000-03-17 Akim Demaille <akim@epita.fr>
1385
1386 Change the handling of @s so that they behave exactly like $s.
1387 There is now a pseudo variable @$ (readble and writable), location
1388 of the lhs of the rule (by default ranging from the location of
1389 the first symbol of the rhs, to the location of the last symbol,
1390 or, if the rhs is empty, YYLLOC).
1391
1392 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
1393 yyval.
1394 (yyparse): When providing a default semantic action, provide a
1395 default location action.
1396 (after the $): No longer change `*YYLSP', just stack YYLOC the
1397 same way you stack YYVAL.
1398 * src/reader.c (read_declarations): Use warns.
1399 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
1400 (copy_action, case '@'): Likewise.
1401 Use a standard error message, to save useless work from
1402 translators.
1403
1404 2000-03-17 Akim Demaille <akim@epita.fr>
1405
1406 * src/bison.s1: Formatting and cosmetics changes.
1407 * src/reader.c: Likewise.
1408 Update the Copyright notice.
1409
1410 2000-03-17 Akim Demaille <akim@epita.fr>
1411
1412 * src/bison.s1 (#line): All set to `#line' only, since the
1413 Makefile now handles them.
1414
1415 2000-03-16 Akim Demaille <akim@epita.fr>
1416
1417 * src/output.c (output_rule_data): Output the documentation of
1418 some of the tables.
1419 (Copyright notice): Update.
1420 Formatting changes.
1421
1422 2000-03-16 Akim Demaille <akim@epita.fr>
1423
1424 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
1425 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
1426 One `#if YYDEBUG' remains, since it uses variables which are
1427 defined only if `YYDEBUG != 0'.
1428
1429 2000-03-16 Akim Demaille <akim@epita.fr>
1430
1431 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
1432 and related variables so that the similarities are highlighted.
1433
1434 2000-03-16 Akim Demaille <akim@epita.fr>
1435
1436 * src/bison.s1: Properly indent CPP directives.
1437
1438 2000-03-16 Akim Demaille <akim@epita.fr>
1439
1440 * src/bison.s1: Properly indent the `alloca' CPP section.
1441
1442 2000-03-16 Akim Demaille <akim@epita.fr>
1443
1444 Do not hard code values of directories in `configure.in'.
1445 Update the `configure' tool chain.
1446
1447 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
1448 src/makefile.am.
1449 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
1450 (AC_OUTPUT): Add m4/Makefile.
1451 Bump to bison 1.28a, 1.29 has never been released.
1452 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
1453 handled via src/Makefile.am.
1454 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
1455 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
1456 autoheader.
1457 * Makefile.am (SUBDIRS): Add m4.
1458 (ACLOCAL_AM_FLAGS): New variable.
1459 (AUTOMAKE_OPTIONS): Add check-news.
1460 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
1461 the proper line number and file name.
1462 (DEFS): Propagate the location of bison library files and of the
1463 locale files.
1464 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
1465 builddir.
1466 * acinclude.m4: Remove, replaced by the directory m4.
1467 * m4/Makefile.am (EXTRA_DIST): New variable.
1468 * m4/gettext.m4: New file, from the fileutils.
1469 * m4/lcmessage.m4: Likewise
1470 * m4/progtest.m4: Likewise.
1471 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
1472
1473 2000-03-10 Akim Demaille <akim@epita.fr>
1474
1475 * src/closure.c:
1476 Formatting changes of various comments.
1477 Respect the GNU coding standards at various places.
1478 Don't use `_()' when no translation is needed.
1479
1480 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1481
1482 * src/files.c:
1483 OS/2 honors TMPDIR environment variable.
1484
1485 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1486
1487 * doc/bison.texinfo: Tweaked spelling and grammar.
1488 Updated ISBN.
1489 Removed reference to price of printed copy.
1490 Mention BISON_SIMPLE and BISON_HAIRY.
1491
1492 1999-12-13 Jesse Thilo <jthilo@gnu.org>
1493
1494 * configure.in, NEWS:
1495 Bison 1.29 released.
1496
1497 1999-10-27 Jesse Thilo <jthilo@gnu.org>
1498
1499 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
1500 Added reference card.
1501
1502 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1503
1504 * po/ru.po: Added Russian translation.
1505
1506 1999-07-26 Jesse Thilo <jthilo@gnu.org>
1507
1508 * configure.in: Added Russian translation.
1509
1510 1999-07-06 Jesse Thilo <jthilo@gnu.org>
1511
1512 * configure.in, NEWS, README:
1513 Released version 1.28.
1514
1515 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1516
1517 * src/system.h:
1518 Squashed redefinition warning on some systems.
1519
1520 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
1521 Have configure build version string instead of relying on ANSI string
1522 concatentation.
1523
1524 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1525
1526 * po/POTFILES.in: Got rid of version.c.
1527
1528 1999-06-14 Jesse Thilo <jthilo@gnu.org>
1529
1530 * acconfig.h, configure.in:
1531 Have configure build version string instead of relying on ANSI string
1532 concatentation.
1533
1534 1999-06-08 Jesse Thilo <jthilo@gnu.org>
1535
1536 * doc/bison.1:
1537 Dropped mention of `+' for long-named options.
1538
1539 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1540
1541 * src/files.c: Added <unistd.h> for unlink().
1542
1543 * src/Makefile.am, src/system.h:
1544 I18n fixes.
1545
1546 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1547
1548 * README: Added a FAQ list.
1549
1550 * configure.in, acconfig.h:
1551 I18n fixes.
1552
1553 1999-05-30 Jesse Thilo <jthilo@gnu.org>
1554
1555 * doc/FAQ, doc/Makefile.am:
1556 Added a FAQ list.
1557
1558 1999-05-19 Jesse Thilo <jthilo@gnu.org>
1559
1560 * src/alloc.h, src/symtab.h, src/version.c:
1561 Protected inclusion of "config.h" with HAVE_CONFIG_H.
1562
1563 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1564
1565 * src/.cvsignore, src/Makefile.am:
1566 Reorganized: sources in `src', documentation in `doc'.
1567
1568 * src/lex.c (literalchar):
1569 fixed the code for escaping double quotes (thanks
1570 Jonathan Czisny.)
1571
1572 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1573
1574 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
1575 Adjusted paths to reflect directory reorganization.
1576
1577 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1578
1579 * doc/.cvsignore, doc/Makefile.am:
1580 Reorganized: sources in `src', documentation in `doc'.
1581
1582 1999-04-18 Jesse Thilo <jthilo@gnu.org>
1583
1584 * configure.in:
1585 Updated AC_INIT file to reflect directory reorganization.
1586
1587 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
1588 Reorganized: sources in `src', documentation in `doc'.
1589
1590 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1591
1592 * src/allocate.c:
1593 Don't declare calloc() and realloc() if not necessary.
1594
1595 1999-04-13 Jesse Thilo <jthilo@gnu.org>
1596
1597 * configure.in, acconfig.h, acinclude.m4:
1598 Don't declare calloc() and realloc() if not necessary.
1599
1600 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1601
1602 * po/.cvsignore: Added i18n support.
1603
1604 1999-03-23 Jesse Thilo <jthilo@gnu.org>
1605
1606 * acconfig.h, configure.in, Makefile.am:
1607 Added i18n support.
1608
1609 1999-03-22 Jesse Thilo <jthilo@gnu.org>
1610
1611 * src/bison.s1: Fixed #line numbers.
1612
1613 1999-03-15 Jesse Thilo <jthilo@gnu.org>
1614
1615 * po/es.po, po/fr.po, po/nl.po, po/de.po:
1616 Added PO files from Translation Project.
1617
1618 1999-03-03 Jesse Thilo <jthilo@gnu.org>
1619
1620 * Makefile.am:
1621 Added support for non-ANSI compilers (ansi2knr).
1622
1623 1999-02-16 Jesse Thilo <jthilo@gnu.org>
1624
1625 * configure.in: Bumped version number to 1.27.
1626
1627 * Makefile.am:
1628 Added `bison.simple' to list of files removed by `make distclean'.
1629
1630 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1631
1632 * src/files.c, src/files.h:
1633 Defined locations of parser files in config.h instead of Makefile.
1634
1635 1999-02-12 Jesse Thilo <jthilo@gnu.org>
1636
1637 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
1638 Defined locations of parser files in config.h instead of Makefile.
1639
1640 1999-02-09 Jesse Thilo <jthilo@gnu.org>
1641
1642 * Makefile.am:
1643 Removed inappropriate use of $< macro.
1644
1645 1999-02-05 Jesse Thilo <jthilo@gnu.org>
1646
1647 * po/Makefile.in.in, po/POTFILES.in:
1648 Add `po' directory skeleton.
1649
1650 1999-01-27 Jesse Thilo <jthilo@gnu.org>
1651
1652 * README: Document help-bison list.
1653
1654 * configure.in: Add check for mkstemp().
1655
1656 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1657
1658 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
1659 Hush a few compiler warnings.
1660
1661 * src/files.c:
1662 Add tryclose(), which verifies that fclose was successful.
1663 Hush a couple of compiler warnings.
1664
1665 1999-01-20 Jesse Thilo <jthilo@gnu.org>
1666
1667 * Makefile.am, OChangeLog:
1668 ChangeLog is now automatically generated. Include the old version as
1669 OChangeLog.
1670
1671 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1672
1673 * 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:
1674 Update FSF address.
1675
1676 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1677
1678 * doc/bison.texinfo: Fix formatting glitch.
1679
1680 * doc/bison.texinfo: Update FSF address.
1681
1682 1999-01-14 Jesse Thilo <jthilo@gnu.org>
1683
1684 * acconfig.h: Update FSF address.
1685
1686 1999-01-08 Jesse Thilo <jthilo@gnu.org>
1687
1688 * src/system.h:
1689 Don't define PACKAGE here, since config.h defines it.
1690
1691 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1692
1693 * src/reader.c: Update copyright date.
1694
1695 * src/main.c:
1696 Ditch sprintf to statically-sized buffers in fatal/warn functions in
1697 favor of output directly to stderr (avoids buffer overruns).
1698
1699 * src/reader.c: Some checks for premature EOF.
1700
1701 * 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:
1702 Use prototypes if the compiler understands them.
1703
1704 * src/files.c: Honor TMPDIR on Unix hosts.
1705 Use prototypes if the compiler understands them.
1706
1707 * src/reader.c:
1708 Fix a couple of buffer overrun bugs.
1709 Use prototypes if the compiler understands them.
1710
1711 * src/system.h: Include unistd.h and ctype.h.
1712 Use #ifdef instead of #if for NLS symbols.
1713
1714 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1715
1716 * doc/bison.texinfo:
1717 Delete comment "consider using @set for edition number, etc..." since
1718 we now are doing so.
1719
1720 1998-12-30 Jesse Thilo <jthilo@gnu.org>
1721
1722 * configure.in:
1723 Use prototypes if the compiler understands them.
1724
1725 * NEWS: Document 1.26 highlights.
1726
1727 * Makefile.am: Require Automake 1.3 or later.
1728
1729 * acconfig.h:
1730 Use prototypes if the compiler understands them.
1731
1732 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1733
1734 * src/version.c:
1735 Use VERSION symbol from automake for version number.
1736
1737 1998-12-29 Jesse Thilo <jthilo@gnu.org>
1738
1739 * acconfig.h, configure.in, version.cin:
1740 Use VERSION symbol from automake for version number.
1741
1742 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1743
1744 * Makefile.am:
1745 Distribute original version of simple parser (bison.s1), not built
1746 version (bison.simple).
1747
1748 1998-11-28 Jesse Thilo <jthilo@gnu.org>
1749
1750 * doc/bison.texinfo: Add info dir entry.
1751
1752 * doc/bison.texinfo:
1753 Let automake put version number into documentation.
1754
1755 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1756
1757 * src/bison.cld, src/build.com, src/vmshlp.mar:
1758 Add non-RCS files from /gd/gnu/bison.
1759
1760 1998-11-26 Jesse Thilo <jthilo@gnu.org>
1761
1762 * doc/bison.1:
1763 Document the BISON_HAIRY and BISON_SIMPLE variables.
1764
1765 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1766
1767 * src/version.c: Build version.c automatically.
1768
1769 * src/reader.c:
1770 Fix token numbering (used to start at 258, not 257).
1771
1772 * src/system.h: Include config.h.
1773
1774 * src/getargs.c: Update bug report address.
1775
1776 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
1777 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
1778
1779 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1780
1781 * Makefile.am:
1782 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1783
1784 * configure.in, version.cin:
1785 Build version.c automatically.
1786
1787 * AUTHORS: Add AUTHORS file.
1788
1789 * README: Update bug report address.
1790
1791 * bison.simple:
1792 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
1793
1794 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
1795 Add automake stuff.
1796
1797 1998-11-25 Jesse Thilo <jthilo@gnu.org>
1798
1799 * doc/bison.texinfo: Clean up some formatting.
1800
1801 1998-05-05 Richard Stallman <rms@gnu.org>
1802
1803 * doc/bison.texinfo:
1804 Explain better why to make a pure parser.
1805
1806 1998-01-05 Richard Stallman <rms@gnu.org>
1807
1808 * src/files.c (openfiles):
1809 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
1810 find a temporary directory, if possible. Do not unlink files while
1811 they are open.
1812
1813 1997-08-25 Richard Stallman <rms@gnu.org>
1814
1815 * src/reader.c (stack_offset;):
1816 Change some warni to warns.
1817
1818 * src/lex.c (literalchar): Use warns, not warni.
1819
1820 1997-06-28 Richard Stallman <rms@gnu.org>
1821
1822 * src/bison.s1: Add a Bison version comment.
1823
1824 * src/main.c (fatal, warn, berror):
1825 Use program_name.
1826
1827 1997-06-28 Richard Stallman <rms@gnu.org>
1828
1829 * Makefile.in (bison_version): New variable.
1830 (dist): Use that variable.
1831 (bison.s1): Substitute the Bison version into bison.simple.
1832
1833 * bison.simple: Add a Bison version comment.
1834
1835 1997-06-18 Richard Stallman <rms@gnu.org>
1836
1837 * src/main.c (fatal, warn, berror):
1838 Make error messages standard.
1839 (toomany): Improve error message text.
1840
1841 * 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:
1842 new.h renamed to alloc.h.
1843
1844 1997-06-18 Richard Stallman <rms@gnu.org>
1845
1846 * Makefile.in: new.h renamed to alloc.h.
1847
1848 1997-05-24 Richard Stallman <rms@gnu.org>
1849
1850 * src/lex.c (literalchar):
1851 Fix the code for escaping \, " and '.
1852
1853 (lex): Avoid trouble when there are many chars
1854 to discard in a char literal with just several chars in it.
1855
1856 1997-05-17 Richard Stallman <rms@gnu.org>
1857
1858 * src/bison.s1:
1859 Use malloc, if using alloca is troublesome.
1860 (YYSTACK_USE_ALLOCA): New flag macro.
1861 Define it for some systems and compilers.
1862 (YYSTACK_ALLOC): New macro.
1863 (yyparse): Use YYSTACK_ALLOC to allocate stack.
1864 If it was malloc'd, free it.
1865
1866 1997-05-17 Richard Stallman <rms@gnu.org>
1867
1868 * bison.simple:
1869 Use malloc, if using alloca is troublesome.
1870 (YYSTACK_USE_ALLOCA): New flag macro.
1871 Define it for some systems and compilers.
1872 (YYSTACK_ALLOC): New macro.
1873 (yyparse): Use YYSTACK_ALLOC to allocate stack.
1874 If it was malloc'd, free it.
1875
1876 1997-04-23 Richard Stallman <rms@gnu.org>
1877
1878 * src/bison.s1:
1879 (alloca) [__hpux]: Always define as __builtin_alloca.
1880
1881 1997-04-23 Richard Stallman <rms@gnu.org>
1882
1883 * bison.simple:
1884 (alloca) [__hpux]: Always define as __builtin_alloca.
1885
1886 1997-04-22 Richard Stallman <rms@gnu.org>
1887
1888 * src/bison.s1:
1889 [__hpux]: Include alloca.h (right for HPUX 10)
1890 instead of declaring alloca (right for HPUX 9).
1891
1892 * src/bison.s1 (__yy_memcpy):
1893 Declare arg `count' as unsigned int.
1894 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
1895
1896 1997-04-22 Richard Stallman <rms@gnu.org>
1897
1898 * bison.simple:
1899 [__hpux]: Include alloca.h (right for HPUX 10)
1900 instead of declaring alloca (right for HPUX 9).
1901
1902 * bison.simple (__yy_memcpy):
1903 Declare arg `count' as unsigned int.
1904 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
1905
1906 1997-01-03 Richard Stallman <rms@gnu.org>
1907
1908 * src/allocate.c: [__STDC__ or _MSC_VER]:
1909 Declare calloc and realloc to return void *.
1910
1911 1997-01-02 Richard Stallman <rms@gnu.org>
1912
1913 * src/system.h:
1914 [_MSC_VER]: Include stdlib.h and process.h.
1915 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
1916
1917 * src/main.c (main): Return FAILURE as a value.
1918 (printable_version): Declare arg as int, not char.
1919
1920 1997-01-02 Richard Stallman <rms@gnu.org>
1921
1922 * Makefile.in (dist):
1923 Explicitly check for symlinks, and copy them.
1924
1925 1996-12-19 Richard Stallman <rms@gnu.org>
1926
1927 * src/files.c:
1928 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
1929
1930 1996-12-18 Paul Eggert <eggert@gnu.org>
1931
1932 * src/bison.s1 (yyparse):
1933 If __GNUC__ and YYPARSE_PARAM are both defined,
1934 declare yyparse to have a void * argument.
1935
1936 1996-12-18 Paul Eggert <eggert@gnu.org>
1937
1938 * bison.simple (yyparse):
1939 If __GNUC__ and YYPARSE_PARAM are both defined,
1940 declare yyparse to have a void * argument.
1941
1942 1996-12-17 Richard Stallman <rms@gnu.org>
1943
1944 * src/reduce.c (nbits): Add some casts.
1945
1946 1996-08-12 Richard Stallman <rms@gnu.org>
1947
1948 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
1949
1950 1996-08-12 Richard Stallman <rms@gnu.org>
1951
1952 * bison.simple: Test _MSDOS as well as _MSDOS_.
1953
1954 1996-07-31 Richard Stallman <rms@gnu.org>
1955
1956 * src/bison.s1:
1957 [__sun && __i386]: Include alloca.h.
1958
1959 1996-07-31 Richard Stallman <rms@gnu.org>
1960
1961 * bison.simple:
1962 [__sun && __i386]: Include alloca.h.
1963
1964 1996-07-30 Richard Stallman <rms@gnu.org>
1965
1966 * src/bison.s1: Comment change.
1967
1968 * src/bison.s1: Test _MSDOS_, not MSDOS.
1969
1970 1996-07-30 Richard Stallman <rms@gnu.org>
1971
1972 * bison.simple: Comment change.
1973
1974 * bison.simple: Test _MSDOS_, not MSDOS.
1975
1976 1996-06-01 Richard Stallman <rms@gnu.org>
1977
1978 * 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:
1979 Insert `_' macro around many string constants.
1980
1981 * src/main.c:
1982 Insert `_' macro around many string constants.
1983
1984 (main): Call setlocale, bindtextdomain and textdomain.
1985
1986 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
1987 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
1988 [ENABLE_NLS]: Include libintl.h.
1989 [ENABLE_NLS] (gettext): Define.
1990 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
1991 (N_, PACKAGE, LOCALEDIR): New macros.
1992
1993 1996-06-01 Richard Stallman <rms@gnu.org>
1994
1995 * POTFILES.in: New file.
1996
1997 * Makefile.in (allocate.o):
1998 Define target explicitly.
1999
2000 * Makefile.in (CFLAGS): Set to @CFLAGS@.
2001 (LDFLAGS): Set to @LDFLAGS@.
2002 (configure): Run autoconf only if preceding `cd' succeeds.
2003 (bison.s1): Redirect output to temporary file then move the
2004 temporary to the target, rather than redirecting directly to bison.s1.
2005 (clean): Remove config.status and config.log.
2006 (distclean): Don't remove config.status here.
2007
2008 1996-05-12 Richard Stallman <rms@gnu.org>
2009
2010 * src/bison.s1:
2011 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2012
2013 1996-05-12 Richard Stallman <rms@gnu.org>
2014
2015 * bison.simple:
2016 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
2017
2018 1996-05-11 Richard Stallman <rms@gnu.org>
2019
2020 * src/bison.s1 (__yy_memcpy):
2021 Really reorder the args, as was supposedly done on Feb 14 1995.
2022 (yyparse): Calls changed accordingly.
2023
2024 1996-05-11 Richard Stallman <rms@gnu.org>
2025
2026 * Makefile.in (dist): Don't use $(srcdir).
2027
2028 * bison.simple (__yy_memcpy):
2029 Really reorder the args, as was supposedly done on Feb 14 1995.
2030 (yyparse): Calls changed accordingly.
2031
2032 1996-01-27 Richard Stallman <rms@gnu.org>
2033
2034 * src/output.c (output_rule_data):
2035 Test YYERROR_VERBOSE in the conditional
2036 around the definition of ttyname.
2037
2038 1995-12-29 Richard Stallman <rms@gnu.org>
2039
2040 * src/bison.s1:
2041 Fix line numbers in #line commands.
2042
2043 1995-12-29 Richard Stallman <rms@gnu.org>
2044
2045 * bison.simple:
2046 Fix line numbers in #line commands.
2047
2048 1995-12-27 Richard Stallman <rms@gnu.org>
2049
2050 * src/bison.s1 (YYPARSE_PARAM_DECL):
2051 In C++, make it always null.
2052 (YYPARSE_PARAM_ARG): New macro.
2053 (yyparse): Use YYPARSE_PARAM_ARG.
2054
2055 1995-12-27 Richard Stallman <rms@gnu.org>
2056
2057 * bison.simple (YYPARSE_PARAM_DECL):
2058 In C++, make it always null.
2059 (YYPARSE_PARAM_ARG): New macro.
2060 (yyparse): Use YYPARSE_PARAM_ARG.
2061
2062 1995-11-29 Richard Stallman <rms@gnu.org>
2063
2064 * doc/bison.texinfo:
2065 Describe literal string tokens, %raw, %no_lines, %token_table.
2066
2067 1995-11-29 Daniel Hagerty <hag@gnu.org>
2068
2069 * doc/bison.texinfo: Fixed update date
2070
2071 1995-10-16 Richard Stallman <rms@gnu.org>
2072
2073 * src/version.c: Version 1.25.
2074
2075 1995-10-16 Richard Stallman <rms@gnu.org>
2076
2077 * NEWS: *** empty log message ***
2078
2079 1995-10-16 Richard Stallman <rms@gnu.org>
2080
2081 * doc/bison.1, doc/bison.rnh:
2082 Add new options.
2083
2084 1995-10-15 Richard Stallman <rms@gnu.org>
2085
2086 * src/vmsgetargs.c, src/getargs.c:
2087 Added -n, -k, and -raw switches.
2088 (noparserflag, toknumflag, rawtoknumflag): New variables.
2089
2090 * src/symtab.h (SALIAS):
2091 New #define for adding aliases to %token.
2092 (struct bucket): Added `alias' field.
2093
2094 * src/reduce.c (reduce_grammar):
2095 Revise error message.
2096 (print_notices): Remove final `.' from error message.
2097
2098 * src/reader.c (reader_output_yylsp):
2099 New function.
2100 (readgram): Use `#if 0' around code that accepted %command
2101 inside grammar rules: The documentation doesn't allow it,
2102 and it will fail since the %command processors scan for the next %.
2103 (parse_token_decl): Extended the %token
2104 declaration to allow a multi-character symbol as an alias.
2105 (parse_thong_decl): New function.
2106 (read_declarations): Added %thong declarations.
2107 (read_declarations): Handle NOOP to deal with allowing
2108 % declarations as another means to specify the flags.
2109 (readgram): Allow %prec prior to semantics embedded in a rule.
2110 (skip_to_char, read_declarations, copy_definition)
2111 (parse_token_decl, parse_start_decl, parse_type_decl)
2112 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
2113 (get_type_name, copy_guard, copy_action, readgram)
2114 (get_type, packsymbols): Revised most error messages.
2115 Changed `fatal' to `warnxxx' to avoid aborting for error.
2116 Revised and use multiple warnxxx functions to avoid using VARARGS1.
2117 (read_declarations): Improve the error message for
2118 an invalid character. Do not abort.
2119 (read_declarations, copy_guard, copy_action): Use
2120 printable_version to avoid unprintable characters in printed output.
2121 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
2122 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
2123 Allow the type of a non-terminal can be given
2124 more than once, as long as all specifications give the same type.
2125
2126 * src/output.c:
2127 (output_headers, output_trailers, output, output_gram)
2128 (output_rule_data): Implement noparserflag variable.
2129 Implement toknumflag variable.
2130 (output): Call reader_output_yylsp to output LTYPESTR.
2131
2132 * src/main.c (main):
2133 If reader sees an error, don't process the grammar.
2134 (fatals): Updated to not use VARARGS1.
2135 (printable_version, int_to_string, warn, warni, warns, warnss)
2136 (warnsss): New error reporting functions. Avoid abort for error.
2137
2138 * src/lex.h:
2139 Added THONG and NOOP for alias processing.
2140 Added SETOPT for the new code that allows setting options with %flags.
2141
2142 * src/lex.c:
2143 Include getopt.h. Add some extern decls.
2144 (safegetc): New function to deal with EOF gracefully.
2145 (literalchar); new function to deal with reading \ escapes.
2146 (lex): Use literalchar.
2147 (lex): Implemented "..." tokens.
2148 (literalchar, lex, parse_percent_token): Made tokenbuffer
2149 always contain the token. This includes growing the token
2150 buffer while reading an integer.
2151 (parse_percent_token): Replaced if-else statement with percent_table.
2152 (parse_percent_token): Added % declarations as another
2153 way to specify the flags -n, -l, and -r. Also added hooks for
2154 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
2155 major changes to files.c.
2156 (lex) Retain in the incoming stream a character following
2157 an incorrect '/'.
2158 (skip_white_space, lex): Revised most error messages
2159 and changed fatal to warn to avoid aborting.
2160 (percent_table): Added %thong declarations.
2161
2162 * src/gram.h: Comment changes.
2163
2164 * src/files.c (openfiles, open_extra_files, done):
2165 Add faction flag
2166 and actfile file. Handle noparserflag. Both for -n switch.
2167
2168 * src/conflicts.c (resolve_sr_conflict):
2169 Remove use of alloca.
2170
2171 1995-06-01 Jim Meyering <meyering@gnu.org>
2172
2173 * doc/bison.texinfo: *** empty log message ***
2174
2175 1995-05-06 Richard Stallman <rms@gnu.org>
2176
2177 * src/bison.s1: Comment change.
2178
2179 1995-05-06 Richard Stallman <rms@gnu.org>
2180
2181 * bison.simple: Comment change.
2182
2183 1995-05-03 Richard Stallman <rms@gnu.org>
2184
2185 * src/version.c: Version now 1.24.
2186
2187 * src/bison.s1: Change distribution terms.
2188
2189 * src/version.c: Version now 1.23.
2190
2191 1995-05-03 Richard Stallman <rms@gnu.org>
2192
2193 * doc/bison.texinfo:
2194 Rewrite "Conditions for Using Bison".
2195 Update version to 1.24.
2196
2197 1995-05-03 Richard Stallman <rms@gnu.org>
2198
2199 * bison.simple: Change distribution terms.
2200
2201 1995-02-23 Richard Stallman <rms@gnu.org>
2202
2203 * src/files.c: Test __VMS_POSIX as well as VMS.
2204
2205 1995-02-14 Jim Meyering <meyering@gnu.org>
2206
2207 * src/bison.s1 (__yy_memcpy):
2208 Renamed from __yy_bcopy to avoid
2209 confusion. Reverse FROM and TO arguments to be consistent with
2210 those of memcpy.
2211
2212 1995-02-14 Jim Meyering <meyering@gnu.org>
2213
2214 * bison.simple (__yy_memcpy):
2215 Renamed from __yy_bcopy to avoid
2216 confusion. Reverse FROM and TO arguments to be consistent with
2217 those of memcpy.
2218
2219 1994-11-10 David J. MacKenzie <djm@gnu.org>
2220
2221 * NEWS: reformat
2222
2223 * NEWS: New file.
2224
2225 * Makefile.in (DISTFILES): Include NEWS.
2226
2227 * Makefile.in (DISTFILES):
2228 Include install-sh, not install.sh.
2229
2230 * configure.in: Update to Autoconf v2 macro names.
2231
2232 1994-10-05 David J. MacKenzie <djm@gnu.org>
2233
2234 * Makefile.in: fix typo
2235
2236 * Makefile.in (prefix, exec_prefix):
2237 Let configure set them.
2238
2239 1994-09-28 David J. MacKenzie <djm@gnu.org>
2240
2241 * Makefile.in: Set datadir to $(prefix)/share.
2242
2243 1994-09-15 Richard Stallman <rms@gnu.org>
2244
2245 * src/bison.s1:
2246 Update copyright notice and GPL version.
2247
2248 1994-09-15 Richard Stallman <rms@gnu.org>
2249
2250 * bison.simple:
2251 Update copyright notice and GPL version.
2252
2253 1994-07-12 Richard Stallman <rms@gnu.org>
2254
2255 * src/reduce.c, src/reader.c:
2256 entered into RCS
2257
2258 1994-05-05 David J. MacKenzie <djm@gnu.org>
2259
2260 * Makefile.in: entered into RCS
2261
2262 1994-03-26 Richard Stallman <rms@gnu.org>
2263
2264 * src/bison.s1: entered into RCS
2265
2266 1994-03-26 Richard Stallman <rms@gnu.org>
2267
2268 * bison.simple: entered into RCS
2269
2270 1994-03-25 Richard Stallman <rms@gnu.org>
2271
2272 * src/main.c: entered into RCS
2273
2274 1994-03-24 Richard Stallman <rms@gnu.org>
2275
2276 * src/conflicts.c: entered into RCS
2277
2278 1994-01-02 Richard Stallman <rms@gnu.org>
2279
2280 * Makefile.in: *** empty log message ***
2281
2282 1993-11-21 Richard Stallman <rms@gnu.org>
2283
2284 * src/bison.s1: *** empty log message ***
2285
2286 1993-11-21 Richard Stallman <rms@gnu.org>
2287
2288 * doc/bison.texinfo: entered into RCS
2289
2290 * doc/bison.texinfo: *** empty log message ***
2291
2292 1993-11-21 Richard Stallman <rms@gnu.org>
2293
2294 * bison.simple: *** empty log message ***
2295
2296 1993-10-25 David J. MacKenzie <djm@gnu.org>
2297
2298 * doc/bison.texinfo: *** empty log message ***
2299
2300 1993-10-19 Richard Stallman <rms@gnu.org>
2301
2302 * src/bison.s1: *** empty log message ***
2303
2304 1993-10-19 Richard Stallman <rms@gnu.org>
2305
2306 * bison.simple: *** empty log message ***
2307
2308 1993-10-14 Richard Stallman <rms@gnu.org>
2309
2310 * src/bison.s1: *** empty log message ***
2311
2312 1993-10-14 Richard Stallman <rms@gnu.org>
2313
2314 * bison.simple: *** empty log message ***
2315
2316 1993-09-14 David J. MacKenzie <djm@gnu.org>
2317
2318 * doc/bison.texinfo: *** empty log message ***
2319
2320 1993-09-13 Noah Friedman <friedman@gnu.org>
2321
2322 * Makefile.in: *** empty log message ***
2323
2324 1993-09-10 Richard Stallman <rms@gnu.org>
2325
2326 * src/conflicts.c: *** empty log message ***
2327
2328 * src/system.h: entered into RCS
2329
2330 1993-09-10 Richard Stallman <rms@gnu.org>
2331
2332 * doc/bison.1: entered into RCS
2333
2334 1993-09-06 Noah Friedman <friedman@gnu.org>
2335
2336 * src/version.c: entered into RCS
2337
2338 1993-09-06 Noah Friedman <friedman@gnu.org>
2339
2340 * Makefile.in: *** empty log message ***
2341
2342 1993-07-30 David J. MacKenzie <djm@gnu.org>
2343
2344 * Makefile.in: *** empty log message ***
2345
2346 1993-07-24 Richard Stallman <rms@gnu.org>
2347
2348 * src/bison.s1: *** empty log message ***
2349
2350 1993-07-24 Richard Stallman <rms@gnu.org>
2351
2352 * bison.simple: *** empty log message ***
2353
2354 1993-07-08 David J. MacKenzie <djm@gnu.org>
2355
2356 * Makefile.in: *** empty log message ***
2357
2358 1993-07-04 Richard Stallman <rms@gnu.org>
2359
2360 * src/bison.s1: *** empty log message ***
2361
2362 1993-07-04 Richard Stallman <rms@gnu.org>
2363
2364 * bison.simple: *** empty log message ***
2365
2366 1993-06-26 David J. MacKenzie <djm@gnu.org>
2367
2368 * src/getargs.c: entered into RCS
2369
2370 1993-06-26 David J. MacKenzie <djm@gnu.org>
2371
2372 * doc/bison.texinfo: *** empty log message ***
2373
2374 * doc/bison.1: New file.
2375
2376 1993-06-25 Richard Stallman <rms@gnu.org>
2377
2378 * src/getargs.c: New file.
2379
2380 1993-06-16 Richard Stallman <rms@gnu.org>
2381
2382 * src/bison.s1: *** empty log message ***
2383
2384 1993-06-16 Richard Stallman <rms@gnu.org>
2385
2386 * bison.simple: *** empty log message ***
2387
2388 1993-06-03 Richard Stallman <rms@gnu.org>
2389
2390 * src/bison.s1: New file.
2391
2392 1993-06-03 Richard Stallman <rms@gnu.org>
2393
2394 * doc/bison.texinfo: *** empty log message ***
2395
2396 1993-06-03 Richard Stallman <rms@gnu.org>
2397
2398 * bison.simple: New file.
2399
2400 1993-05-19 Richard Stallman <rms@gnu.org>
2401
2402 * doc/bison.texinfo: New file.
2403
2404 1993-05-07 Noah Friedman <friedman@gnu.org>
2405
2406 * Makefile.in: *** empty log message ***
2407
2408 1993-04-28 Noah Friedman <friedman@gnu.org>
2409
2410 * src/reader.c: *** empty log message ***
2411
2412 1993-04-23 Noah Friedman <friedman@gnu.org>
2413
2414 * src/alloc.h: entered into RCS
2415
2416 1993-04-20 David J. MacKenzie <djm@gnu.org>
2417
2418 * src/version.c: *** empty log message ***
2419
2420 * src/files.c, src/allocate.c:
2421 entered into RCS
2422
2423 * src/reader.c: *** empty log message ***
2424
2425 * src/lex.c: entered into RCS
2426
2427 * src/conflicts.c: New file.
2428
2429 * src/symtab.c: entered into RCS
2430
2431 * src/alloc.h: New file.
2432
2433 * src/LR0.c: entered into RCS
2434
2435 1993-04-18 Noah Friedman <friedman@gnu.org>
2436
2437 * src/reader.c: New file.
2438
2439 * src/version.c: *** empty log message ***
2440
2441 1993-04-18 Noah Friedman <friedman@gnu.org>
2442
2443 * Makefile.in: *** empty log message ***
2444
2445 1993-04-17 Noah Friedman <friedman@gnu.org>
2446
2447 * Makefile.in: *** empty log message ***
2448
2449 1993-04-15 Richard Stallman <rms@gnu.org>
2450
2451 * src/main.c, src/files.c:
2452 New file.
2453
2454 1993-04-15 Noah Friedman <friedman@gnu.org>
2455
2456 * configure.in: entered into RCS
2457
2458 * configure.in: *** empty log message ***
2459
2460 * configure.in: New file.
2461
2462 1993-04-14 Richard Stallman <rms@gnu.org>
2463
2464 * Makefile.in: New file.
2465
2466 1993-04-13 Richard Stallman <rms@gnu.org>
2467
2468 * src/version.c: New file.
2469
2470 1993-03-25 Richard Stallman <rms@gnu.org>
2471
2472 * src/output.c: entered into RCS
2473
2474 1992-09-25 Richard Stallman <rms@gnu.org>
2475
2476 * configure.bat: entered into RCS
2477
2478 1992-06-22 Richard Stallman <rms@gnu.org>
2479
2480 * src/vmsgetargs.c: entered into RCS
2481
2482 1992-06-22 Richard Stallman <rms@gnu.org>
2483
2484 * doc/bison.rnh: entered into RCS
2485
2486 1992-04-20 David J. MacKenzie <djm@gnu.org>
2487
2488 * README: entered into RCS
2489
2490 1992-01-22 Richard Stallman <rms@gnu.org>
2491
2492 * src/machine.h: entered into RCS
2493
2494 1991-12-21 Richard Stallman <rms@gnu.org>
2495
2496 * src/lalr.c, src/closure.c:
2497 entered into RCS
2498
2499 1991-12-20 Richard Stallman <rms@gnu.org>
2500
2501 * src/state.h: entered into RCS
2502
2503 1991-12-18 Richard Stallman <rms@gnu.org>
2504
2505 * src/print.c, src/nullable.c, src/derives.c:
2506 entered into RCS
2507
2508 1991-11-03 David J. MacKenzie <djm@gnu.org>
2509
2510 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
2511 entered into RCS
2512
2513 1988-09-09 Richard Stallman <rms@gnu.org>
2514
2515 * src/bison.hairy: entered into RCS
2516
2517 1987-12-16 Richard Stallman <rms@gnu.org>
2518
2519 * REFERENCES: entered into RCS