]> git.saurik.com Git - bison.git/blob - ChangeLog
* src/output.c (prepare): Drop the muscle `ntbase' which
[bison.git] / ChangeLog
1 2001-12-27 Akim Demaille <akim@epita.fr>
2
3 * src/output.c (prepare): Drop the muscle `ntbase' which
4 duplicates ntokens.
5 * src/bison.simple: Formatting/comment changes.
6 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
7 is an undocumented synonym.
8
9
10 2001-12-22 Akim Demaille <akim@epita.fr>
11
12 * src/output.c (output_table_data): Change the prototype to use
13 `int' for array ranges: some invocations do pass an int, not a
14 short.
15 Reported by Wayne Green.
16
17 2001-12-22 Akim Demaille <akim@epita.fr>
18
19 Some actions of web2c.y are improperly triggered.
20 Reported by Mike Castle.
21
22 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
23 * tests/regression.at (Web2c): Rename as...
24 (Web2c Report): this.
25 (Web2c Actions): New.
26
27 2001-12-22 Akim Demaille <akim@epita.fr>
28
29 Reductions in web2c.y are improperly reported.
30 Reported by Mike Castle.
31
32 * src/conflicts.c (print_reductions): Fix.
33 * tests/regression.at (Web2c): New.
34
35 2001-12-18 Akim Demaille <akim@epita.fr>
36
37 Some host fail on `assert (!"foo")', which expands to
38 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
39 Reported by Nelson Beebee.
40
41 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
42 `#define it_succeeded 0' and `assert (it_succeeded)'.
43
44 2001-12-17 Marc Autret <autret_m@epita.fr>
45
46 * src/bison.simple: Don't hard code the skeleton line and filename.
47 * src/output.c (output_parser): Rename 'line' as 'output_line'.
48 New line counter 'skeleton_line' (skeleton-line muscle).
49
50 2001-12-17 Paul Eggert <eggert@twinsun.com>
51
52 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
53 YYDEBUG must be defined to a nonzero value.
54
55 * src/bison.simple (yytname): Do not assume that the user defines
56 YYDEBUG to a properly parenthesized expression.
57
58 2001-12-17 Akim Demaille <akim@epita.fr>
59
60 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
61 nlookaheads is a new member.
62 Adjust all users.
63 * src/lalr.h (nlookaheads): Remove this orphan declaration.
64 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
65 state.
66
67 2001-12-17 Akim Demaille <akim@epita.fr>
68
69 * src/files.h, src/files.c (open_files, close_files): Remove.
70 * src/main.c (main): Don't open/close files, nor invoke lex_free,
71 let...
72 * src/reader.c (reader): Do it.
73
74 2001-12-17 Akim Demaille <akim@epita.fr>
75
76 * src/conflicts.c (print_reductions): Formatting changes.
77
78 2001-12-17 Akim Demaille <akim@epita.fr>
79
80 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
81 (flush_reduce): New.
82 (resolve_sr_conflict): Adjust.
83
84 2001-12-17 Akim Demaille <akim@epita.fr>
85
86 * src/output.c (output_obstack): Be static and rename as...
87 (format_obstack): this, to avoid any confusion with files.c's
88 output_obstack.
89 * src/reader.h (muscle_obstack): Move to...
90 * src/output.h: here, since it's defined in output.c.
91
92 2001-12-17 Akim Demaille <akim@epita.fr>
93
94 * src/output.c (action_row, save_column, default_goto)
95 (sort_actions, matching_state, pack_vector): Better variable
96 locality.
97
98 2001-12-17 Akim Demaille <akim@epita.fr>
99
100 * src/output.c: Various formatting changes.
101
102 2001-12-17 Akim Demaille <akim@epita.fr>
103
104 * src/files.c (output_files): Free the output_obstack.
105 * src/main.c (main): Call print and print_graph conditionally.
106 * src/print.c (print): Work unconditionally.
107 * src/print_graph.c (print_graph): Work unconditionally.
108 * src/conflicts.c (log_resolution): Output only if verbose_flag.
109
110 2001-12-16 Marc Autret <autret_m@epita.fr>
111
112 * src/output.c (actions_output): Fix. When we use %no-lines,
113 there is one less line per action.
114
115 2001-12-16 Marc Autret <autret_m@epita.fr>
116
117 * src/bison.simple: Remove a useless #line directive.
118 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
119 * src/output.c (get_lines_number): New.
120 (output_parser): Adjust, now takes care about the lines of a
121 output muscles.
122 Fix line numbering.
123 (actions_output): Computes the number of lines taken by actions.
124 (output_master_parser): Insert new skeleton which is the name of
125 the output parser file name.
126
127 2001-12-15 Marc Autret <autret_m@epita.fr>
128
129 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
130
131 2001-12-15 Marc Autret <autret_m@epita.fr>
132
133 * src/output.c (output_gram): Keep track of the hairy one.
134
135 2001-12-15 Akim Demaille <akim@epita.fr>
136
137 Make `make distcheck' work.
138
139 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
140 system.h which uses libgettext.h.
141
142 2001-12-15 Akim Demaille <akim@epita.fr>
143
144 * src/nullable.c (set_nullable): Useless rules must be skipped,
145 otherwise, since we range over their symbols, we might look at a
146 nonterminal which no longer ``exists'', i.e., it is not counted in
147 `nvars', hence we overflow our arrays.
148
149 2001-12-15 Akim Demaille <akim@epita.fr>
150
151 The header can also be produced directly, without any obstack!
152 Yahoo!
153
154 * src/files.c, src/files.h (defines_obstack): Remove.
155 (compute_header_macro): Global.
156 (defines_obstack_save): Remove.
157 * src/reader.c (parse_union_decl): No longer output to
158 defines_obstack: its content can be found in the `stype' muscle
159 anyway.
160 (output_token_translations): Merge into...
161 (symbols_output): this.
162 Rename as...
163 (symbols_save): this.
164 (reader): Adjust.
165 * src/output.c (header_output): New.
166 (output): Call it.
167
168 2001-12-15 Akim Demaille <akim@epita.fr>
169
170 * src/reader.c (parse_union_decl): Instead of handling two obstack
171 simultaneously, use one to define the `stype' muscle, and use the
172 value of the latter to fill defines_obstack.
173 (copy_comment): Remove.
174 (copy_comment2): Work for a single obstack.
175 Rename as...
176 (copy_comment): this.
177
178 2001-12-15 Akim Demaille <akim@epita.fr>
179
180 * src/lex.c, src/lex.h (xgetc): No longer static.
181 * src/reader.c (parse_union_decl): Revamp.
182
183 2001-12-15 Akim Demaille <akim@epita.fr>
184
185 Still making progress in separating Bison into (i) input, (ii)
186 process, (iii) output: now we can directly output the parser file
187 without using table_obstack at all.
188
189 * src/files.c, src/files.h (table_obstack): Bye bye.
190 (parser_file_name): New.
191 * src/files.c (compute_output_file_names): Compute it.
192 * src/output.c (actions_output, output_parser)
193 (output_master_parser): To a file instead of an obstack.
194
195 2001-12-15 Akim Demaille <akim@epita.fr>
196
197 Attach actions to rules, instead of pre-outputting them to
198 actions_obstack.
199
200 * src/gram.h (rule_t): action and action_line are new members.
201 * src/reader.c (symbol_list): Likewise.
202 (copy_action): Save the actions within the rule.
203 (packgram): Save them in rule_table.
204 * src/output.c (actions_output): New.
205 (output_parser): Use it on `%%actions'.
206 (output_rule_data): Don't free rule_table.
207 (output): Do it.
208 (prepare): Don't save the `action' muscle.
209 * src/bison.simple: s/%%action/%%actions/.
210
211 2001-12-15 Akim Demaille <akim@epita.fr>
212
213 * src/reader.c (copy_action): When --yacc, don't append a `;'
214 to the user action: let it fail if lacking.
215 Suggested by Arnold Robbins and Tom Tromey.
216
217 2001-12-14 Akim Demaille <akim@epita.fr>
218
219 * src/lex.c (literalchar): Simply return the char you decoded, non
220 longer mess around with obstacks and int pointers.
221 Adjust all callers.
222
223 2001-12-14 Akim Demaille <akim@epita.fr>
224
225 * src/lex.c (literalchar): Don't escape the special characters,
226 just decode them, and keep them as char (before, eol was output as
227 the 2 char string `\n' etc.).
228 * src/output.c (output_rule_data): Use quotearg to output the
229 token strings.
230
231 2001-12-13 Paul Eggert <eggert@twinsun.com>
232
233 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
234 Do not infringe on the global user namespace when using C++.
235 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
236 All uses of `fprintf' and `stderr' changed.
237
238 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
239
240 2001-12-13 Akim Demaille <akim@epita.fr>
241
242 The computation of nullable is broken: it doesn't handle empty
243 RHS's properly.
244
245 * tests/torture.at (GNU AWK Grammar): New.
246 * tests/sets.at (Nullable): New.
247 * src/nullable.c (set_nullable): Instead of blindly looping over
248 `ritems', loop over the rules, and then over their rhs's.
249
250 Work around Autotest bugs.
251
252 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
253 frame, because Autotest understand lines starting with a `+' as
254 traces from the shell. Then, they are not processed properly.
255 Admittedly an Autotest bug, but we don't have time to wait for
256 Autotest to catch up.
257 * tests/regression.at (Broken Closure): Adjust to the new table
258 frames.
259 Move to...
260 * tests/sets.at: here.
261
262 2001-12-13 Akim Demaille <akim@epita.fr>
263
264 * src/closure.c (closure): Use nrules instead of playing tricks
265 with BITS_PER_WORD.
266
267 2001-12-13 Akim Demaille <akim@epita.fr>
268
269 * src/print.c (print_actions): Output the handling of `$' as the
270 traces do: shifting the token EOF. Before EOF was treated as a
271 nonterminal.
272 * tests/regression.at: Adjust some tests.
273 * src/print_graph.c (print_core): Complete the set of items via
274 closure. The next-to-final and final states are still unsatisfying,
275 but that's to be addressed elsewhere.
276 No longer output the rule numbers, but do output the state number.
277 A single loop for the shifts + gotos is enough, but picked a
278 distinct color for each.
279 (print_graph): Initialize and finalize closure.
280
281 2001-12-13 Akim Demaille <akim@epita.fr>
282
283 * src/reader.c (readgram): Remove dead code, an strip useless
284 braces.
285 (get_type): Remove, unused.
286
287 2001-12-12 Akim Demaille <akim@epita.fr>
288
289 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
290 on that of lib/error.c.
291
292 2001-12-12 Akim Demaille <akim@epita.fr>
293
294 Some hosts don't like `/' in includes.
295
296 * src/system.h: Include libgettext.h without qualifying the path.
297 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
298 $(top_srcdir).
299
300 2001-12-11 Marc Autret <autret_m@epita.fr>
301
302 * src/output.c (output_parser): Remove useless muscle.
303
304 2001-12-11 Marc Autret <autret_m@epita.fr>
305
306 * src/bison.simple: Remove #line just before %%epilogue. It
307 is now handled in ...
308 * src/reader.c (read_additionnal_code): Add the output of a
309 #line for the epilogue.
310
311 2001-12-10 Marc Autret <autret_m@epita.fr>
312
313 * src/reader.c (copy_definition): Re-use CPP-outed code which
314 replace precedent remove.
315 * src/bison.simple: Remove #line before %%prologue because
316 %%input-line is wrong at this time.
317
318 2001-12-10 Marc Autret <autret_m@epita.fr>
319
320 * src/reader.c (symbols_output): Clean up.
321 * src/output.c (output_gram, output): Clean up.
322
323 2001-12-10 Akim Demaille <akim@epita.fr>
324
325 * src/lalr.c (initialize_lookaheads): New. Extracted from...
326 * src/LR0.c (set_state_table): here.
327 * src/lalr.c (lalr): Call it.
328
329 2001-12-10 Akim Demaille <akim@epita.fr>
330
331 * src/state.h (shifts): Remove the `number' member: shifts are
332 attached to state, hence no longer need to be labelled with a
333 state number.
334
335 2001-12-10 Akim Demaille <akim@epita.fr>
336
337 Now that states have a complete set of members, the linked list of
338 shifts is useless: just fill directly the state's shifts member.
339
340 * src/state.h (shifts): Remove the `next' member.
341 * src/LR0.c (first_state, last_state): Remove.
342 Adjust the callers.
343 (augment_automaton): Don't look for the shifts that must be added
344 a shift on EOF: it is those of the state we looked for! But now,
345 since shifts are attached, it is no longer needed to looking
346 merely by its id: its number.
347
348 2001-12-10 Akim Demaille <akim@epita.fr>
349
350 * src/LR0.c (augment_automaton): Better variable locality.
351 Remove an impossible branch: if there is a state corresponding to
352 the start symbol being shifted, then there is shift for the start
353 symbol from the initial state.
354
355 2001-12-10 Akim Demaille <akim@epita.fr>
356
357 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
358 only when appropriate: when insert_start_shifting_state' is not
359 invoked.
360 * tests/regression.at (Rule Line Numbers): Adjust.
361
362 2001-12-10 Akim Demaille <akim@epita.fr>
363
364 * src/LR0.c (augment_automaton): Now that all states have shifts,
365 merge the two cases addition shifts to the initial state.
366
367 2001-12-10 Akim Demaille <akim@epita.fr>
368
369 * src/lalr.c (set_state_table): Move to...
370 * src/LR0.c: here.
371 * src/lalr.c (lalr): Don't call it...
372 * src/LR0.c (generate_states): do it.
373 * src/LR0.h (first_state): Remove, only the table is used.
374
375 2001-12-10 Akim Demaille <akim@epita.fr>
376
377 * src/LR0.h (first_shift, first_reduction): Remove.
378 * src/lalr.c: Don't use first_shift: find shifts through the
379 states.
380
381 2001-12-10 Akim Demaille <akim@epita.fr>
382
383 * src/LR0.c: Attach shifts to states as soon as they are
384 computed.
385 * src/lalr.c (set_state_table): Instead of assigning shifts to
386 state, just assert that the mapping was properly done.
387
388 2001-12-10 Akim Demaille <akim@epita.fr>
389
390 * src/LR0.c (insert_start_shift): Rename as...
391 (insert_start_shifting_state): this.
392 (insert_eof_shifting_state, insert_accepting_state): New.
393 (augment_automaton): Adjust.
394 Better locality of the variables.
395 When looking if the start_symbol is shifted from the initial
396 state, using `while (... symbol != start_symbol ...)' sounds
397 better than `while (... symbol < start_symbol ...)': If fail
398 to see how the order between symbols could be relevant!
399
400 2001-12-10 Akim Demaille <akim@epita.fr>
401
402 * src/getargs.h: Don't declare `spec_name_prefix' and
403 `spec_file_prefix', declared by src/files.h.
404 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
405 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
406 * src/output.c (prepare): Adjust.
407 * src/reader.c (symbols_output): Likewise.
408 * src/vmsgetargs.c: Vaguely adjust, but who cares?
409
410 2001-12-10 Akim Demaille <akim@epita.fr>
411
412 * src/muscle_tab.c (muscle_init): NULL is a better default than
413 `"0"'.
414
415 2001-12-10 Akim Demaille <akim@epita.fr>
416
417 * src/reader.c (reader): Calling symbols_output once is enough.
418
419 2001-12-10 Akim Demaille <akim@epita.fr>
420
421 Now that states have a complete set of members, the linked list of
422 reductions is useless: just fill directly the state's reductions
423 member.
424
425 * src/state.h (struct reductions): Remove member `number' and
426 `next'.
427 * src/LR0.c (first_reduction, last_reduction): Remove.
428 (save_reductions): Don't link the new reductions, store them in
429 this_state.
430 * src/lalr.c (set_state_table): No need to attach reductions to
431 states, it's already done.
432 * src/output.c (output_actions): No longer free the shifts, then
433 the reductions, then the states: free all the states and their
434 members.
435
436 2001-12-10 Akim Demaille <akim@epita.fr>
437
438 * src/options.c (OPTN, DRTV, BOTH): New.
439 (option_table): Use them.
440
441 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
442 the job of system.h.
443 * src/options.c: Don't include stdio.h and xalloc.h for the same
444 reasons.
445
446 2001-12-10 Akim Demaille <akim@epita.fr>
447
448 * src/output.c (output, prepare): Make sure the values of the
449 muscles `action' and `prologue' are 0-terminated.
450
451 2001-12-10 Akim Demaille <akim@epita.fr>
452
453 Clean up GCC warnings.
454
455 * src/reader.c (copy_action): `buf' is not used.
456 (parse_skel_decl): Be static.
457 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
458 * src/options.h (create_long_option_table): Have a real prototype.
459 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
460 (hash_delete_at): Return const void *.
461 Adjust casts to preserve the const.
462
463 2001-12-10 Akim Demaille <akim@epita.fr>
464
465 * configure.in: Require 2.52g.
466 M4 is not needed, but AUTOM4TE is.
467 * m4/m4.m4: Remove.
468 * tests/Makefile.am: Adjust.
469
470 2001-12-10 Akim Demaille <akim@epita.fr>
471
472 One structure for states is enough, even though theoretically
473 there are LR(0) states and LALR(1) states.
474
475 * src/lalr.h (state_t): Remove.
476 (state_table): Be state_t **, not state_t *.
477 * src/state.h (core, CORE_ALLOC): Rename as...
478 (state_t, STATE_ALLOC): this.
479 Add the LALR(1) members: shifts, reductions, errs.
480 * src/LR0.c (state_table): Rename as...
481 (state_hash): this, to avoid name clashes with the global
482 `state_table'.
483 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
484 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
485
486 2001-12-10 Akim Demaille <akim@epita.fr>
487
488 Bison dumps core on bash.y.
489 Reported by Pascal Bart.
490
491 * src/warshall.c (bitmatrix_print): New.
492 (TC): Use it.
493 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
494 j must be the outer loop.
495 * tests/regression.at (Broken Closure): New.
496
497 2001-12-05 Akim Demaille <akim@epita.fr>
498
499 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
500 its argument.
501 Reported by Peter Hámorský.
502
503 2001-12-05 Akim Demaille <akim@epita.fr>
504
505 * src/conflicts.c (err_table): Remove.
506 (resolve_sr_conflict): Adjust.
507 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
508 Rename as...
509 (state_t.reductions, state_t.shifts): this.
510
511 2001-12-05 Akim Demaille <akim@epita.fr>
512
513 * src/reduce.c (reduce_grammar_tables): No longer disable the
514 removal of useless rules via CPP but via `if (0)', so that the
515 compiler still check the code is valid.
516 For instance, it should have noticed `rline' no longer exists: use
517 the `line' member of rule_t.
518 * src/gram.c (dummy, rline): Remove, unused.
519
520 2001-12-05 Akim Demaille <akim@epita.fr>
521
522 * src/output.c (pack_vector): Use assert, not berror.
523 * src/main.c (berror): Remove, unused.
524
525 2001-12-05 Akim Demaille <akim@epita.fr>
526
527 New experimental feature: if --verbose --trace output all the
528 items of a state, not only its kernel.
529
530 * src/print.c (print_core): If `trace_flag', then invoke closure
531 before outputting the items of the state (print_core is no longer
532 a correct name them).
533 (print_results): Invoke new_closure/free_closure if needed.
534
535 2001-12-05 Akim Demaille <akim@epita.fr>
536
537 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
538 * src/closure.c, src/closure.h (itemsetsize): Rename as...
539 (nitemset): for consistency with the rest of the project.
540
541 2001-12-05 Akim Demaille <akim@epita.fr>
542
543 * src/closure.c (print_closure): Improve.
544 (closure): Use it for printing input and output.
545
546 2001-12-05 Akim Demaille <akim@epita.fr>
547
548 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
549 indexed by nonterminals.
550
551 2001-12-05 Akim Demaille <akim@epita.fr>
552
553 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
554 what it was!).
555 * src/warshall.h: Remove accidental duplication of the content.
556
557 2001-12-05 Akim Demaille <akim@epita.fr>
558
559 * src/closure.c (set_fderives): De-obfuscate.
560
561 2001-12-05 Akim Demaille <akim@epita.fr>
562
563 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
564
565 2001-12-05 Akim Demaille <akim@epita.fr>
566
567 * src/closure.c (set_firsts): De-obfuscate.
568
569 2001-12-05 Akim Demaille <akim@epita.fr>
570
571 * src/output.c (action_row): De-obfuscate
572 using the good o' techniques: arrays not pointers, variable
573 locality, BITISSET, RESETBIT etc.
574
575 2001-12-05 Akim Demaille <akim@epita.fr>
576
577 Pessimize the code to simplify it: from now on, all the states
578 have a valid SHIFTS, which NSHIFTS is possibly 0.
579
580 * src/LR0.c (shifts_new): Be global and move to..
581 * src/state.c, src/state.h: here.
582 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
583 * src/print_graph: Adjust.
584
585 2001-12-05 Akim Demaille <akim@epita.fr>
586
587 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
588 * src/conflicts.c: Use it.
589 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
590 incorrectly ``simplified''.
591
592 2001-12-05 Akim Demaille <akim@epita.fr>
593
594 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
595 using the good o' techniques: arrays not pointers, variable
596 locality, BITISSET, RESETBIT etc.
597
598 2001-12-05 Akim Demaille <akim@epita.fr>
599
600 * src/state.h (SHIFT_SYMBOL): New.
601 * src/conflicts.c: Use it to deobfuscate.
602
603 2001-12-05 Akim Demaille <akim@epita.fr>
604
605 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
606 (print_reductions): De-obfuscate using the good o' techniques:
607 arrays not pointers, variable locality, BITISSET.
608
609 2001-12-05 Akim Demaille <akim@epita.fr>
610
611 * src/conflicts.c (print_reductions): Arrays, not pointers.
612 Use BITISSET.
613
614 2001-12-05 Akim Demaille <akim@epita.fr>
615
616 * src/conflicts.c (print_reductions): Pessimize, but clarify.
617
618 2001-12-05 Akim Demaille <akim@epita.fr>
619
620 * src/conflicts.c (print_reductions): Improve variable locality.
621
622 2001-12-05 Akim Demaille <akim@epita.fr>
623
624 * src/conflicts.c (print_reductions): Pessimize, but clarify.
625
626 2001-12-05 Akim Demaille <akim@epita.fr>
627
628 * src/conflicts.c (print_reductions): Improve variable locality.
629
630 2001-12-05 Akim Demaille <akim@epita.fr>
631
632 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
633 * src/lalr.c: Use them.
634
635 2001-12-05 Akim Demaille <akim@epita.fr>
636
637 * src/LR0.c (augment_automaton): Formatting changes.
638 Better variable locality.
639
640 2001-12-05 Akim Demaille <akim@epita.fr>
641
642 * src/lalr.c (matrix_print): New.
643 (transpose): Use it.
644 Use arrays instead of pointers.
645
646 2001-12-05 Akim Demaille <akim@epita.fr>
647
648 * src/lalr.c (maxrhs): Move to...
649 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
650 * src/lalr.c (build_relations): Adjust.
651
652 2001-12-05 Akim Demaille <akim@epita.fr>
653
654 * src/lalr.c (transpose): Free the memory allocated to the
655 argument, as it is replaced by the results by the unique caller.
656 (build_relations): Merely invoke transpose: it handles the memory
657 deallocation.
658 Improve variable locality.
659 Avoid variables used as mere abbreviations.
660 (compute_lookaheads): Use arrays instead of pointers.
661
662 2001-12-05 Akim Demaille <akim@epita.fr>
663
664 * src/lalr.c (initialize_F): Improve variable locality.
665 Avoid variables used as mere abbreviations.
666
667 2001-12-05 Akim Demaille <akim@epita.fr>
668
669 * src/derives.c (print_derives): Display the ruleno.
670 * src/lalr.c (initialize_F, transpose): Better variable locality
671 to improve readability.
672 Avoid variables used as mere abbreviations.
673
674 2001-12-05 Akim Demaille <akim@epita.fr>
675
676 * src/lalr.c (traverse): Use arrays instead of pointers.
677
678 2001-12-05 Akim Demaille <akim@epita.fr>
679
680 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
681 the handling of squeue.
682 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
683
684 2001-12-05 Akim Demaille <akim@epita.fr>
685
686 Because useless nonterminals are now kept alive (instead of being
687 `destroyed'), we now sometimes examine them, and store information
688 related to them. Hence we need to know their number, and adjust
689 memory allocations.
690
691 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
692 static.
693 * src/LR0.c (allocate_itemsets): The memory allocated to
694 `symbol_count' was used for two different purpose: once to count
695 the number of occurrences of each symbol, and later reassigned to
696 `shift_symbol', containing the symbol that can be shifted from a
697 given state.
698 Deobfuscate, i.e., allocate, use and free `symbol_count' here
699 only, and...
700 (new_itemsets): Allocate `shift_symbol' here.
701 (allocate_itemsets): symbol_count includes useless nonterminals.
702 Make room for them.
703 (free_storage): Use `free', not `XFREE', for pointers that cannot
704 be null.
705
706 2001-12-05 Akim Demaille <akim@epita.fr>
707
708 * src/nullable.c (set_nullable): Deobfuscate the handling of
709 ritem.
710 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
711
712 2001-12-05 Akim Demaille <akim@epita.fr>
713
714 * src/gram.c, src/gram.h (ritem_print): New.
715 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
716 (This useless function was defined only to work around VMS linkers
717 that can't handle compilation units with variables only).
718 * src/reduce.c (dump_grammar): Use it to trace the construction of
719 ritem.
720
721 2001-12-04 Paul Eggert <eggert@twinsun.com>
722
723 * src/bison.simple (union yyalloc): Change member names
724 to be the same as the stack names.
725 (yyparse): yyptr is now union yyalloc *, not char *.
726 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
727 and may generate better code on some machines.
728 (yystpcpy): Use prototype if __STDC__ is defined, not just
729 if __cplusplus is defined.
730
731 2001-11-30 Akim Demaille <akim@epita.fr>
732
733 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
734 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
735 Gettext doesn't compile cleanly, and dies with -Werror.
736 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
737 Include WARNING_CFLAGS here.
738 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
739 before being defined.
740
741 2001-11-27 Paul Eggert <eggert@twinsun.com>
742
743 * lib/quotearg.h (quotearg_n, quotearg_n_style):
744 First arg is int, not unsigned.
745 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
746 (SIZE_MAX, UINT_MAX): New macros.
747 (quotearg_n_options): Abort if N is negative.
748 Avoid overflow check on hosts where size_t is 64 bits and int
749 is 32 bits, as overflow is impossible there.
750 Fix off-by-one typo that caused unnecessary reallocation.
751
752 2001-11-29 Paul Eggert <eggert@twinsun.com>
753
754 Name space cleanup in generated parser.
755
756 * doc/bison.texinfo (Bison Parser): Discuss system headers
757 and their effect on the user name space.
758
759 * src/bison.simple:
760 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
761 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
762 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
763
764 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
765 on user names when possible.
766
767 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
768 Simplify test for whather <alloca.h> exists.
769
770 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
771
772 (<stdio.h>): Include if YYDEBUG.
773
774 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
775 ! defined (yyoverflow) && ! defined (yymemcpy).
776
777 (yymemcpy, yyparse): Rename local variables as needed so that
778 they all begin with 'yy'.
779
780 (yystrlen, yystpcpy): New functions.
781
782 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
783 All uses changed.
784
785 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
786 instead of relying on string.h functions. Use YYSTACK_ALLOC
787 and YYSTACK_FREE instead of malloc and free.
788
789 2001-11-30 Akim Demaille <akim@epita.fr>
790
791 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
792 before their first uses.
793 (YYBISON, YYPURE): Move to the top of the output.
794
795 2001-11-30 Akim Demaille <akim@epita.fr>
796
797 * tests/reduce.at (Useless Nonterminals): Fix.
798
799 2001-11-30 Akim Demaille <akim@epita.fr>
800
801 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
802 if body instead of `;' to pacify GCC's warnings.
803
804 2001-11-30 Akim Demaille <akim@epita.fr>
805
806 Instead of mapping the LHS of unused rules to -1, keep the LHS
807 valid, but flag the rules as invalid.
808
809 * src/gram.h (rule_t): `useful' is a new member.
810 * src/print.c (print_grammar): Adjust.
811 * src/derives.c (set_derives): Likewise.
812 * src/reader.c (packgram, reduce_output): Likewise.
813 * src/reduce.c (reduce_grammar_tables): Likewise.
814 * tests/reduce.at (Underivable Rules, Useless Rules): New.
815
816 2001-11-30 Akim Demaille <akim@epita.fr>
817
818 * src/reduce.c (reduce_output): Formatting changes.
819 * src/print.c (print_results, print_grammar): Likewise.
820 * tests/regression.at (Rule Line Numbers)
821 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
822
823 2001-11-30 Akim Demaille <akim@epita.fr>
824
825 * src/reduce.c (nonterminals_reduce): Instead of throwing away
826 useless nonterminals, move them at the end of the symbol arrays.
827 (reduce_output): Adjust.
828 * tests/reduce.at (Useless Nonterminals): Adjust.
829
830 2001-11-30 Akim Demaille <akim@epita.fr>
831
832 * src/reduce.c: Various comment/formatting changes.
833 (nonterminals_reduce): New, extracted from...
834 (reduce_grammar_tables): here.
835 (reduce_grammar): Call nonterminals_reduce.
836
837 2001-11-29 Paul Eggert <eggert@twinsun.com>
838
839 * src/bison.simple (YYSTACK_REALLOC): Remove.
840 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
841 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
842 New macros.
843 (union yyalloc): New type.
844 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
845 an arbitrary restriction on hosts where size_t is wider than int.
846
847 (yyparse): Don't dump core if alloca or malloc fails; instead, report
848 a parser stack overflow. Allocate just one block of memory for all
849 three stacks, instead of allocating three blocks; this typically is
850 faster and reduces fragmentation.
851
852 Do not limit the number of items in the stack to a value that fits
853 in 'int', as this is an arbitrary limit on hosts with 64-bit
854 size_t and 32-bit int.
855
856 2001-11-29 Marc Autret <autret_m@epita.fr>
857
858 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
859 of defining YYERROR_VERBOSE.
860 [AT_DATA]: $4 is now out of C declarations in the prologue.
861
862 2001-11-28 Marc Autret <autret_m@epita.fr>
863
864 * src/reader.c (parse_dquoted_param): New.
865 (parse_skel_decl): Use it.
866 * src/lex.h: Add its prototype.
867 * src/lex.c (literalchar): Become not static.
868
869 2001-11-28 Marc Autret <autret_m@epita.fr>
870
871 * src/output.h: And put its extern declaration here.
872 * src/output.c (error_verbose): Define here.
873 (prepare): Echo name modification.
874 * src/getargs.h: Clean its extern declaration.
875 * src/getargs.c (error_verbose_flag): Remove.
876 (getargs): Remove case 'e'.
877 * src/options.c (option_table): 'error-verbose' is now seen as simple
878 percent option.
879 Include output.h.
880
881 * src/reader.c (read_declarations): Remove case tok_include.
882 (parse_include_decl): Remove.
883 * src/lex.h (token_t): Remove tok_include.
884 * src/options.c (option_table): 'include' is now a simple command line
885 option.
886
887 2001-11-28 Marc Autret <autret_m@epita.fr>
888
889 * src/bison.simple: Adjust muscle names.
890 * src/muscle_tab.c (muscle_init): Also rename the muscles.
891 * src/output.c (prepare): s/_/-/ for the muscles names.
892 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
893
894 2001-11-28 Marc Autret <autret_m@epita.fr>
895
896 * src/bison.simple: Fix debug.
897 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
898
899 2001-11-28 Akim Demaille <akim@epita.fr>
900
901 * src/LR0.c (shifts_new): New.
902 (save_shifts, insert_start_shift, augment_automaton): Use it.
903
904 2001-11-28 Akim Demaille <akim@epita.fr>
905
906 * src/closure.c (closure): `b' and `ruleno' denote the same value:
907 keep ruleno only.
908
909 2001-11-28 Akim Demaille <akim@epita.fr>
910
911 * src/closure.c (closure): Instead of looping over word in array
912 then bits in words, loop over bits in array.
913
914 2001-11-28 Akim Demaille <akim@epita.fr>
915
916 * src/closure.c (closure): No longer optimize the special case
917 where all the bits of `ruleset[r]' are set to 0, to make the code
918 clearer.
919
920 2001-11-28 Akim Demaille <akim@epita.fr>
921
922 * src/closure.c (closure): `r' and `c' are new variables, used to
923 de-obfuscate accesses to RULESET and CORE.
924
925 2001-11-28 Akim Demaille <akim@epita.fr>
926
927 * src/reduce.c (reduce_print): Use ngettext.
928 (dump_grammar): Improve the trace accuracy.
929
930 2001-11-28 Akim Demaille <akim@epita.fr>
931
932 * src/reduce.c (dump_grammar): Don't translate trace messages.
933
934 2001-11-28 Akim Demaille <akim@epita.fr>
935
936 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
937 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
938 as all tags are free'ed afterwards.
939 From Enrico Scholz.
940
941 2001-11-27 Paul Eggert <eggert@twinsun.com>
942
943 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
944 use alloca when we didn't want to, and vice versa.
945
946 2001-11-27 Marc Autret <autret_m@epita.fr>
947
948 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
949 initialization.
950 * src/output.c (prepare): Remove its update.
951
952 2001-11-27 Marc Autret <autret_m@epita.fr>
953
954 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
955 Use %error-verbose.
956
957 2001-11-27 Marc Autret <autret_m@epita.fr>
958
959 * src/bison.simple: Remove YYERROR_VERBOSE using.
960 Use %%error_verbose.
961 (yyparse): Likewise.
962 * src/output.c (prepare): Give its final value.
963 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
964 * src/getargs.h: Add its extern declaration.
965 * src/getargs.c (error_verbose_flag): New int.
966 (getargs): Update to catch new case.
967 * src/options.c (option_table): 'error-verbose' is a new option.
968 (shortopts): Update.
969
970 2001-11-27 Akim Demaille <akim@epita.fr>
971
972 * src/system.h: Use intl/libgettext.h.
973 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
974
975 2001-11-27 Akim Demaille <akim@epita.fr>
976
977 * tests/torture.at (Exploding the Stack Size with Malloc):
978 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
979
980 2001-11-27 Akim Demaille <akim@epita.fr>
981
982 * src/files.c: Include error.h.
983 Reported by Hans Aberg.
984
985 2001-11-26 Marc Autret <autret_m@epita.fr>
986
987 * src/reader.c (parse_include_decl): New, not yet implemented.
988 (read_declarations): Add case tok_include.
989 * src/getargs.h (include): Add its extern definition.
990 * src/getargs.c (include): New const char *.
991 (getargs): Add case '-I'.
992 * src/options.c (option_table): Add include as command line and
993 percent option.
994 * src/lex.h (token_t): Add tok_include.
995
996 2001-11-26 Akim Demaille <akim@epita.fr>
997
998 * src/reader.c (readgram): Make sure rules for mid-rule actions
999 have a lineno equal to that of their host rule.
1000 Reported by Hans Aberg.
1001 * tests/regression.at (Rule Line Numbers): New.
1002
1003 2001-11-26 Akim Demaille <akim@epita.fr>
1004
1005 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
1006 size_ts.
1007
1008 2001-11-26 Akim Demaille <akim@epita.fr>
1009
1010 * src/complain.c, src/complain.h (error): Remove, provided by
1011 lib/error.[ch].
1012
1013 2001-11-26 Akim Demaille <akim@epita.fr>
1014
1015 * src/reader.c (read_declarations): Don't abort on tok_illegal,
1016 issue an error message.
1017 * tests/regression.at (Invalid %directive): New.
1018 Reported by Hans Aberg.
1019
1020 2001-11-26 Akim Demaille <akim@epita.fr>
1021
1022 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
1023 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
1024
1025 2001-11-26 Akim Demaille <akim@epita.fr>
1026
1027 * src/conflicts.c (conflicts_print): Don't complain at all when
1028 there are no reduce/reduce conflicts, and as many shift/reduce
1029 conflicts as expected.
1030 * tests/regression.at (%expect right): Adjust.
1031
1032 2001-11-23 Akim Demaille <akim@epita.fr>
1033
1034 * lib/alloca.c: Update, from fileutils.
1035
1036 2001-11-23 Akim Demaille <akim@epita.fr>
1037
1038 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
1039
1040 2001-11-23 Akim Demaille <akim@epita.fr>
1041
1042 * src/system.h: Include alloca.h.
1043 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
1044
1045 2001-11-23 Akim Demaille <akim@epita.fr>
1046
1047 * src/print_graph.c (print_actions): Remove `rule', unused.
1048 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
1049 pacify GCC's signed < unsigned warnings.
1050 * src/closure.c (itemsetsize): Likewise.
1051 * src/reader.c (symbol_list_new): Static.
1052
1053 2001-11-23 Akim Demaille <akim@epita.fr>
1054
1055 Attaching lineno to buckets is stupid, since only one copy of each
1056 symbol is kept, only the line of the first occurrence is kept too.
1057
1058 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
1059 * src/reader.c (rline_allocated): Remove, unused.
1060 (symbol_list): Have a `line' member.
1061 (symbol_list_new): New.
1062 (readgram): Use it.
1063 * src/print.c (print_grammar): Output the rule line numbers.
1064 * tests/regression.at (Solved SR Conflicts)
1065 (Unresolved SR Conflicts): Adjust.
1066 Reported by Hans Aberg.
1067
1068 2001-11-22 Marc Autret <autret_m@epita.fr>
1069
1070 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
1071
1072 2001-11-22 Marc Autret <autret_m@epita.fr>
1073
1074 * src/muscle_tab.c (muscle_init): Remove initialization of
1075 skeleton muscle.
1076 * src/output.c (output_master_parser): Do it here.
1077
1078 2001-11-20 Akim Demaille <akim@epita.fr>
1079
1080 * po/sv.po: New.
1081 * configure.in (ALL_LINGUAS): Adjust.
1082 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
1083 longer contains strings to translate.
1084
1085 2001-11-19 Akim Demaille <akim@epita.fr>
1086
1087 * src/conflicts.c (conflicts_print): Add a missing \n.
1088
1089 2001-11-19 Akim Demaille <akim@epita.fr>
1090
1091 * src/nullable.c (nullable_print): New.
1092 (set_nullable): Call it when tracing.
1093 Better locality of variables.
1094
1095 2001-11-19 Akim Demaille <akim@epita.fr>
1096
1097 * src/print.c (print_actions): Better locality of variables.
1098
1099 2001-11-19 Akim Demaille <akim@epita.fr>
1100
1101 * src/derives.c (print_derives): Fix and enrich.
1102 * src/closure.c (print_fderives): Likewise.
1103
1104 2001-11-19 Akim Demaille <akim@epita.fr>
1105
1106 * src/closure.c (itemsetend): Remove, replaced with...
1107 (itemsetsize): new.
1108
1109 2001-11-19 Akim Demaille <akim@epita.fr>
1110
1111 * src/LR0.c (kernel_end): Remove, replaced with...
1112 (kernel_size): new.
1113
1114 2001-11-19 Akim Demaille <akim@epita.fr>
1115
1116 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
1117 to clarify.
1118
1119 2001-11-19 Akim Demaille <akim@epita.fr>
1120
1121 * src/closure.c (closure): Use arrays instead of pointers to clarify.
1122
1123 2001-11-19 Akim Demaille <akim@epita.fr>
1124
1125 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
1126 trace messages.
1127 * src/LR0.c: Likewise.
1128 (allocate_itemsets): Use arrays instead of pointers to clarify.
1129
1130 2001-11-19 Akim Demaille <akim@epita.fr>
1131
1132 * src/getargs.c (statistics_flag): Replace with...
1133 (trace_flag): New.
1134 (longopts): Accept --trace instead of --statistics.
1135 * src/getargs.h, src/options.c: Adjust.
1136 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
1137 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
1138
1139 2001-11-19 Akim Demaille <akim@epita.fr>
1140
1141 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
1142 pointers to clarify the code.
1143 (save_reductions, save_shifts): Factor common parts of alternatives.
1144
1145 2001-11-19 Akim Demaille <akim@epita.fr>
1146
1147 * src/LR0.c (new_state, get_state): Complete TRACE code.
1148 * src/closure.c: Include `reader.h' to get `tags', needed by the
1149 trace code.
1150 Rename the conditional DEBUG as TRACE.
1151 Output consistently TRACEs to stderr, not stdout.
1152 * src/derives.c: Likewise.
1153 * src/reduce.c: (inaccessable_symbols): Using if is better style
1154 than goto.
1155 Use `#if TRACE' instead of `#if 0' for tracing code.
1156
1157 2001-11-19 Akim Demaille <akim@epita.fr>
1158
1159 * src/system.h (LIST_FREE, shortcpy): New.
1160 * src/LR0.c: Use them.
1161 * src/output.c (free_itemsets, free_reductions, free_shifts):
1162 Remove, replaced by LIST_FREE.
1163
1164 2001-11-19 Akim Demaille <akim@epita.fr>
1165
1166 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
1167 (REDUCTIONS_ALLOC): New.
1168 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
1169 allocation.
1170
1171 2001-11-19 Akim Demaille <akim@epita.fr>
1172
1173 * src/LR0.c (new_state): Complete trace code.
1174 * src/nullable.c (set_nullable): Don't translate traces.
1175
1176 2001-11-19 Akim Demaille <akim@epita.fr>
1177
1178 * src/print_graph.c (print_core): Better locality of variables.
1179 * src/print.c (print_core): Likewise.
1180
1181 2001-11-19 Akim Demaille <akim@epita.fr>
1182
1183 * src/vcg.c: You do the output, so you are responsible of the
1184 handling of VCG syntax, in particular: use quotearg.
1185 * src/print_graph.c: Don't.
1186 (print_actions): Don't output the actions as part of the nodes,
1187 since that's the job of the edges.
1188 (print_state): Don't output by hand: fill the node description,
1189 and ask for its output.
1190
1191 2001-11-19 Akim Demaille <akim@epita.fr>
1192
1193 * src/bison.simple (yyparse): When verbosely reporting an error,
1194 no longer put additional quotes around token names.
1195 * tests/calc.at: Adjust.
1196
1197 2001-11-19 Akim Demaille <akim@epita.fr>
1198
1199 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
1200 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
1201 * src/output.c: Adjust.
1202
1203 2001-11-19 Akim Demaille <akim@epita.fr>
1204
1205 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
1206 (rule_t): this.
1207 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
1208
1209 2001-11-19 Akim Demaille <akim@epita.fr>
1210
1211 * src/gram.h (rule_t): New.
1212 (rule_table): New.
1213 (rrhs, rlhs): Remove, part of state_t.
1214 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
1215 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
1216 * src/reader.c, src/reduce.c: Adjust.
1217
1218 2001-11-19 Akim Demaille <akim@epita.fr>
1219
1220 * src/reader.c (symbols_output): New, extracted from...
1221 (packsymbols): Here.
1222 (reader): Call it.
1223
1224 2001-11-19 Akim Demaille <akim@epita.fr>
1225
1226 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
1227 (maxrhs): this new function.
1228
1229 2001-11-19 Akim Demaille <akim@epita.fr>
1230
1231 * src/lalr.c (F): New macro to access the variable F.
1232 Adjust.
1233
1234 2001-11-19 Akim Demaille <akim@epita.fr>
1235
1236 * src/lalr.h (LA): New macro to access the variable LA.
1237 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1238 * src/lalr.c: Adjust.
1239
1240 2001-11-19 Akim Demaille <akim@epita.fr>
1241
1242 * src/lalr.c (initialize_LA): Only initialize LA. Let...
1243 (set_state_table): handle the `lookaheads' members.
1244
1245 2001-11-19 Akim Demaille <akim@epita.fr>
1246
1247 * src/lalr.h (lookaheads): Removed array, whose contents is now
1248 a member of...
1249 (state_t): this structure.
1250 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1251 Adjust.
1252
1253 2001-11-19 Akim Demaille <akim@epita.fr>
1254
1255 * src/lalr.h (consistent): Removed array, whose contents is now
1256 a member of...
1257 (state_t): this structure.
1258 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1259 Adjust.
1260
1261 2001-11-19 Akim Demaille <akim@epita.fr>
1262
1263 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
1264 contents are now members of...
1265 (state_t): this structure.
1266 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
1267 Adjust.
1268
1269 2001-11-19 Akim Demaille <akim@epita.fr>
1270
1271 * src/lalr.h (state_t): New.
1272 (state_table): Be a state_t * instead of a core **.
1273 (accessing_symbol): Remove, part of state_t.
1274 * src/lalr.c: Adjust.
1275 (set_accessing_symbol): Merge into...
1276 (set_state_table): this.
1277 * src/print_graph.c, src/conflicts.c: Adjust.
1278
1279 2001-11-14 Akim Demaille <akim@epita.fr>
1280
1281 * tests/calc.at, tests/output.at, tests/regression.at,
1282 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
1283 now the tests are run in private dirs, therefore AC_CLEANUP and
1284 family can be simplified to 0-ary.
1285 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
1286 use abs. path to find config.h.
1287 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
1288 stderr, there can be way too much random noise.
1289 Instead pass -Werror to GCC and rely on the exit status.
1290 Reported by Wolfram Wagner.
1291
1292 2001-11-14 Akim Demaille <akim@epita.fr>
1293
1294 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
1295 defined only if yyoverflow is defined, to avoid `warning: unused
1296 variable `yyvs1''.
1297 Reported by The Test Suite.
1298
1299 2001-11-14 Akim Demaille <akim@epita.fr>
1300
1301 * src/print.c: Include reduce.h.
1302 Reported by Hans Aberg.
1303
1304 2001-11-14 Akim Demaille <akim@epita.fr>
1305
1306 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
1307 Revert a previous patch: these are really const.
1308 * src/conflicts.c (conflict_report): Additional useless pair of
1309 braces to pacify GCC's warnings for `if () if () {} else {}'.
1310 * src/lex.c (parse_percent_token): Replace equal_offset with
1311 arg_offset.
1312 arg is const.
1313 Be sure to strdup `arg' when used, since there is no reason for
1314 token_buffer not to change.
1315
1316 2001-11-14 Akim Demaille <akim@epita.fr>
1317
1318 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
1319 definition.
1320 * src/main.c (main): Use them.
1321 Suggested by Hans Aberg.
1322
1323 2001-11-12 Akim Demaille <akim@epita.fr>
1324
1325 * src/system.h (ngettext): Now that we use ngettext, be sure to
1326 provide a default definition when NLS are not used.
1327
1328 2001-11-12 Akim Demaille <akim@epita.fr>
1329
1330 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
1331 Use @kbd to denote user input.
1332 (Language and Grammar): ANSIfy the example.
1333 Adjust its layout for info/notinfo.
1334 (Location Tracking Calc): Output error messages to stderr.
1335 Output locations in a more GNUtically correct way.
1336 Fix a couple of Englishos.
1337 Adjust @group/@end group pairs.
1338
1339 2001-11-12 Akim Demaille <akim@epita.fr>
1340
1341 %expext was not functioning at all.
1342
1343 * src/conflicts.c (expected_conflicts): Set to -1.
1344 (conflict_report): Use ngettext.
1345 (conflicts_print): Check %expect and make its violation an error.
1346 * doc/bison.texinfo (Expect Decl): Adjust.
1347 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
1348 * tests/regression.at (%expect not enough, %expect right)
1349 (%expect too much): New.
1350
1351 2001-11-12 Akim Demaille <akim@epita.fr>
1352
1353 * tests/regression.at (Conflicts): Rename as...
1354 (Unresolved SR Conflicts): this.
1355 (Solved SR Conflicts): New.
1356
1357 2001-11-12 Akim Demaille <akim@epita.fr>
1358
1359 * src/reduce.c (print_results): Rename as...
1360 (reduce_output): This.
1361 Output to OUT, passed as argument, instead of output_obstack.
1362 (dump_grammar): Likewise.
1363 (reduce_free): New.
1364 Also free V1.
1365 (reduce_grammar): No longer call reduce_output, since...
1366 * src/print.c (print_results): do it.
1367 * src/main.c (main): Call reduce_free;
1368
1369 2001-11-12 Akim Demaille <akim@epita.fr>
1370
1371 * src/conflicts.c (print_reductions): Accept OUT as argument.
1372 Output to it, not to output_obstack.
1373 * src/print.c (print_actions): Adjust.
1374
1375 2001-11-12 Akim Demaille <akim@epita.fr>
1376
1377 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
1378 the result instead of using...
1379 (src_total, rrc_total, src_count, rrc_count): Remove.
1380 (any_conflicts): Remove.
1381 (print_conflicts): Split into...
1382 (conflicts_print, conflicts_output): New.
1383 * src/conflicts.h: Adjust.
1384 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
1385 * src/print.c (print_grammar): Issue `\n' between two rules.
1386 * tests/regression.at (Conflicts): New.
1387 Reported by Tom Lane.
1388
1389 2001-11-12 Akim Demaille <akim@epita.fr>
1390
1391 * tests/regression.at (Invalid input): Remove, duplicate with
1392 ``Invalid input: 1''.
1393
1394 2001-11-12 Akim Demaille <akim@epita.fr>
1395
1396 * tests/torture.at (AT_DATA_STACK_TORTURE)
1397 (Exploding the Stack Size with Alloca)
1398 (Exploding the Stack Size with Malloc): New.
1399
1400 2001-11-12 Akim Demaille <akim@epita.fr>
1401
1402 * src/bison.simple (YYSTACK_REALLOC): New.
1403 (yyparse) [!yyoverflow]: Use it and free the old stack.
1404 Reported by Per Allansson.
1405
1406 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
1407
1408 * src/bison.simple: Define type yystype instead of YYSTYPE, and
1409 define CPP macro, which substitute YYSTYPE by yystype.
1410 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
1411 with yyltype/YYLTYPE. This allows inclusion of the generated
1412 header within the parser if the compiler, such as GGC, accepts
1413 multiple equivalent #defines.
1414 From Akim.
1415
1416 2001-11-05 Akim Demaille <akim@epita.fr>
1417
1418 * src/reader.c (symbols_output): New, extracted from...
1419 (packsymbols): here.
1420 (reader): Adjust.
1421
1422 2001-11-05 Akim Demaille <akim@epita.fr>
1423
1424 * src/lex.c (parse_percent_token): s/quotearg/quote/.
1425
1426 2001-11-05 Akim Demaille <akim@epita.fr>
1427
1428 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
1429 pattern.
1430
1431 2001-11-05 Akim Demaille <akim@epita.fr>
1432
1433 * src/options.h (struct option_table_struct): set_flags is void*.
1434 * src/options.c (longopts): Support `--output' and `%output'.
1435 (usage): Adjust.
1436 * src/lex.h (tok_setopt): Remove, replaced with...
1437 (tok_intopt, tok_stropt): these new guys.
1438 * src/lex.c (getopt.h): Not needed.
1439 (token_buffer, unlexed_token_buffer): Not const.
1440 (percent_table): Promote `-' over `_' in directive names.
1441 Active `%name-prefix', `file-prefix', and `output'.
1442 (parse_percent_token): Accept possible arguments to directives.
1443 Promote `-' over `_' in directive names.
1444
1445 2001-11-04 Akim Demaille <akim@epita.fr>
1446
1447 * doc/bison.texinfo (Decl Summary): Split the list into
1448 `directives for grammars' and `directives for bison'.
1449 Sort'em.
1450 Add description of `%name-prefix', `file-prefix', and `output'.
1451 Promote `-' over `_' in directive names.
1452 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
1453 Simplify the description of `--name-prefix'.
1454 Promote `-' over `_' in directive names.
1455 Promote `--output' over `--output-file'.
1456 Fix the description of `--defines'.
1457 * tests/output.at: Exercise %file-prefix and %output.
1458
1459 2001-11-02 Akim Demaille <akim@epita.fr>
1460
1461 * doc/refcard.tex: Update.
1462
1463 2001-11-02 Akim Demaille <akim@epita.fr>
1464
1465 * src/symtab.h (SUNDEF): New.
1466 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
1467 stand for `uninitialized', instead of 0.
1468 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
1469 * src/lex.c (lex): Adjust.
1470
1471 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
1472 Number it 0.
1473 Let yylex return it instead of a plain 0.
1474 Reported by Dick Streefland.
1475
1476 2001-11-02 Akim Demaille <akim@epita.fr>
1477
1478 * tests/regression.at (Mixing %token styles): New test.
1479
1480 2001-11-02 Akim Demaille <akim@epita.fr>
1481
1482 * src/reader.c (parse_thong_decl): Formatting changes.
1483 (token_translations_init): New, extracted from...
1484 (packsymbols): Here.
1485 Adjust.
1486
1487 2001-11-01 Akim Demaille <akim@epita.fr>
1488
1489 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
1490 Check that `9foo.y' produces correct cpp guards.
1491 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
1492 guards.
1493 Reported by Wwp.
1494
1495 2001-11-01 Akim Demaille <akim@epita.fr>
1496
1497 * tests/regression.at (Invalid input: 2): New.
1498 * src/lex.c (unlexed_token_buffer): New.
1499 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
1500 too.
1501 Reported by Wwp.
1502
1503 2001-11-01 Akim Demaille <akim@epita.fr>
1504
1505 * tests/calc.at: Catch up with 1.30.
1506 * configure.in: Bump to 1.49a.
1507 Adjust to newer Autotest.
1508
1509 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
1510
1511 * src/conflicts.c: Move global variables rrc_total and src_total ...
1512 (print_conflicts): here.
1513 * src/output.c (output): Free global variable user_toknums.
1514 * src/lex.c (token_obstack): Become static.
1515
1516 2001-10-18 Akim Demaille <akim@epita.fr>
1517
1518 * tests/atlocal.in (GCC): Add.
1519 * tests/calc.at: s/m4_match/m4_bmatch/.
1520 s/m4_patsubst/m4_bpatsubst/.
1521 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
1522 * configure.in: AC_SUBST(GCC).
1523
1524 2001-10-14 Marc Autret <autret_m@epita.fr>
1525
1526 * src/options.c (create_long_option_table): Fix.
1527
1528 2001-10-10 Akim Demaille <akim@epita.fr>
1529
1530 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
1531
1532 2001-10-04 Akim Demaille <akim@epita.fr>
1533
1534 * src/reader.c (parse_union_decl): Push the caracters in
1535 union_obstack, not attrs_obstack.
1536
1537 2001-10-04 Akim Demaille <akim@epita.fr>
1538
1539 Merge in the branch 1.29.
1540
1541 * src/reader.c (packsymbols): Use a temporary obstack for
1542 `%%tokendef', since output_stack is already used elsewhere.
1543
1544 2001-10-02 Akim Demaille <akim@epita.fr>
1545
1546 Bump 1.29d.
1547
1548 2001-10-02 Akim Demaille <akim@epita.fr>
1549
1550 Version 1.29c.
1551
1552 2001-10-02 Akim Demaille <akim@epita.fr>
1553
1554 * tests/regression.at (Invalid CPP headers): New.
1555 From Alexander Belopolsky.
1556 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
1557
1558 2001-10-02 Akim Demaille <akim@epita.fr>
1559
1560 * tests/regression.at (Invalid input): New.
1561 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
1562 Reported by Shura.
1563
1564 2001-10-02 Akim Demaille <akim@epita.fr>
1565
1566 * tests/calc.at: Now that --debug works, the tests must be adjusted.
1567
1568 2001-10-02 Akim Demaille <akim@epita.fr>
1569
1570 * src/output.c (output_parser): Assert `skeleton'.
1571 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
1572 systems.
1573 From Shura.
1574
1575 2001-10-01 Marc Autret <autret_m@epita.fr>
1576
1577 * src/lex.h: Echo modifications.
1578 * src/lex.c (unlex): Parameter is now token_t.
1579 From Hans Aberg.
1580
1581 2001-10-01 Marc Autret <autret_m@epita.fr>
1582
1583 * src/main.c: Include lex.h.
1584 From Hans Aberg.
1585
1586 2001-09-29 Akim Demaille <akim@epita.fr>
1587
1588 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
1589
1590 2001-09-28 Akim Demaille <akim@epita.fr>
1591
1592 * tests/testsuite.at: Update to newer Autotest.
1593 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
1594
1595 2001-09-27 Akim Demaille <akim@epita.fr>
1596
1597 Position independent wrapper.
1598
1599 * tests/bison: Remove.
1600 * tests/bison.in: New.
1601 * configure.in: Adjust.
1602
1603 2001-09-27 Paul Eggert <eggert@twinsun.com>
1604
1605 Port quotearg fixes from tar 1.13.24.
1606
1607 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
1608 tm to be declared.
1609 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
1610 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
1611
1612 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
1613 * m4/mbrtowc.m4: New file.
1614 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
1615 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
1616
1617 2001-09-27 Akim Demaille <akim@epita.fr>
1618
1619 Bump to 1.29c.
1620
1621 2001-09-27 Akim Demaille <akim@epita.fr>
1622
1623 Version 1.29b.
1624
1625 2001-09-25 Akim Demaille <akim@epita.fr>
1626
1627 * src/system.h: Include `xalloc.h'.
1628 Remove it from the C files.
1629 * src/files.c (output_files): Free the obstacks.
1630 * src/lex.c (init_lex): Rename as...
1631 (lex_init): this.
1632 (lex_free): New.
1633 * src/main.c (main): Use it.
1634
1635 2001-09-24 Marc Autret <autret_m@epita.fr>
1636
1637 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
1638 to output informations in fout (FILE*).
1639 (open_graph, close_graph): Likewise.
1640 (output_graph, output_edge, output_node): Likewise.
1641 * src/vcg.h: Update function prototypes.
1642 * src/print_graph.c (print_graph): Open output graph file.
1643 (print_actions): Adjust.
1644 * src/files.h: Remove extern declaration.
1645 * src/files.c: Remove graph_obstack declaration.
1646 (open_files): Remove graph_obstack initialization.
1647 (output_files): Remove graph_obstack saving.
1648
1649 2001-09-24 Marc Autret <autret_m@epita.fr>
1650
1651 * src/files.c (compute_output_file_names): Fix.
1652
1653 2001-09-24 Marc Autret <autret_m@epita.fr>,
1654 Akim Demaille <akim@epita.fr>
1655
1656 * src/reader.c (reader): Remove call to free_symtab ().
1657 * src/main.c (main): Call it here.
1658 Include symtab.h.
1659 * src/conflicts.c (initialize_conflicts): Rename as...
1660 (solve_conflicts): this.
1661 * src/print.c (print_core, print_actions, print_state)
1662 (print_grammar): Dump to a file instead a `output_obstack'.
1663 (print_results): Dump `output_obstack', and then proceed with the
1664 FILE *.
1665 * src/files.c (compute_output_file_names, close_files): New.
1666 (output_files): Adjust.
1667 * src/main.c (main): Adjust.
1668
1669 2001-09-23 Marc Autret <autret_m@epita.fr>
1670
1671 * src/files.c (compute_header_macro): Computes header macro name
1672 from spec_defines_file when given.
1673
1674 2001-09-23 Marc Autret <autret_m@epita.fr>
1675
1676 * src/files.c (output_files): Add default extensions.
1677
1678 2001-09-22 Akim Demaille <akim@epita.fr>
1679
1680 * src/conflicts.c (finalize_conflicts): Rename as...
1681 (free_conflicts): this.
1682
1683 2001-09-22 Akim Demaille <akim@epita.fr>
1684
1685 * src/gram.c (gram_free): Rename back as...
1686 (dummy): this.
1687 (output_token_translations): Free `token_translations'.
1688 * src/symtab.c (free_symtab): Free the tag field.
1689
1690 2001-09-22 Akim Demaille <akim@epita.fr>
1691
1692 Remove `translations' as it is always set to true.
1693
1694 * src/gram.h: Adjust.
1695 * src/reader.c (packsymbols, parse_token_decl): Adjust
1696 * src/print.c (print_grammar): Adjust.
1697 * src/output.c (output_token_translations): Adjust.
1698 * src/lex.c (lex): Adjust.
1699 * src/gram.c: Be sure the set pointers to NULL.
1700 (dummy): Rename as...
1701 (gram_free): this.
1702
1703 2001-09-22 Akim Demaille <akim@epita.fr>
1704
1705 * configure.in: Invoke AM_LIB_DMALLOC.
1706 * src/system.h: Use dmalloc.
1707 * src/LR0.c: Be sure to have pointers initialized to NULL.
1708 (allocate_itemsets): Allocate kernel_items only if needed.
1709
1710 2001-09-22 Akim Demaille <akim@epita.fr>
1711
1712 * configure.in: Bump to 1.29b.
1713 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
1714 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
1715 need xmalloc.c in calc.y.
1716 From Pascal Bart.
1717
1718 2001-09-21 Akim Demaille <akim@epita.fr>
1719
1720 Version 1.29a.
1721 * Makefile.maint, config/config.guess, config/config.sub,
1722 * config/missing: Update from masters.
1723 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
1724 upon package.m4.
1725 * configure.in (ALL_LINGUAS): Add `tr'.
1726
1727 2001-09-21 Akim Demaille <akim@epita.fr>
1728
1729 * tests/Makefile.am (package.m4): Move to...
1730 ($(srcdir)/$(TESTSUITE)): here.
1731
1732 2001-09-20 Akim Demaille <akim@epita.fr>
1733
1734 * src/complain.c: No longer try to be standalone: use system.h.
1735 Don't assume __STDC__ is defined to 1. Just test if it is defined.
1736 * src/complain.h: Likewise.
1737 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
1738 Remove the unused variable `n'.
1739 From Albert Chin-A-Young.
1740
1741 2001-09-18 Marc Autret <autret_m@epita.fr>
1742
1743 * doc/bison.1: Update.
1744 * doc/bison.texinfo (Bison Options): Update --defines and --graph
1745 descriptions.
1746 (Option Cross Key): Update.
1747 Add --graph.
1748
1749 2001-09-18 Marc Autret <autret_m@epita.fr>
1750
1751 * tests/regression.at: New test (comment in %union).
1752
1753 2001-09-18 Marc Autret <autret_m@epita.fr>
1754
1755 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
1756 do that.
1757 Reported by Keith Browne.
1758
1759 2001-09-18 Marc Autret <autret_m@epita.fr>
1760
1761 * tests/output.at: Add tests for --defines and --graph.
1762
1763 2001-09-18 Marc Autret <autret_m@epita.fr>
1764
1765 * tests/output.at: Removes tests of %{header,src}_extension features.
1766
1767 2001-09-18 Akim Demaille <akim@epita.fr>
1768
1769 * tests/Makefile.am (package.m4): New.
1770 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
1771 (_AT_CHECK_CALC_ERROR): Likewise.
1772 Factor the `, ' part of verbose error messages.
1773
1774 2001-09-18 Marc Autret <autret_m@epita.fr>
1775
1776 * src/getargs.c (longopts): Declare --defines and --graph as options
1777 with optional arguments.
1778 * src/files.h: Add extern declarations.
1779 * src/files.c (spec_graph_file, spec_defines_file): New.
1780 (output_files): Update.
1781 Remove CPP-outed code.
1782
1783 2001-09-18 Marc Autret <autret_m@epita.fr>
1784
1785 Turn off %{source,header}_extension feature.
1786
1787 * src/files.c (compute_exts_from_gf): Update.
1788 (compute_exts_from_src): Update.
1789 (output_files): CPP-out useless code.
1790 * src/files.h: Remove {header,source}_extension extern declarations.
1791 * src/reader.c (parse_dquoted_param): CPP-out.
1792 (parse_header_extension_decl): Remove.
1793 (parse_source_extension_decl): Remove.
1794 (read_declarations): Remove cases tok_{hdrext,srcext}.
1795 * src/lex.c (percent_table): Remove {header,source}_extension entries.
1796 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
1797
1798 2001-09-10 Akim Demaille <akim@epita.fr>
1799
1800 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
1801 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
1802 (AT_CHECK_OUTPUT): this.
1803 Merely check ls' exit status, its output is useless.
1804
1805 2001-09-10 Akim Demaille <akim@epita.fr>
1806
1807 * tests/calc.at: Use m4_match.
1808 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
1809
1810 2001-09-10 Marc Autret <autret_m@epita.fr>,
1811 Akim Demaille <akim@epita.fr>
1812
1813 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
1814 enum color_e.
1815 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
1816 to `normal'.
1817 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
1818 * src/lex.h: Adjust prototype.
1819 (token_t): Add `tok_undef'.
1820 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
1821 (parse_percent_token): Now returns token_t.
1822 Add default statement in switch.
1823 (lex): Separate `c' as an input variable, from the token_t result
1824 part.
1825 (unlexed): Is a token_t.
1826
1827 2001-09-10 Akim Demaille <akim@epita.fr>
1828
1829 * configure.in: Bump to 1.29a.
1830
1831 2001-09-07 Akim Demaille <akim@epita.fr>
1832
1833 Version 1.29.
1834
1835 2001-08-30 Akim Demaille <akim@epita.fr>
1836
1837 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
1838 * m4/atconfig.m4: Remove.
1839 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
1840 * tests/bison: New.
1841 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
1842 m4_if, m4_patsubst, and m4_regexp.
1843 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
1844 `input' file instead of echo.
1845
1846 2001-08-29 Akim Demaille <akim@epita.fr>
1847
1848 Bump to 1.28e.
1849
1850 2001-08-29 Akim Demaille <akim@epita.fr>
1851
1852 Version 1.28d.
1853
1854 2001-08-29 Paul Eggert <eggert@twinsun.com>
1855
1856 * src/bison.simple (yyparse): Don't take the address of an
1857 item before the start of an array, as that doesn't conform to
1858 the C Standard.
1859
1860 2001-08-29 Robert Anisko <anisko_r@epita.fr>
1861
1862 * doc/bison.texinfo (Location Tracking Calc): New node.
1863
1864 2001-08-29 Paul Eggert <eggert@twinsun.com>
1865
1866 * src/output.c (output): Do not define const, as this now
1867 causes more problems than it cures.
1868
1869 2001-08-29 Akim Demaille <akim@epita.fr>
1870
1871 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
1872 the nodes.
1873 Be sure to tag the `detailmenu'.
1874
1875 2001-08-29 Akim Demaille <akim@epita.fr>
1876
1877 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
1878 download in a tmp dir.
1879
1880 2001-08-28 Marc Autret <autret_m@epita.fr>
1881
1882 * config/depcomp: New file.
1883
1884 2001-08-28 Marc Autret <autret_m@epita.fr>
1885
1886 * doc/bison.1 (mandoc): Adjust.
1887 From Juan Manuel Guerrero.
1888
1889 2001-08-28 Marc Autret <autret_m@epita.fr>
1890
1891 * src/print_graph.c (print_state): Fix.
1892
1893 2001-08-27 Marc Autret <autret_m@epita.fr>
1894
1895 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
1896 char * members.
1897 Echo modifications to the functions prototypes.
1898 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
1899
1900 2001-08-27 Marc Autret <autret_m@epita.fr>
1901
1902 * src/vcg.c: Include `xalloc.h'.
1903 (add_colorentry): New.
1904 (add_classname): New.
1905 (add_infoname): New.
1906 * src/vcg.h: Add new prototypes.
1907
1908 2001-08-27 Akim Demaille <akim@epita.fr>
1909
1910 * Makefile.maint: Sync. again with CVS Autoconf.
1911
1912 2001-08-27 Akim Demaille <akim@epita.fr>
1913
1914 * Makefile.maint: Formatting changes.
1915 (po-update, cvs-update, update): New targets.
1916 (AMTAR): Remove.
1917
1918 2001-08-27 Akim Demaille <akim@epita.fr>
1919
1920 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
1921 * Makefile.maint: Sync. with CVS Autoconf.
1922
1923 2001-08-27 Marc Autret <autret_m@epita.fr>
1924
1925 * src/vcg.h (struct infoname_s): New.
1926 (struct colorentry_s): New.
1927 (graph_s): New fields {vertical,horizontal}_order in structure.
1928 Add `infoname' field.
1929 Add `colorentry' field;
1930 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
1931 (G_HORIZONTAL_ORDER): New.
1932 (G_INFONAME): New.
1933 (G_COLORENTRY): New.
1934 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
1935 Add output of `infoname'.
1936 Add output of `colorentry'.
1937
1938 2001-08-27 Marc Autret <autret_m@epita.fr>
1939
1940 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
1941 This one shadowed a global parameter.
1942
1943 2001-08-24 Marc Autret <autret_m@epita.fr>
1944
1945 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
1946 instead of `unsigned'.
1947 (print_state): Do not call obstack_object_size () in obstack_grow ()
1948 to avoid macro variables shadowing.
1949
1950 2001-08-23 Marc Autret <autret_m@epita.fr>
1951
1952 * src/lex.c (percent_table): Typo: s/naem/name/.
1953 Add graph option.
1954 Normalize new options declarations.
1955
1956 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
1957
1958 * tests/suite.at: Exercise %header_extension and %source_extension.
1959
1960 2001-08-16 Marc Autret <autret_m@epita.fr>
1961
1962 * src/reader.c (parse_dquoted_param): New.
1963 (parse_header_extension_decl): Use it.
1964 (parse_source_extension_decl): Likewise.
1965
1966 2001-08-16 Marc Autret <autret_m@epita.fr>
1967
1968 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
1969 (get_xxxx_str): Use assert () instead of complain ().
1970 Remove return invokations in default cases.
1971 (get_decision_str): Modify default behaviour. Remove second argument.
1972 Echo modifications on calls.
1973 (output_graph): Fix.
1974
1975 2001-08-16 Marc Autret <autret_m@epita.fr>
1976
1977 * src/getargs.c (usage): Update with ``-g, --graph''.
1978
1979 2001-08-16 Marc Autret <autret_m@epita.fr>
1980
1981 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
1982 (Option Cross Key): Likewise.
1983 * doc/bison.1: Update.
1984
1985 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
1986
1987 * src/output.c (output_master_parser): Don't finish action_obstack.
1988 (output_parser): Don't care about the muscle action, here.
1989 (prepare): Copy the action_obstack in the action muscle.
1990 (output): Free action_obstack.
1991
1992 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
1993
1994 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
1995 will contain `%union' declaration.
1996 (parse_union_decl): Delete #line directive output.
1997 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
1998 informations about %union.
1999 (parse_union_decl): Copy the union_obstack in the muscle stype.
2000 * src/bison.simple: Add new #line directive.
2001 Add typdef %%stype YYSTYPE.
2002
2003 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
2004
2005 * src/bison.simple: Add new `#line' directive.
2006
2007 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
2008
2009 * src/bison.simple: New `#line' directive.
2010 * src/output.c (output_parser): Support new dynamic muscle input_line.
2011
2012 2001-09-22 Marc Autret <autret_m@epita.fr>
2013
2014 * src/output.c (output_master_parser): New.
2015 (output_parser): Be more re-entrant.
2016
2017 2001-09-21 Marc Autret <autret_m@epita.fr>
2018
2019 * src/reader.c (copy_definition, parse_union_decl): Update and use
2020 `linef' muscle.
2021 (copy_action): Likewise.
2022 Use obstack_1grow ().
2023 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
2024
2025 2001-09-21 Marc Autret <autret_m@epita.fr>
2026
2027 * src/options.c (option_table): Adjust.
2028 * src/lex.c (parse_percent_token): Fix.
2029
2030 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2031
2032 * src/options.c (symtab.h): Include it, need by lex.h.
2033
2034 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
2035
2036 * src/lex.c (parse_percent_token): Change type of variable `tx', which
2037 is now an option_table_struct*.
2038 (option_strcmp): New function option_strcmp.
2039 (parse_percent_token): Call option_strcmp.
2040 * src/getargs.c (xalloc.h, options.h): Include it.
2041 (getargs): Call create_long_option_table.
2042 (getargs): Free longopts at the end of the function.
2043 (shortopts): Move in options.c.
2044 * src/options.c (create_long_option_table): New function. Convert
2045 information from option_table to option structure.
2046 * src/reader.c (options.h): Include it.
2047
2048 * src/Makefile.am: Adjust.
2049 * src/options.c (option_table): Create from longopts and percent_table.
2050 * src/getargs.c (longopts): Delete.
2051 * src/lex.c (struct percent_table_struct): Delete.
2052 (percent_table): Delete.
2053 (options.h): Include it.
2054 * src/options.c: Create.
2055 * src/options.h: Create.
2056 Declare enum opt_access_e.
2057 Define struct option_table_struct.
2058
2059 2001-09-20 Marc Autret <autret_m@epita.fr>
2060
2061 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
2062 sections of Bison.
2063
2064 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
2065
2066 * src/bison.simple: s/%%filename/%%skeleton.
2067 * src/muscle_tab.c (getargs.h): Include it.
2068 (muscle_init): Insert new muscle skeleton.
2069
2070 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
2071
2072 * src/output.c (output_parser): Delete unused variable actions_dumped.
2073
2074 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
2075
2076 * src/output.c (output): Delete call to reader_output_yylsp.
2077 * src/reader.c (reader): Likewise.
2078 * src/reader.h: Delete declaration of reader_output_yylsp.
2079
2080 2001-09-02 Marc Autret <autret_m@epita.fr>
2081
2082 * src/reader.c: Include muscle_tab.h.
2083 (parse_union_decl): Update.
2084 (parse_macro_decl): Rename parse_muscle_decl.
2085 Update to use renamed functions and variable.
2086 (read_declarations, copy_action, read_additionnal_code, : Updated
2087 with correct variables and functions names.
2088 (packsymbols, reader): Likewise.
2089
2090 * src/reader.h (muscle_obstack): Extern declaration update.
2091
2092 * src/output.c: Include muscle_tab.h
2093 In all functions using macro_insert, change by using muscle_insert ().
2094 (macro_obstack): Rename muscle_obstack.
2095 Echo modifications in the whole file.
2096 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
2097 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
2098 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
2099
2100 * src/muscle_tab.h: Update double inclusion macros.
2101 (macro_entry_s): Rename muscle_entry_s.
2102 Update prototypes.
2103
2104 * src/muscle_tab.c: Include muscle_tab.h.
2105 Rename macro_tabble to muscle_table.
2106 (mhash1, mhash2, mcmp): Use muscle_entry.
2107 (macro_init): Rename muscle_init. Update.
2108 (macro_insert): Rename muscle_insert. Update.
2109 (macro_find): Rename muscle_find. Update.
2110
2111 * src/main.c: Include muscle_tab.h.
2112 (main): Call muscle_init ().
2113 * src/Makefile.am (bison_SOURCES): Echo modifications.
2114
2115 2001-09-02 Marc Autret <autret_m@epita.fr>
2116
2117 Now the files macro_tab.[ch] are named muscle_tab.[ch].
2118
2119 * src/muscle_tab.c, src/muscle_tab.h: Add files.
2120
2121 2001-09-02 Marc Autret <autret_m@epita.fr>
2122
2123 * src/macrotab.c, src/macrotab.h: Remove.
2124
2125 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
2126
2127 * src/reader.c (copy_guard): Use muscle to specify the `#line'
2128 filename.
2129
2130 2001-09-01 Marc Autret <autret_m@epita.fr>
2131
2132 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
2133 to an explicit value to activate the feature. We do it here.
2134
2135 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2136
2137 * src/output.c (prepare): Delete the `filename' muscule insertion.
2138 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
2139 (parse_union_decl): Likewise.
2140 * src/macrotab.c (macro_init): Initialize filename by infile.
2141
2142 2001-08-31 Marc Autret <autret_m@epita.fr>
2143
2144 * src/bison.simple (YYLSP_NEEDED): New definition.
2145 * src/output.c (prepare): Add macro insertion of `locations_flag'
2146
2147 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2148
2149 * src/output.c (prepare): Delete insertion of previous muscles,
2150 and insert the `prefix' muscles.
2151 * src/macrotab.c (macro_init): Likewise.
2152 (macro_init): Initialization prefix directive by `yy'.
2153 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
2154 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
2155 yylval, yydebug, yyerror, yynerrs and yyparse.
2156 New directive `#define' to substitute yydebug, ... with option
2157 name_prefix.
2158
2159 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2160
2161 * src/main.c (main): Standardize.
2162 * src/output.c (output_table_data, output_parser): Likewise.
2163 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
2164
2165 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
2166
2167 * src/reader.c (read_additionnal_code): Rename %%user_code to
2168 %%epilogue.
2169 * src/output.c (output): Rename %%declarations to %%prologue.
2170 * src/bison.simple: Echo modifications.
2171
2172 2001-08-31 Marc Autret <autret_m@epita.fr>
2173
2174 * src/reader.c (readgram): CleanUp.
2175 (output_token_defines): Likewise.
2176 (packsymbols): Likewise.
2177 (reader): Likewise.
2178 * src/output.c (output): CPP-out useless code.
2179
2180 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
2181
2182 * src/reader.c (reader): Delete obsolete call to function
2183 output_trailers and output_headers.
2184 * src/output.h: Remove obsolete functions prototypes of output_headers
2185 and output_trailers.
2186
2187 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
2188
2189 * src/main.c: Include macrotab.h.
2190 * src/macrotab.h (macro_entry_s): Constify fields.
2191 Adjust functions prototypes.
2192 * src/macrotab.c (macro_insert): Constify key and value.
2193 (macro_find): Constify key.
2194 (macro_insert): Include 'xalloc.h'
2195 (macro_insert): Use XMALLOC.
2196 (macro_find): Constify return value.
2197 * src/output.c (output_table_data): Rename table to table_data.
2198 (output_parser): Constify macro_key, macro_value.
2199
2200 2001-08-30 Marc Autret <autret_m@epita.fr>
2201
2202 * src/reader.c (parse_skel_decl): New.
2203 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
2204 * src/lex.h (token_t): New token `tok_skel'.
2205 * src/lex.c (percent_table): Add skeleton option entry.
2206 Standardize.
2207
2208 2001-08-29 Marc Autret <autret_m@epita.fr>
2209
2210 * src/bison.simple: Add %%user_code directive at the end.
2211 * src/reader.c (read_additionnal_code): New.
2212 (reader): Use it.
2213 * src/output.c (output_program): Remove.
2214 (output): Update.
2215
2216 2001-08-28 Marc Autret <autret_m@epita.fr>
2217
2218 * src/output.c (output_actions): Clean up.
2219 (output_gram): CPP-out useless code.
2220 * src/reader.c (reader): Clean up, CPP-out useless code.
2221
2222 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
2223
2224 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
2225 directive.
2226 * src/bison.simple: Add `%%definitions'.
2227
2228 2001-08-28 Marc Autret <autret_m@epita.fr>
2229
2230 * config/depcomp: New file.
2231
2232 2001-08-27 Paul Eggert <eggert@twinsun.com>
2233
2234 * src/bison.simple (yyparse): Don't take the address of an
2235 item before the start of an array, as that doesn't conform to
2236 the C Standard.
2237
2238 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2239
2240 * src/output.c (output): Remove the initialization of the macro
2241 obstack. It was done too late here.
2242
2243 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
2244 completely wrong.
2245 (reader): Initialize the macro obstack here, since we need it to grow
2246 '%define' directives.
2247
2248 * src/reader.h: Declare the macro obstack as extern.
2249
2250 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
2251
2252 * src/output.c (output_parser): Fix. Store single '%' characters in
2253 the output obstack instead of throwing them away.
2254
2255 2001-08-27 Akim Demaille <akim@epita.fr>
2256
2257 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
2258
2259 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2260
2261 * lib/Makefile.am: Adjust.
2262
2263 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2264
2265 * src/bison.simple: Update and add '%%' directives.
2266
2267 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2268
2269 * src/reader.c (reader): Remove calls to 'output_headers' and
2270 'output_trailers'. Remove some C output.
2271 (readgram): Disable a piece of code that was writing a default
2272 definition for 'YYSTYPE'.
2273 (reader_output_yylsp): Remove.
2274 (packsymbols): Output token defintions to a macro.
2275 (copy_definition): Disable C output.
2276
2277 * src/reader.c (parse_macro_decl): New function used to parse macro
2278 declarations.
2279 (copy_string2): Put the body of copy_string into this new function.
2280 Add a parameter to let the caller choose whether he wants to copy the
2281 string delimiters or not.
2282 (copy_string): Be a simple call to copy_string2 with the last argument
2283 bound to true.
2284 (read_declarations): Add case for macro definition.
2285 (copy_identifier): New.
2286 (parse_macro_decl): Read macro identifiers using copy_identifier
2287 rather than lex.
2288
2289 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2290
2291 * src/output.c (prepare): Add prefixed names.
2292 (output_parser): Output semantic actions.
2293 (output_parser): Fix bug on '%%line' directives.
2294
2295 * src/output.c (output_headers): Remove. The C code printed by this
2296 function should now be in the skeletons.
2297 (output_trailers): Remove.
2298 (output): Disable call to 'reader_output_yylsp'.
2299 (output_rule_data): Do not output tables to the table obstack.
2300
2301 * src/output.c: Remove some C dedicated output.
2302 Improve the use of macro and output obstacks.
2303 (output_defines): Remove.
2304
2305 * src/output.c (output_token_translations): Associate 'translate'
2306 table with a macro. No output to the table obstack.
2307 (output_gram): Same for 'rhs' and 'prhs'.
2308 (output_stos): Same for 'stos'.
2309 (output_rule_data): Same for 'r1' and 'r2'.
2310 (token_actions): Same for 'defact'.
2311 (goto_actions): Same for 'defgoto'.
2312 (output_base): Same for 'pact' and 'pgoto'.
2313 (output_table): Same for 'table'.
2314 (output_check): Same for 'check'.
2315
2316 * src/output.c (output_table_data): New function.
2317 (output_short_table): Remove.
2318 (output_short_or_char_table): Remove.
2319
2320 * src/output.c (output_parser): Replace most of the skeleton copy code
2321 with something new. Skeletons are now processed character by character
2322 rather than line by line, and Bison looks for '%%' macros. This is the
2323 first step in making Bison's output process (a lot) more flexible.
2324 (output_parser): Use the macro table.
2325
2326 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2327
2328 * src/main.c (main): Initialize the macro table.
2329
2330 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2331
2332 * src/lex.c (percent_table): Add tok_define.
2333 * src/lex.h: Add tok_define.
2334
2335 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2336
2337 * src/macrotab.c: New file.
2338 * src/macrotab.h: New file.
2339 * src/Makefile.am: Update.
2340
2341 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
2342
2343 * lib/hash.c: New file.
2344 * lib/hash.h: New file.
2345 * lib/Makefile.am: Update.
2346
2347 2001-08-15 Akim Demaille <akim@epita.fr>
2348
2349 Version 1.28c.
2350
2351 2001-08-15 Marc Autret <autret_m@epita.fr>
2352
2353 * src/reader.c (readgram): Indent output macro YYSTYPE.
2354 (packsymbols): Likewise.
2355 (output_token_defines): Likewise.
2356 * src/files.c: Standardize.
2357 (compute_header_macro): New.
2358 (defines_obstack_save): New. Use compute_header_macro.
2359 (output_files): Update. Use defines_obstack_save.
2360
2361 2001-08-15 Akim Demaille <akim@epita.fr>
2362
2363 * doc/bison.texinfo (Table of Symbols): Document
2364 YYSTACK_USE_ALLOCA.
2365
2366 2001-08-15 Akim Demaille <akim@epita.fr>
2367
2368 * missing: Update from CVS Automake.
2369 * config/config.guess, config/config.sub, config/texinfo.tex:
2370 Update from gnu.org.
2371
2372 2001-08-15 Akim Demaille <akim@epita.fr>
2373
2374 * Makefile.maint: Sync with CVS Autoconf.
2375
2376 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
2377
2378 * doc/bison.texinfo: Include GNU Free Documentation License from
2379 `fdl.texi'.
2380 * doc/fdl.texi: Add to package.
2381
2382 2001-08-14 Marc Autret <autret_m@epita.fr>
2383
2384 Turn on %{source,header}_extension features.
2385
2386 * src/lex.c (percent_table): Un-CPP out header_extension and
2387 source_extension.
2388 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
2389 (compute_exts_from_src): Remove conditions. It restores priorities
2390 between options.
2391
2392 2001-08-14 Marc Autret <autret_m@epita.fr>
2393
2394 * src/files.c (compute_base_names): Add extensions computing when
2395 `--file-prefix' used.
2396 Standardize function calls.
2397
2398 2001-08-13 Marc Autret <autret_m@epita.fr>
2399
2400 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
2401 defining it (defined but null disables alloca).
2402
2403 2001-08-13 Marc Autret <autret_m@epita.fr>
2404
2405 * src/bison.simple (_yy_memcpy): CPP reformat.
2406
2407 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
2408
2409 * tests/atconfig.in (CPPFLAGS): Fix.
2410
2411 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
2412
2413 * doc/bison.texinfo: Include GNU General Public License from
2414 `gpl.texi'.
2415 * doc/gpl.texi: Add to package.
2416
2417 2001-08-10 Marc Autret <autret_m@epita.fr>
2418
2419 * src/print_graph.h: Fix.
2420 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
2421
2422 2001-08-10 Akim Demaille <akim@epita.fr>
2423
2424 * src/system.h: Provide default declarations for stpcpy, strndup,
2425 and strnlen.
2426
2427 2001-08-10 Robert Anisko <anisko_r@epita.fr>
2428
2429 * doc/bison.texinfo (Locations): Update @$ stuff.
2430
2431 2001-08-09 Robert Anisko <anisko_r@epita.fr>
2432
2433 * src/bison.simple (YYLLOC_DEFAULT): Update.
2434 (yyparse): Adjust.
2435
2436 2001-08-08 Marc Autret <autret_m@epita.fr>
2437
2438 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
2439 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
2440 Reported by Fabrice Bauzac.
2441
2442 2001-08-08 Marc Autret <autret_m@epita.fr>
2443
2444 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
2445 * src/vcg.c (output_node): Fix.
2446 * src/vcg.h: Cleanup.
2447 * src/print_graph.c: Add comments.
2448 (node_output_size): New global variable. Simplify the formatting of
2449 the VCG graph output.
2450 (print_actions): Unused code is now used. It notifies the final state
2451 and no action states in the VCG graph. It also give the reduce actions.
2452 The `shift and goto' edges are red and the `go to state' edges are
2453 blue.
2454 Get the current node name and node_obstack by argument.
2455 (node_obstack): New variable.
2456 (print_state): Manage node_obstack.
2457 (print_core): Use node_obstack given by argument.
2458 A node is not only computed here but in print_actions also.
2459 (print_graph): CPP out useless code instead of commenting it.
2460
2461 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
2462
2463 * tests/atconfig.in (CPPFLAGS): Fix.
2464
2465 2001-08-07 Akim Demaille <akim@epita.fr>
2466
2467 * src/print_graph.c (quote): New.
2468 (print_core): Use it.
2469
2470 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
2471
2472 * src/vcg.c (complain.h): Include it.
2473 Unepitaize `return' invocations.
2474 [NDEBUG] (main): Remove.
2475 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
2476 * src/files.c (open_files): Initialize graph_obstack.
2477 * src/print_graph.c (print_actions): CPP out useless code.
2478 (print_core): Don't output the last `\n' in labels.
2479 Use `quote'.
2480 * src/files.c (output_files): Output the VCG file.
2481 * src/main.c (main): Invoke print_graph ();
2482
2483 2001-08-06 Marc Autret <autret_m@epita.fr>
2484
2485 Automaton VCG graph output.
2486 Using option ``-g'' or long option ``--graph'', you can generate
2487 a gram_filename.vcg file containing a VCG description of the LALR (1)
2488 automaton of your grammar.
2489
2490 * src/main.c: Call to print_graph() function.
2491 * src/getargs.h: Update.
2492 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
2493 (graph_flag): New flag.
2494 (longopts): Update.
2495 (getargs): Add case `g'.
2496 * src/files.c (graph_obstack): New obstack struct.
2497 (open_files): Initialize new obstack.
2498 (output_files): Saves graph_obstack if required.
2499 * src/files.h (graph_obstack): New extern declaration.
2500 * src/Makefile.am: Add new source files.
2501
2502 2001-08-06 Marc Autret <autret_m@epita.fr>
2503
2504 * src/print_graph.c, src/print_graph.h (graph): New.
2505 * src/vcg.h: New file.
2506 * src/vcg.c: New file, VCG graph handling.
2507
2508 2001-08-06 Marc Autret <autret_m@epita.fr>
2509
2510 Add of %source_extension and %header_extension which specify
2511 the source or/and the header output file extension.
2512
2513 * src/files.c (compute_base_names): Remove initialisation of
2514 src_extension and header_extension.
2515 (compute_exts_from_gf): Update.
2516 (compute_exts_from_src): Update.
2517 (output_files): Update.
2518 * src/reader.c (parse_header_extension_decl): New.
2519 (parse_source_extension_decl): New.
2520 (read_declarations): New case statements for the new tokens.
2521 * src/lex.c (percent_table): Add entries for %source_extension
2522 and %header_extension.
2523 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
2524
2525 2001-08-06 Marc Autret <autret_m@epita.fr>
2526
2527 * configure.in: Bump to 1.28c.
2528 * doc/bison.texinfo: Texinfo thingies.
2529
2530 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
2531
2532 * tests/atconfig.in (CPPFLAGS): Add.
2533 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
2534
2535 2001-08-03 Akim Demaille <akim@epita.fr>
2536
2537 Version 1.28b.
2538
2539 2001-08-03 Akim Demaille <akim@epita.fr>
2540
2541 * tests/Makefile.am (check-local): Ship testsuite.
2542 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
2543 Include `string.h'.
2544
2545 2001-08-03 Akim Demaille <akim@epita.fr>
2546
2547 * configure.in: Try using -Wformat when compiling.
2548
2549 2001-08-03 Akim Demaille <akim@epita.fr>
2550
2551 * configure.in: Bump to 1.28b.
2552
2553 2001-08-03 Akim Demaille <akim@epita.fr>
2554
2555 * src/complain.c: Adjust strerror_r portability issues.
2556
2557 2001-08-03 Akim Demaille <akim@epita.fr>
2558
2559 Version 1.28a.
2560
2561 2001-08-03 Akim Demaille <akim@epita.fr>
2562
2563 * src/getargs.c, src/getarg.h (skeleton)): Constify.
2564 * src/lex.c (literalchar): Avoid name clashes on `buf'.
2565 * src/getargs.c: Include complain.h.
2566 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
2567 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
2568
2569 2001-08-03 Akim Demaille <akim@epita.fr>
2570
2571 * src/reader.c (readgram): Display hidden chars in error messages.
2572
2573 2001-08-03 Akim Demaille <akim@epita.fr>
2574
2575 Update to gettext 0.10.39.
2576
2577 2001-08-03 Akim Demaille <akim@epita.fr>
2578
2579 * lib/strspn.c: New.
2580
2581 2001-08-01 Marc Autret <autret_m@epita.fr>
2582
2583 * doc/bison.texinfo: Update.
2584 * doc/bison.1 (mandoc): Update.
2585 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
2586 * src/files.c: Support output files extensions computing.
2587 (src_extension): New static variable.
2588 (header_extension): New static variable.
2589 (tr): New function.
2590 (get_extension_index): New function, gets the index of an extension
2591 filename in a string.
2592 (compute_exts_from_gf): New function, computes extensions from the
2593 grammar file extension.
2594 (compute_exts_from_src): New functions, computes extensions from the
2595 C source file extension, file given by ``-o'' option.
2596 (compute_base_names): Update.
2597 (output_files): Update.
2598
2599 2001-08-01 Robert Anisko <anisko_r@epita.fr>
2600
2601 * doc/bison.texi: Document @$.
2602 (Locations): New section.
2603
2604 2001-07-18 Akim Demaille <akim@epita.fr>
2605
2606 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
2607 * config/prev-version.txt, config/move-if-change: New.
2608 * Makefile.am: Adjust.
2609
2610 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
2611
2612 * src/bison.simple (yyparse): Suppress warning `comparaison
2613 between signed and unsigned'.
2614
2615 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
2616
2617 * src/getargs.h (raw_flag): Remove.
2618 * src/getargs.c: Die on `-r'/`--raw'.
2619 * src/lex.c (parse_percent_token): Die on `%raw'.
2620 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
2621 * tests/calc.at: Suppress test with option `--raw'.
2622
2623 2001-07-14 Akim Demaille <akim@epita.fr>
2624
2625 * config/: New.
2626 * configure.in: Require Autoconf 2.50.
2627 Update to gettext 0.10.38.
2628
2629 2001-03-16 Akim Demaille <akim@epita.fr>
2630
2631 * doc/bison.texinfo: ANSIfy the examples.
2632
2633 2001-03-16 Akim Demaille <akim@epita.fr>
2634
2635 * getargs.c (skeleton): New variable.
2636 (longopts): --skeleton is a new option.
2637 (shortopts, getargs): -S is a new option.
2638 * getargs.h: Declare skeleton.
2639 * output.c (output_parser): Use it.
2640
2641 2001-03-16 Akim Demaille <akim@epita.fr>
2642
2643 * m4/strerror_r.m4: New.
2644 * m4/error.m4: Run AC_FUNC_STRERROR_R.
2645 * lib/error.h, lib/error.c: Update.
2646
2647 2001-03-16 Akim Demaille <akim@epita.fr>
2648
2649 * src/getargs.c (longopts): Clean up.
2650
2651 2001-02-21 Akim Demaille <akim@epita.fr>
2652
2653 * src/reader.c (gensym): `gensym_count' is your own.
2654 Use a static buf to create the symbol name, as token_buffer is no
2655 longer a buffer.
2656
2657 2001-02-08 Akim Demaille <akim@epita.fr>
2658
2659 * src/conflicts.c (conflict_report): Be sure not to append to res
2660 between two calls, which could happen if both first sprintf were
2661 skipped, but not the first cp += strlen.
2662
2663 2001-02-08 Akim Demaille <akim@epita.fr>
2664
2665 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
2666 New, from fileutils 4.0.37.
2667 * configure.in: Require Autoconf 2.49c. I took some time before
2668 making this decision. This is the only way out for portability
2669 issues in Bison, it would mean way too much duplicate effort to
2670 import in Bison features implemented in 2.49c since 2.13.
2671 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
2672
2673 2001-02-02 Akim Demaille <akim@epita.fr>
2674
2675 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
2676 * lib/xalloc.h, lib/xmalloc.c: Update.
2677
2678 2001-01-19 Akim Demaille <akim@epita.fr>
2679
2680 Get rid of the ad hoc handling of token_buffer in the scanner: use
2681 the obstacks.
2682
2683 * src/lex.c (token_obstack): New.
2684 (init_lex): Initialize it. No longer call...
2685 (grow_token_buffer): this. Remove it.
2686 Adjust all the places which used it to use the obstack.
2687
2688 2001-01-19 Akim Demaille <akim@epita.fr>
2689
2690 * src/lex.h: Rename all the tokens:
2691 s/\bENDFILE\b/tok_eof/g;
2692 s/\bIDENTIFIER\b/tok_identifier/g;
2693 etc.
2694 Let them be enums, not #define, to ease debugging.
2695 Adjust all the code.
2696
2697 2001-01-18 Akim Demaille <akim@epita.fr>
2698
2699 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
2700 * src/lex.c (maxtoken, grow_token_buffer): Static.
2701
2702 2001-01-18 Akim Demaille <akim@epita.fr>
2703
2704 Since we now use obstacks, more % directives can be enabled.
2705
2706 * src/lex.c (percent_table): Also accept `%yacc',
2707 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
2708 `%debug'.
2709 Handle the actions for `%semantic_parser' and `%pure_parser' here,
2710 instead of returning a token.
2711 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
2712 * src/reader.c (read_declarations): Adjust.
2713 * src/files.c (open_files): Don't call `compute_base_names', don't
2714 compute `attrsfile' since they depend upon data which might be
2715 *in* the input file now.
2716 (output_files): Do it here.
2717 * src/output.c (output_headers): Document the fact that this patch
2718 introduces a guaranteed SEGV for semantic parsers.
2719 * doc/bison.texinfo: Document them.
2720 * tests/suite.at: Exercise these %options.
2721
2722 2000-12-20 Akim Demaille <akim@epita.fr>
2723
2724 Also handle the output file (--verbose) with obstacks.
2725
2726 * files.c (foutput): Remove.
2727 (output_obstack): New.
2728 Adjust all dependencies.
2729 * src/conflicts.c: Return a string.
2730 * src/system.h (obstack_grow_string): Rename as...
2731 (obstack_sgrow): this. Be ready to work with non literals.
2732 (obstack_fgrow4): New.
2733
2734 2000-12-20 Akim Demaille <akim@epita.fr>
2735
2736 * src/files.c (open_files): Fix the computation of short_base_name
2737 in the case of `-o foo.tab.c'.
2738
2739 2000-12-20 Akim Demaille <akim@epita.fr>
2740
2741 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
2742 (copy_dollar): Now that everything uses obstacks, get rid of the
2743 FILE * parameters.
2744
2745 2000-12-20 Akim Demaille <akim@epita.fr>
2746
2747 * src/files.c (open_files): Actually the `.output' file is based
2748 on the short_base_name, not base_name.
2749 * tests/suite.at (Checking output file names): Adjust.
2750
2751 2000-12-20 Akim Demaille <akim@epita.fr>
2752
2753 * src/bison.s1: Remove, we now use directly...
2754 * src/bison.simple: this.
2755 * src/Makefile.am: Use pkgdata instead of data.
2756
2757 2000-12-20 Akim Demaille <akim@epita.fr>
2758
2759 * src/files.c (guard_obstack): New.
2760 (open_files): Initialize it.
2761 (output_files): Dump it...
2762 * src/files.h: Export it.
2763 * src/reader.c (copy_guard): Use it.
2764
2765 2000-12-19 Akim Demaille <akim@epita.fr>
2766
2767 * src/files.c (outfile, defsfile, actfile): Removed as global
2768 vars.
2769 (open_files): Don't compute them.
2770 (output_files): Adjust.
2771 (base_name, short_base_name): Be global.
2772 Adjust dependencies.
2773
2774 2000-12-19 Akim Demaille <akim@epita.fr>
2775
2776 * src/files.c (strsuffix): New.
2777 (stringappend): Be just like strcat but allocate.
2778 (base_names): Eve out from open_files.
2779 Try to simplify the rather hairy computation of base_name and
2780 short_base_name.
2781 (open_files): Use it.
2782 * tests/suite.at (Checking output file names): New test.
2783
2784 2000-12-19 Akim Demaille <akim@epita.fr>
2785
2786 * src/system.h (obstack_grow_literal_string): Rename as...
2787 (obstack_grow_string): this.
2788 * src/output.c (output_parser): Recognize `%% actions' instead of
2789 `$'.
2790 * src/bison.s1: s/$/%% actions/.
2791 * src/bison.hairy: Likewise.
2792
2793 2000-12-19 Akim Demaille <akim@epita.fr>
2794
2795 * src/output.c (output_parser): Compute the `#line' lines when
2796 there are.
2797 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
2798 Suggested by Hans Aberg.
2799
2800 2000-12-19 Akim Demaille <akim@epita.fr>
2801
2802 Let the handling of the skeleton files be local to the procedures
2803 that use it.
2804
2805 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
2806 longer static.
2807 (fparser, open_extra_files): Remove.
2808 (open_files, output_files): Don't take care of fparser.
2809 * src/files.h: Adjust.
2810 * src/output.c (output_parser): Open and close the file to the
2811 skeleton.
2812 * src/reader.c (read_declarations): When %semantic_parser, open
2813 fguard.
2814
2815 2000-12-19 Akim Demaille <akim@epita.fr>
2816
2817 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
2818 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
2819
2820 2000-12-19 Akim Demaille <akim@epita.fr>
2821
2822 * src/files.c (open_files): Yipee! We no longer need all the code
2823 looking for `/tmp' since we have no tmp file.
2824
2825 2000-12-19 Akim Demaille <akim@epita.fr>
2826
2827 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
2828 New macros.
2829 * src/files.c (open_files): Less dependency on MSDOS etc.
2830
2831 2000-12-14 Akim Demaille <akim@epita.fr>
2832
2833 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
2834 Provide a default definition.
2835 Use it when executing the default @ action.
2836 * src/reader.c (reader_output_yylsp): No longer include
2837 `timestamp' and `text' in the default YYLTYPE.
2838
2839 2000-12-12 Akim Demaille <akim@epita.fr>
2840
2841 * src/reader.c (copy_definition, parse_union_decl, copy_action)
2842 (copy_guard): Quote the file names.
2843 Reported by Laurent Mascherpa.
2844
2845 2000-12-12 Akim Demaille <akim@epita.fr>
2846
2847 * src/output.c (output_headers, output_program, output): Be sure
2848 to escape special characters when outputting filenames.
2849 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
2850 (output_headers): Don't depend on them, Use ACTSTR.
2851
2852 2000-11-17 Akim Demaille <akim@epita.fr>
2853
2854 * lib/obstack.h: Formatting changes.
2855 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
2856 prevents type checking.
2857 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
2858 cast the value to (void *): assigning a `foo *' to a `void *'
2859 variable is valid.
2860 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
2861 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
2862 append characters.
2863
2864 2000-11-17 Akim Demaille <akim@epita.fr>
2865
2866 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
2867 as...
2868 (suite.m4, regression.m4, calc.m4): these.
2869 * tests/atgeneral.m4: Update from CVS Autoconf.
2870
2871 2000-11-17 Akim Demaille <akim@epita.fr>
2872
2873 * tests/regression.m4 (%union and --defines): New test,
2874 demonstrating a current bug in the obstack implementation.
2875
2876 2000-11-17 Akim Demaille <akim@epita.fr>
2877
2878 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
2879 macros.
2880 Use them to declare the variables which are global or local to
2881 `yyparse'.
2882
2883 2000-11-17 Akim Demaille <akim@epita.fr>
2884
2885 * acconfig.h: Remove, no longer used.
2886
2887 2000-11-07 Akim Demaille <akim@epita.fr>
2888
2889 * src: s/Copyright (C)/Copyright/g.
2890
2891 2000-11-07 Akim Demaille <akim@epita.fr>
2892
2893 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
2894 defining.
2895 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
2896
2897 2000-11-07 Akim Demaille <akim@epita.fr>
2898
2899 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
2900 Merge in a single CPP if/else.
2901
2902 2000-11-07 Akim Demaille <akim@epita.fr>
2903
2904 * src/output.c (output): Remove useless variables.
2905 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
2906 argument `data' for consistency with the prototypes.
2907 Qualify it `const'.
2908 (obstack_copy, obstack_copy0): Rename the second argument as
2909 `address' for consistency. Qualify it `const'.
2910 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
2911 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
2912 `const' their input argument (`data' or `address').
2913 Adjust the corresponding macros to include `const' in casts.
2914
2915 2000-11-03 Akim Demaille <akim@epita.fr>
2916
2917 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
2918 s/PFILE1/BISON_HAIRY/.
2919 Adjust dependencies.
2920
2921 2000-11-03 Akim Demaille <akim@epita.fr>
2922
2923 For some reason, this was not applied.
2924
2925 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2926 `unlink': it's no longer used.
2927
2928 2000-11-03 Akim Demaille <akim@epita.fr>
2929
2930 * src/files.c (skeleton_find): New function, eved out of...
2931 (open_files, open_extra_files): here.
2932
2933 2000-11-03 Akim Demaille <akim@epita.fr>
2934
2935 Don't use `atexit'.
2936
2937 * src/files.c (obstack_save): New function.
2938 (done): Rename as...
2939 (output_files): this.
2940 Use `obstack_save'.
2941 * src/main.c (main): Don't use `atexit' to register `done', since
2942 it no longer has to remove tmp files, just call `output_files'
2943 when there are no errors.
2944
2945 2000-11-02 Akim Demaille <akim@epita.fr>
2946
2947 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
2948 `unlink': it's no longer used.
2949 * src/files.h: Formatting changes.
2950
2951 2000-11-02 Akim Demaille <akim@epita.fr>
2952
2953 Remove the last uses of mktemp and unlink/delete.
2954
2955 * src/files.c (fdefines, ftable): Removed.
2956 (defines_ostack, table_obstack): New.
2957 Adjust dependencies of the former into uses of the latter.
2958 * src/output.c (output_short_or_char_table, output_short_table):
2959 Convert to using obstacks.
2960 * src/reader.c (copy_comment2): Accept one FILE * and two
2961 obstacks.
2962 (output_token_defines, reader_output_yylsp): Use obstacks.
2963 * src/system.h (obstack_fgrow3): New.
2964
2965 2000-11-01 Akim Demaille <akim@epita.fr>
2966
2967 Change each use of `fattrs' into a use of `attrs_obstack'.
2968
2969 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
2970 * src/files.c (fattrs): Remove.
2971 (attrs_obstack): New.
2972 Adjust all dependencies.
2973 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
2974
2975 2000-11-01 Akim Demaille <akim@epita.fr>
2976
2977 Introduce obstacks.
2978 Change each use of `faction' into a use of `action_obstack'.
2979
2980 * lib/obstack.h, lib/obstack.c: New files.
2981 * src/files.c (faction): Remove.
2982 (action_obstack): New.
2983 Adjust all dependencies.
2984
2985 2000-10-20 Akim Demaille <akim@epita.fr>
2986
2987 * lib/quote.h (PARAMS): New macro. Use it.
2988
2989 2000-10-16 Akim Demaille <akim@epita.fr>
2990
2991 * src/output.c (output_short_or_char_table): New function.
2992 (output_short_table, output_token_translations): Use it.
2993 (goto_actions): Use output_short_table.
2994
2995 2000-10-16 Akim Demaille <akim@epita.fr>
2996
2997 * src/symtab.c (bucket_new): New function.
2998 (getsym): Use it.
2999
3000 * src/output.c (output_short_table): New argument to display the
3001 comment associated with the table.
3002 Adjust dependencies.
3003 (output_gram): Use it.
3004 (output_rule_data): Nicer output layout for YYTNAME.
3005
3006 2000-10-16 Akim Demaille <akim@epita.fr>
3007
3008 * src/lex.c (read_typename): New function.
3009 (lex): Use it.
3010 * src/reader.c (copy_dollar): Likewise.
3011
3012 2000-10-16 Akim Demaille <akim@epita.fr>
3013
3014 * src/reader.c (copy_comment2): Expect the input stream to be on
3015 the `/' which is suspected to open a comment, instead of being
3016 called after `//' or `/*' was read.
3017 (copy_comment, copy_definition, parse_union_decl, copy_action)
3018 (copy_guard): Adjust.
3019
3020 2000-10-16 Akim Demaille <akim@epita.fr>
3021
3022 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
3023 `read_signed_integer'.
3024
3025 2000-10-16 Akim Demaille <akim@epita.fr>
3026
3027 * src/reader.c (copy_dollar): New function.
3028 (copy_guard, copy_action): Use it.
3029
3030 2000-10-16 Akim Demaille <akim@epita.fr>
3031
3032 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
3033 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
3034 New files, from Fileutils 4.0.27.
3035 * src/main.c (printable_version): Remove.
3036 * src/lex.c, src/reader.c: Use `quote'.
3037
3038 2000-10-04 Akim Demaille <akim@epita.fr>
3039
3040 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
3041
3042 2000-10-04 Akim Demaille <akim@epita.fr>
3043
3044 * doc/bison.texinfo: Various typos spotted by Neil Booth.
3045
3046 2000-10-04 Akim Demaille <akim@epita.fr>
3047
3048 When a literal string is used to define two different tokens,
3049 `bison -v' segfaults.
3050 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
3051
3052 * tests/regression.m4: New file.
3053 Include the core of the sample provided by Piotr Gackiewicz.
3054 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
3055 properly.
3056
3057 2000-10-04 Akim Demaille <akim@epita.fr>
3058
3059 * src/reader.c (parse_expect_decl): Keep `count' within the size
3060 of `buffer'.
3061 From Neil Booth.
3062
3063 2000-10-02 Paul Eggert <eggert@twinsun.com>
3064
3065 * bison.s1 (yyparse): Assign the default value
3066 unconditionally, to avoid a GCC warning and make the parser a
3067 tad smaller.
3068
3069 2000-10-02 Akim Demaille <akim@epita.fr>
3070
3071 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
3072 options.
3073
3074 2000-10-02 Akim Demaille <akim@epita.fr>
3075
3076 * src/derives.c, src/print.c, src/reduce.c: To ease the
3077 translation, move some `\n' out of the translated strings.
3078
3079 2000-10-02 Akim Demaille <akim@epita.fr>
3080
3081 The location tracking mechanism is precious for parse error
3082 messages. Nevertheless, it is enabled only when `@n' is used in
3083 the grammar, which is a different issue (you can use it in error
3084 message, but not in the grammar per se). Therefore, there should
3085 be another means to enable it.
3086
3087 * src/getargs.c (getargs): Support `--locations'.
3088 (usage): Report it.
3089 * src/getargs.h (locationsflag): Export it.
3090 * src/lex.c (percent_table): Support `%locations'.
3091 * src/reader.c (yylsp_needed): Remove this variable, now replaced
3092 with `locationsflag'.
3093 * doc/bison.texinfo: Document `--locations' and `%locations'.
3094 Sort the options.
3095 * tests/calc.m4: Test it.
3096
3097 For regularity of the names, replace each
3098 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
3099 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
3100 In addition replace each `flag' with `_flag'.
3101
3102 2000-10-02 Akim Demaille <akim@epita.fr>
3103
3104 Also test parse error messages, including with YYERROR_VERBOSE.
3105
3106 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
3107 associative).
3108 Use it to check the computations.
3109 Use it to check `nonassoc' is honored.
3110 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
3111 `--yyerror-verbose'.
3112 (_AT_CHECK_CALC): Adjust to this option.
3113 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
3114
3115 2000-10-02 Akim Demaille <akim@epita.fr>
3116
3117 Test also `--verbose', `--defines' and `--name-prefix'. Testing
3118 the latter demonstrates a flaw in the handling of non debugging
3119 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
3120 was used in order to simplify:
3121
3122 #if YYDEBUG
3123 if (yydebug)
3124 {
3125 ...
3126 }
3127 #endif
3128
3129 into
3130
3131 if (yydebug)
3132 {
3133 ...
3134 }
3135
3136 unfortunately this leads to a CPP conflict when
3137 `--name-prefix=foo' is used since it produces `#define yydebug
3138 foodebug'.
3139
3140 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
3141 (YYDPRINTF): New macro.
3142 Spread its use.
3143 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
3144 the bison options.
3145 Also test `--verbose', `--defines' and `--name-prefix'.
3146
3147 2000-10-02 Akim Demaille <akim@epita.fr>
3148
3149 Improve the readability of the produced parsers.
3150
3151 * src/bison.s1: Formatting changes.
3152 Improve the comment related to the `$' mark.
3153 (yydefault): Don't fall through to `yyresume': `goto' there.
3154 * src/output.c (output_parser): When the `$' is met, skip the end
3155 of its line.
3156 New variable, `number_of_dollar_signs', to check there's exactly
3157 one `$' in the parser skeleton.
3158
3159 2000-10-02 Akim Demaille <akim@epita.fr>
3160
3161 * lib/xstrdup.c: New file, from the fileutils.
3162 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
3163 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
3164 instead of strlen + xmalloc + strcpy.
3165 * src/symtab.c (copys): Remove, use xstrdup instead.
3166
3167 2000-10-02 Akim Demaille <akim@epita.fr>
3168
3169 * src/gram.h (associativity): New enum type which replaces the
3170 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
3171 `right_assoc', `left_assoc' and `non_assoc'.
3172 Adjust all dependencies.
3173 * src/reader.c: Formatting changes.
3174 (LTYPESTR): Don't define it, use it as a literal in
3175 `reader_output_yylsp'.
3176 * src/symtab.h (symbol_class): New enum type which replaces the
3177 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
3178 `sunknown', `stoken and `snterm'.
3179
3180 2000-10-02 Akim Demaille <akim@epita.fr>
3181
3182 * src/getargs.c (fixed_outfiles): Rename as...
3183 (yaccflag): for consistency and accuracy.
3184 Adjust dependencies.
3185
3186 2000-10-02 Akim Demaille <akim@epita.fr>
3187
3188 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
3189 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
3190 difficult and introduced a lot of core dump. It turns out that
3191 Bison used an implementation of `xmalloc' based on `calloc', and
3192 at various places it does depend upon the initialization to 0. I
3193 have not tried to isolate the pertinent places, and all the former
3194 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
3195 someone should address this issue.
3196
3197 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
3198 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
3199 files.
3200 Adjust dependencies.
3201 * src/warshall.h: New file.
3202 Propagate.
3203
3204 2000-10-02 Akim Demaille <akim@epita.fr>
3205
3206 Various anti-`extern in *.c' changes.
3207
3208 * src/system.h: Include `assert.h'.
3209
3210 2000-10-02 Akim Demaille <akim@epita.fr>
3211
3212 * src/state.h (nstates, final_state, first_state, first_shift)
3213 (first_reduction): Move their exportation from here...
3214 * src/LR0.h: to here.
3215 Adjust dependencies.
3216 * src/getargs.c (statisticsflag): New variable.
3217 Add support for `--statistics'.
3218 Adjust dependencies.
3219
3220 Remove a lot of now useless `extern' statements in most files.
3221
3222 2000-10-02 Akim Demaille <akim@epita.fr>
3223
3224 * src/LR0.h: New file.
3225 Propagate its use.
3226
3227 2000-10-02 Akim Demaille <akim@epita.fr>
3228
3229 * src/print.h: New file.
3230 Propagate its use.
3231 * src/print.c: Formatting and ordering changes.
3232 (verbose, terse): Replace with...
3233 (print_results): this new function.
3234 Adjust dependencies.
3235
3236 2000-10-02 Akim Demaille <akim@epita.fr>
3237
3238 * src/conflicts.c (conflict_report): New function.
3239 (conflict_log, verbose_conflict_log): Replace with...
3240 (print_conflicts): this function.
3241 Adjust dependencies.
3242 * src/conflicts.h: New file.
3243 Propagate its inclusion.
3244
3245 2000-10-02 Akim Demaille <akim@epita.fr>
3246
3247 * src/nullable.h: New file.
3248 Propagate its inclusion.
3249 * src/nullable.c: Formatting changes.
3250
3251 2000-10-02 Akim Demaille <akim@epita.fr>
3252
3253 * src/reduce.h: New file.
3254 Propagate its inclusion.
3255 * src/reduce.c: Topological sort and other formatting changes.
3256 (bool, TRUE, FALSE): Move their definition to...
3257 * src/system.h: here.
3258
3259 2000-10-02 Akim Demaille <akim@epita.fr>
3260
3261 * src/files.c: Formatting changes.
3262 (tryopen, tryclose, openfiles): Rename as...
3263 (xfopen, xfclose, open_files): this.
3264 (stringappend): static.
3265 * src/files.h: Complete the list of exported symbols.
3266 Propagate its use.
3267
3268 2000-10-02 Akim Demaille <akim@epita.fr>
3269
3270 * src/reader.h: New file.
3271 Propagate its use instead of tedious list of `extern' and
3272 prototypes.
3273 * src/reader.c: Formatting changes, topological sort,
3274 s/register//.
3275
3276 2000-10-02 Akim Demaille <akim@epita.fr>
3277
3278 * src/lex.h: Prototype `lex.c' exported functions.
3279 * src/reader.c: Adjust.
3280 * src/lex.c: Formatting changes.
3281 (safegetc): Rename as...
3282 (xgetc): this.
3283
3284 2000-10-02 Akim Demaille <akim@epita.fr>
3285
3286 * src/lalr.h: New file.
3287 Propagate its inclusion instead of prototypes and `extern'.
3288 * src/lalr.c: Formatting changes, topological sorting etc.
3289
3290 2000-10-02 Akim Demaille <akim@epita.fr>
3291
3292 * src/output.c (token_actions): Introduce a temporary array,
3293 YYDEFACT, that makes it possible for this function to use
3294 output_short_table.
3295
3296 2000-10-02 Akim Demaille <akim@epita.fr>
3297
3298 `user_toknums' is output as a `short[]' in `output.c', while it is
3299 defined as a `int[]' in `reader.c'. For consistency with the
3300 other output tables, `user_toknums' is now defined as a table of
3301 shorts.
3302
3303 * src/reader.c (user_toknums): Be a short table instead of an int
3304 table.
3305 Adjust dependencies.
3306
3307 Factor the short table outputs.
3308
3309 * src/output.c (output_short_table): New function.
3310 * src/output.c (output_gram, output_stos, output_rule_data)
3311 (output_base, output_table, output_check): Use it.
3312
3313 2000-10-02 Akim Demaille <akim@epita.fr>
3314
3315 * src/output.c (output): Topological sort of the functions, in
3316 order to get rid of the `static' prototypes.
3317 No longer use `register'.
3318 * src/output.h: New file.
3319 Propagate its inclusion in files explicitly prototyping functions
3320 from output.c.
3321
3322 2000-09-21 Akim Demaille <akim@epita.fr>
3323
3324 * src/atgeneral.m4: Update from Autoconf.
3325
3326 2000-09-21 Akim Demaille <akim@epita.fr>
3327
3328 * src/closure.h: New file.
3329 * src/closure.c: Formatting changes, topological sort over the
3330 functions, use of closure.h.
3331 (initialize_closure, finalize_closure): Rename as...
3332 (new_closure, free_closure): these. Adjust dependencies.
3333 * src/LR0.c: Formatting changes, topological sort, use of
3334 cloture.h.
3335 (initialize_states): Rename as...
3336 (new_states): this.
3337 * src/Makefile.am (noinst_HEADERS): Adjust.
3338
3339 2000-09-20 Akim Demaille <akim@epita.fr>
3340
3341 * src/acconfig.h: Don't protect config.h against multiple
3342 inclusion.
3343 Don't define PARAMS.
3344 * src/system.h: Define PARAMS.
3345 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
3346 purpose of config.h. system.h must not try to fix wrong
3347 definitions in config.h.
3348
3349 2000-09-20 Akim Demaille <akim@epita.fr>
3350
3351 * src/derives.h: New file.
3352 * src/main.c, src/derives.h: Use it.
3353 Formatting changes.
3354 * src/Makefile.am (noinst_HEADERS): Adjust.
3355
3356 2000-09-20 Akim Demaille <akim@epita.fr>
3357
3358 * tests/atgeneral.m4: Update from Autoconf.
3359 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
3360 (AT_CHECK_CALC): New macros.
3361 Use these macros to test bison with options `', `--raw',
3362 `--debug', `--yacc', `--yacc --debug'.
3363
3364 2000-09-19 Akim Demaille <akim@epita.fr>
3365
3366 * src/output.c: Formatting changes.
3367 * src/machine.h: Remove, leaving its contents in...
3368 * src/system.h: here.
3369 Include stdio.h.
3370 Adjust all dependencies on stdio.h and machine.h.
3371 * src/getargs.h: New file.
3372 Let all `extern' declarations about getargs.c be replaced with
3373 inclusion of `getargs.h'.
3374 * src/Makefile.am (noinst_HEADERS): Adjust.
3375
3376 * tests/calc.m4 (yyin): Be initialized in main, not on the global
3377 scope.
3378 (yyerror): Returns void, not int.
3379 * doc/bison.texinfo: Formatting changes.
3380
3381 2000-09-19 Akim Demaille <akim@epita.fr>
3382
3383 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
3384 portable.
3385
3386 2000-09-18 Akim Demaille <akim@epita.fr>
3387
3388 * configure.in: Append WARNING_CFLAGS to CFLAGS.
3389 * src/Makefile.am (INCLUDES): Don't.
3390 Be ready to fetch headers in lib/.
3391
3392 2000-09-18 Akim Demaille <akim@epita.fr>
3393
3394 * doc/bison.texinfo: Update the copyright.
3395 ANSIfy and GNUify the examples.
3396 Remove the old menu.
3397
3398 2000-09-18 Akim Demaille <akim@epita.fr>
3399
3400 First set of tests: use the `calc' example from the documentation.
3401
3402 * src/bison.s1 (yyparse): Condition the code using `yytname' which
3403 is defined only when YYDEBUG is.
3404 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
3405 * src/files.c (tryopen, tryclose): Formatting changes.
3406 Move to the top and be static.
3407 * src/reader.c (read_signed_integer): Likewise.
3408 * tests/calc.m4: New file.
3409 * Makefile.am, suite.m4: Adjust.
3410 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
3411
3412 2000-09-18 Akim Demaille <akim@epita.fr>
3413
3414 Add support for an Autotest test suite for Bison.
3415
3416 * m4/m4.m4, m4/atconfig.m4: New files.
3417 * m4/Makefile.am (EXTRA_DIST): Adjust.
3418 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
3419 files.
3420 * src/getargs.c: Display a more standard --version message.
3421 * src/reader.c (reader): Formatting changes.
3422 No longer depend upon VERSION_STRING.
3423 * configure.in: No longer use `dnl'.
3424 Set up the test suite and the new directory `tests/.
3425 (VERSION_STRING): Remove.
3426
3427 2000-04-14 Akim Demaille <akim@epita.fr>
3428
3429 * src/reader.c (copy_comment2): New function, same as former
3430 `copy_comment', but outputs into two FILE *.
3431 (copy_comment): Use it.
3432 (parse_union_decl): Use it.
3433 (get_type, parse_start_decl): Use the same `invalid' message.
3434 (parse_start_decl, parse_union_decl): Use the same `multiple'
3435 message.
3436 (parse_union_decl, copy_guard, copy_action): Use the same
3437 `unmatched' message.
3438 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
3439
3440 2000-03-31 Akim Demaille <akim@epita.fr>
3441
3442 * src/files.c (tryopen, tryclose): Move to the top.
3443 Be static.
3444
3445 2000-03-31 Akim Demaille <akim@epita.fr>
3446
3447 * src/main.c (main): Don't call `done', exit does it.
3448
3449 2000-03-31 Akim Demaille <akim@epita.fr>
3450
3451 * allocate.c: s/return (foo)/return foo/.
3452 * lalr.c: Likewise.
3453 * LR0.c: Likewise.
3454 * output.c: Likewise.
3455 * reader.c: Likewise.
3456 * symtab.c: Likewise.
3457 * vmsgetargs.c: Likewise.
3458
3459 2000-03-31 Akim Demaille <akim@epita.fr>
3460
3461 Clean up the error reporting functions.
3462
3463 * src/report.c: New file.
3464 * src/report.h: Likewise.
3465 * src/Makefile.am: Adjust.
3466 * m4/error.m4: New file.
3467 * m4/Makefile.am: Adjust.
3468 * configure.in (jm_PREREQ_ERROR): Call it.
3469 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
3470 Remove.
3471 (fatal, fatals): Remove. All callers use complain.c::fatal.
3472 (warn, warni, warns, warnss, warnss): Remove. All callers use
3473 complain.c::complain.
3474 (toomany): Remove, use fatal instead.
3475 * src/files.c (done): No argument, use complain_message_count.
3476 * src/main.c (main): Register `done' to `atexit'.
3477
3478 * src/getargs.c (usage): More `fputs', less `fprintf'.
3479
3480 2000-03-28 Akim Demaille <akim@epita.fr>
3481
3482 * lib/: New directory.
3483 * Makefile.am (SUBDIRS): Adjust.
3484 * configure.in: Adjust.
3485 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
3486 useless.
3487 * src/alloca.c: Moved to lib/.
3488 * src/getopt.c: Likewise.
3489 * src/getopt1.c: Likewise.
3490 * src/getopt.h: Likewise.
3491 * src/ansi2knr.c: Likewise.
3492 * src/ansi2knr.1: Likewise.
3493 * src/Makefile.am: Adjust.
3494 * lib/Makefile.am: New file.
3495
3496 2000-03-28 Akim Demaille <akim@epita.fr>
3497
3498 * src/getargs.c (usage): Refresh the help message.
3499
3500 2000-03-17 Akim Demaille <akim@epita.fr>
3501
3502 * src/getopt1.c: Updated from textutils 2.0e
3503 * src/getopt.c: Likewise.
3504 * src/getopt.h: Likewise.
3505
3506 2000-03-17 Akim Demaille <akim@epita.fr>
3507
3508 * src/Makefile.am (bison.simple): Fix the awk program: quote only
3509 the file name, not the whole `#line LINE FILE'.
3510
3511 2000-03-17 Akim Demaille <akim@epita.fr>
3512
3513 On syntax errors, report the token on which we choked.
3514
3515 * src/bison.s1 (yyparse): In the label yyerrlab, when
3516 YYERROR_VERBOSE, add yychar in msg.
3517
3518 2000-03-17 Akim Demaille <akim@epita.fr>
3519
3520 * src/reader.c (copy_at): New function.
3521 (copy_guard): Use it.
3522 (copy_action): Use it.
3523
3524 2000-03-17 Akim Demaille <akim@epita.fr>
3525
3526 Be kind to translators, save some useless translations.
3527
3528 * src/main.c (banner): New function.
3529 (fatal_banner): Use it.
3530 (warn_banner): Use it.
3531
3532 2000-03-17 Akim Demaille <akim@epita.fr>
3533
3534 * src/reader.c (copy_definition): Use copy_string and
3535 copy_comment. Removed now unused `match', `ended',
3536 `cplus_comment'.
3537 (copy_comment, copy_string): Moved, to be visible from
3538 copy_definition.
3539
3540 2000-03-17 Akim Demaille <akim@epita.fr>
3541
3542 * src/reader.c (copy_string): Declare `static inline'. No
3543 problems with inline, since it is checked by configure.
3544 (copy_comment): Likewise.
3545
3546 2000-03-17 Akim Demaille <akim@epita.fr>
3547
3548 * src/reader.c (packsymbols): Formatting changes.
3549
3550 2000-03-17 Akim Demaille <akim@epita.fr>
3551
3552 * src/reader.c (copy_comment): New function, factored out from:
3553 (copy_action): Use it. Removed now unused `match', `ended',
3554 `cplus_comment'.
3555 (copy_guard): Likewise.
3556
3557 2000-03-17 Akim Demaille <akim@epita.fr>
3558
3559 * src/reader.c (copy_string): New function, factored out from:
3560 (copy_action): Use it.
3561 (copy_guard): Likewise.
3562
3563 2000-03-17 Akim Demaille <akim@epita.fr>
3564
3565 Change the handling of @s so that they behave exactly like $s.
3566 There is now a pseudo variable @$ (readble and writable), location
3567 of the lhs of the rule (by default ranging from the location of
3568 the first symbol of the rhs, to the location of the last symbol,
3569 or, if the rhs is empty, YYLLOC).
3570
3571 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
3572 yyval.
3573 (yyparse): When providing a default semantic action, provide a
3574 default location action.
3575 (after the $): No longer change `*YYLSP', just stack YYLOC the
3576 same way you stack YYVAL.
3577 * src/reader.c (read_declarations): Use warns.
3578 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
3579 (copy_action, case '@'): Likewise.
3580 Use a standard error message, to save useless work from
3581 translators.
3582
3583 2000-03-17 Akim Demaille <akim@epita.fr>
3584
3585 * src/bison.s1: Formatting and cosmetics changes.
3586 * src/reader.c: Likewise.
3587 Update the Copyright notice.
3588
3589 2000-03-17 Akim Demaille <akim@epita.fr>
3590
3591 * src/bison.s1 (#line): All set to `#line' only, since the
3592 Makefile now handles them.
3593
3594 2000-03-16 Akim Demaille <akim@epita.fr>
3595
3596 * src/output.c (output_rule_data): Output the documentation of
3597 some of the tables.
3598 (Copyright notice): Update.
3599 Formatting changes.
3600
3601 2000-03-16 Akim Demaille <akim@epita.fr>
3602
3603 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
3604 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
3605 One `#if YYDEBUG' remains, since it uses variables which are
3606 defined only if `YYDEBUG != 0'.
3607
3608 2000-03-16 Akim Demaille <akim@epita.fr>
3609
3610 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
3611 and related variables so that the similarities are highlighted.
3612
3613 2000-03-16 Akim Demaille <akim@epita.fr>
3614
3615 * src/bison.s1: Properly indent CPP directives.
3616
3617 2000-03-16 Akim Demaille <akim@epita.fr>
3618
3619 * src/bison.s1: Properly indent the `alloca' CPP section.
3620
3621 2000-03-16 Akim Demaille <akim@epita.fr>
3622
3623 Do not hard code values of directories in `configure.in'.
3624 Update the `configure' tool chain.
3625
3626 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
3627 src/makefile.am.
3628 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
3629 (AC_OUTPUT): Add m4/Makefile.
3630 Bump to bison 1.28a, 1.29 has never been released.
3631 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
3632 handled via src/Makefile.am.
3633 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
3634 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
3635 autoheader.
3636 * Makefile.am (SUBDIRS): Add m4.
3637 (ACLOCAL_AM_FLAGS): New variable.
3638 (AUTOMAKE_OPTIONS): Add check-news.
3639 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
3640 the proper line number and file name.
3641 (DEFS): Propagate the location of bison library files and of the
3642 locale files.
3643 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
3644 builddir.
3645 * acinclude.m4: Remove, replaced by the directory m4.
3646 * m4/Makefile.am (EXTRA_DIST): New variable.
3647 * m4/gettext.m4: New file, from the fileutils.
3648 * m4/lcmessage.m4: Likewise
3649 * m4/progtest.m4: Likewise.
3650 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
3651
3652 2000-03-10 Akim Demaille <akim@epita.fr>
3653
3654 * src/closure.c:
3655 Formatting changes of various comments.
3656 Respect the GNU coding standards at various places.
3657 Don't use `_()' when no translation is needed.
3658
3659 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3660
3661 * src/files.c:
3662 OS/2 honors TMPDIR environment variable.
3663
3664 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3665
3666 * doc/bison.texinfo: Tweaked spelling and grammar.
3667 Updated ISBN.
3668 Removed reference to price of printed copy.
3669 Mention BISON_SIMPLE and BISON_HAIRY.
3670
3671 1999-12-13 Jesse Thilo <jthilo@gnu.org>
3672
3673 * configure.in, NEWS:
3674 Bison 1.29 released.
3675
3676 1999-10-27 Jesse Thilo <jthilo@gnu.org>
3677
3678 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
3679 Added reference card.
3680
3681 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3682
3683 * po/ru.po: Added Russian translation.
3684
3685 1999-07-26 Jesse Thilo <jthilo@gnu.org>
3686
3687 * configure.in: Added Russian translation.
3688
3689 1999-07-06 Jesse Thilo <jthilo@gnu.org>
3690
3691 * configure.in, NEWS, README:
3692 Released version 1.28.
3693
3694 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3695
3696 * src/system.h:
3697 Squashed redefinition warning on some systems.
3698
3699 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
3700 Have configure build version string instead of relying on ANSI string
3701 concatentation.
3702
3703 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3704
3705 * po/POTFILES.in: Got rid of version.c.
3706
3707 1999-06-14 Jesse Thilo <jthilo@gnu.org>
3708
3709 * acconfig.h, configure.in:
3710 Have configure build version string instead of relying on ANSI string
3711 concatentation.
3712
3713 1999-06-08 Jesse Thilo <jthilo@gnu.org>
3714
3715 * doc/bison.1:
3716 Dropped mention of `+' for long-named options.
3717
3718 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3719
3720 * src/files.c: Added <unistd.h> for unlink().
3721
3722 * src/Makefile.am, src/system.h:
3723 I18n fixes.
3724
3725 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3726
3727 * README: Added a FAQ list.
3728
3729 * configure.in, acconfig.h:
3730 I18n fixes.
3731
3732 1999-05-30 Jesse Thilo <jthilo@gnu.org>
3733
3734 * doc/FAQ, doc/Makefile.am:
3735 Added a FAQ list.
3736
3737 1999-05-19 Jesse Thilo <jthilo@gnu.org>
3738
3739 * src/alloc.h, src/symtab.h, src/version.c:
3740 Protected inclusion of "config.h" with HAVE_CONFIG_H.
3741
3742 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3743
3744 * src/.cvsignore, src/Makefile.am:
3745 Reorganized: sources in `src', documentation in `doc'.
3746
3747 * src/lex.c (literalchar):
3748 fixed the code for escaping double quotes (thanks
3749 Jonathan Czisny.)
3750
3751 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3752
3753 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
3754 Adjusted paths to reflect directory reorganization.
3755
3756 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3757
3758 * doc/.cvsignore, doc/Makefile.am:
3759 Reorganized: sources in `src', documentation in `doc'.
3760
3761 1999-04-18 Jesse Thilo <jthilo@gnu.org>
3762
3763 * configure.in:
3764 Updated AC_INIT file to reflect directory reorganization.
3765
3766 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
3767 Reorganized: sources in `src', documentation in `doc'.
3768
3769 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3770
3771 * src/allocate.c:
3772 Don't declare calloc() and realloc() if not necessary.
3773
3774 1999-04-13 Jesse Thilo <jthilo@gnu.org>
3775
3776 * configure.in, acconfig.h, acinclude.m4:
3777 Don't declare calloc() and realloc() if not necessary.
3778
3779 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3780
3781 * po/.cvsignore: Added i18n support.
3782
3783 1999-03-23 Jesse Thilo <jthilo@gnu.org>
3784
3785 * acconfig.h, configure.in, Makefile.am:
3786 Added i18n support.
3787
3788 1999-03-22 Jesse Thilo <jthilo@gnu.org>
3789
3790 * src/bison.s1: Fixed #line numbers.
3791
3792 1999-03-15 Jesse Thilo <jthilo@gnu.org>
3793
3794 * po/es.po, po/fr.po, po/nl.po, po/de.po:
3795 Added PO files from Translation Project.
3796
3797 1999-03-03 Jesse Thilo <jthilo@gnu.org>
3798
3799 * Makefile.am:
3800 Added support for non-ANSI compilers (ansi2knr).
3801
3802 1999-02-16 Jesse Thilo <jthilo@gnu.org>
3803
3804 * configure.in: Bumped version number to 1.27.
3805
3806 * Makefile.am:
3807 Added `bison.simple' to list of files removed by `make distclean'.
3808
3809 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3810
3811 * src/files.c, src/files.h:
3812 Defined locations of parser files in config.h instead of Makefile.
3813
3814 1999-02-12 Jesse Thilo <jthilo@gnu.org>
3815
3816 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
3817 Defined locations of parser files in config.h instead of Makefile.
3818
3819 1999-02-09 Jesse Thilo <jthilo@gnu.org>
3820
3821 * Makefile.am:
3822 Removed inappropriate use of $< macro.
3823
3824 1999-02-05 Jesse Thilo <jthilo@gnu.org>
3825
3826 * po/Makefile.in.in, po/POTFILES.in:
3827 Add `po' directory skeleton.
3828
3829 1999-01-27 Jesse Thilo <jthilo@gnu.org>
3830
3831 * README: Document help-bison list.
3832
3833 * configure.in: Add check for mkstemp().
3834
3835 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3836
3837 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
3838 Hush a few compiler warnings.
3839
3840 * src/files.c:
3841 Add tryclose(), which verifies that fclose was successful.
3842 Hush a couple of compiler warnings.
3843
3844 1999-01-20 Jesse Thilo <jthilo@gnu.org>
3845
3846 * Makefile.am, OChangeLog:
3847 ChangeLog is now automatically generated. Include the old version as
3848 OChangeLog.
3849
3850 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3851
3852 * 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:
3853 Update FSF address.
3854
3855 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3856
3857 * doc/bison.texinfo: Fix formatting glitch.
3858
3859 * doc/bison.texinfo: Update FSF address.
3860
3861 1999-01-14 Jesse Thilo <jthilo@gnu.org>
3862
3863 * acconfig.h: Update FSF address.
3864
3865 1999-01-08 Jesse Thilo <jthilo@gnu.org>
3866
3867 * src/system.h:
3868 Don't define PACKAGE here, since config.h defines it.
3869
3870 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3871
3872 * src/reader.c: Update copyright date.
3873
3874 * src/main.c:
3875 Ditch sprintf to statically-sized buffers in fatal/warn functions in
3876 favor of output directly to stderr (avoids buffer overruns).
3877
3878 * src/reader.c: Some checks for premature EOF.
3879
3880 * 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:
3881 Use prototypes if the compiler understands them.
3882
3883 * src/files.c: Honor TMPDIR on Unix hosts.
3884 Use prototypes if the compiler understands them.
3885
3886 * src/reader.c:
3887 Fix a couple of buffer overrun bugs.
3888 Use prototypes if the compiler understands them.
3889
3890 * src/system.h: Include unistd.h and ctype.h.
3891 Use #ifdef instead of #if for NLS symbols.
3892
3893 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3894
3895 * doc/bison.texinfo:
3896 Delete comment "consider using @set for edition number, etc..." since
3897 we now are doing so.
3898
3899 1998-12-30 Jesse Thilo <jthilo@gnu.org>
3900
3901 * configure.in:
3902 Use prototypes if the compiler understands them.
3903
3904 * NEWS: Document 1.26 highlights.
3905
3906 * Makefile.am: Require Automake 1.3 or later.
3907
3908 * acconfig.h:
3909 Use prototypes if the compiler understands them.
3910
3911 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3912
3913 * src/version.c:
3914 Use VERSION symbol from automake for version number.
3915
3916 1998-12-29 Jesse Thilo <jthilo@gnu.org>
3917
3918 * acconfig.h, configure.in, version.cin:
3919 Use VERSION symbol from automake for version number.
3920
3921 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3922
3923 * Makefile.am:
3924 Distribute original version of simple parser (bison.s1), not built
3925 version (bison.simple).
3926
3927 1998-11-28 Jesse Thilo <jthilo@gnu.org>
3928
3929 * doc/bison.texinfo: Add info dir entry.
3930
3931 * doc/bison.texinfo:
3932 Let automake put version number into documentation.
3933
3934 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3935
3936 * src/bison.cld, src/build.com, src/vmshlp.mar:
3937 Add non-RCS files from /gd/gnu/bison.
3938
3939 1998-11-26 Jesse Thilo <jthilo@gnu.org>
3940
3941 * doc/bison.1:
3942 Document the BISON_HAIRY and BISON_SIMPLE variables.
3943
3944 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3945
3946 * src/version.c: Build version.c automatically.
3947
3948 * src/reader.c:
3949 Fix token numbering (used to start at 258, not 257).
3950
3951 * src/system.h: Include config.h.
3952
3953 * src/getargs.c: Update bug report address.
3954
3955 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
3956 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
3957
3958 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3959
3960 * Makefile.am:
3961 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3962
3963 * configure.in, version.cin:
3964 Build version.c automatically.
3965
3966 * AUTHORS: Add AUTHORS file.
3967
3968 * README: Update bug report address.
3969
3970 * bison.simple:
3971 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
3972
3973 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
3974 Add automake stuff.
3975
3976 1998-11-25 Jesse Thilo <jthilo@gnu.org>
3977
3978 * doc/bison.texinfo: Clean up some formatting.
3979
3980 1998-05-05 Richard Stallman <rms@gnu.org>
3981
3982 * doc/bison.texinfo:
3983 Explain better why to make a pure parser.
3984
3985 1998-01-05 Richard Stallman <rms@gnu.org>
3986
3987 * src/files.c (openfiles):
3988 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
3989 find a temporary directory, if possible. Do not unlink files while
3990 they are open.
3991
3992 1997-08-25 Richard Stallman <rms@gnu.org>
3993
3994 * src/reader.c (stack_offset;):
3995 Change some warni to warns.
3996
3997 * src/lex.c (literalchar): Use warns, not warni.
3998
3999 1997-06-28 Richard Stallman <rms@gnu.org>
4000
4001 * src/bison.s1: Add a Bison version comment.
4002
4003 * src/main.c (fatal, warn, berror):
4004 Use program_name.
4005
4006 1997-06-28 Richard Stallman <rms@gnu.org>
4007
4008 * Makefile.in (bison_version): New variable.
4009 (dist): Use that variable.
4010 (bison.s1): Substitute the Bison version into bison.simple.
4011
4012 * bison.simple: Add a Bison version comment.
4013
4014 1997-06-18 Richard Stallman <rms@gnu.org>
4015
4016 * src/main.c (fatal, warn, berror):
4017 Make error messages standard.
4018 (toomany): Improve error message text.
4019
4020 * 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:
4021 new.h renamed to alloc.h.
4022
4023 1997-06-18 Richard Stallman <rms@gnu.org>
4024
4025 * Makefile.in: new.h renamed to alloc.h.
4026
4027 1997-05-24 Richard Stallman <rms@gnu.org>
4028
4029 * src/lex.c (literalchar):
4030 Fix the code for escaping \, " and '.
4031
4032 (lex): Avoid trouble when there are many chars
4033 to discard in a char literal with just several chars in it.
4034
4035 1997-05-17 Richard Stallman <rms@gnu.org>
4036
4037 * src/bison.s1:
4038 Use malloc, if using alloca is troublesome.
4039 (YYSTACK_USE_ALLOCA): New flag macro.
4040 Define it for some systems and compilers.
4041 (YYSTACK_ALLOC): New macro.
4042 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4043 If it was malloc'd, free it.
4044
4045 1997-05-17 Richard Stallman <rms@gnu.org>
4046
4047 * bison.simple:
4048 Use malloc, if using alloca is troublesome.
4049 (YYSTACK_USE_ALLOCA): New flag macro.
4050 Define it for some systems and compilers.
4051 (YYSTACK_ALLOC): New macro.
4052 (yyparse): Use YYSTACK_ALLOC to allocate stack.
4053 If it was malloc'd, free it.
4054
4055 1997-04-23 Richard Stallman <rms@gnu.org>
4056
4057 * src/bison.s1:
4058 (alloca) [__hpux]: Always define as __builtin_alloca.
4059
4060 1997-04-23 Richard Stallman <rms@gnu.org>
4061
4062 * bison.simple:
4063 (alloca) [__hpux]: Always define as __builtin_alloca.
4064
4065 1997-04-22 Richard Stallman <rms@gnu.org>
4066
4067 * src/bison.s1:
4068 [__hpux]: Include alloca.h (right for HPUX 10)
4069 instead of declaring alloca (right for HPUX 9).
4070
4071 * src/bison.s1 (__yy_memcpy):
4072 Declare arg `count' as unsigned int.
4073 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4074
4075 1997-04-22 Richard Stallman <rms@gnu.org>
4076
4077 * bison.simple:
4078 [__hpux]: Include alloca.h (right for HPUX 10)
4079 instead of declaring alloca (right for HPUX 9).
4080
4081 * bison.simple (__yy_memcpy):
4082 Declare arg `count' as unsigned int.
4083 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
4084
4085 1997-01-03 Richard Stallman <rms@gnu.org>
4086
4087 * src/allocate.c: [__STDC__ or _MSC_VER]:
4088 Declare calloc and realloc to return void *.
4089
4090 1997-01-02 Richard Stallman <rms@gnu.org>
4091
4092 * src/system.h:
4093 [_MSC_VER]: Include stdlib.h and process.h.
4094 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
4095
4096 * src/main.c (main): Return FAILURE as a value.
4097 (printable_version): Declare arg as int, not char.
4098
4099 1997-01-02 Richard Stallman <rms@gnu.org>
4100
4101 * Makefile.in (dist):
4102 Explicitly check for symlinks, and copy them.
4103
4104 1996-12-19 Richard Stallman <rms@gnu.org>
4105
4106 * src/files.c:
4107 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
4108
4109 1996-12-18 Paul Eggert <eggert@gnu.org>
4110
4111 * src/bison.s1 (yyparse):
4112 If __GNUC__ and YYPARSE_PARAM are both defined,
4113 declare yyparse to have a void * argument.
4114
4115 1996-12-18 Paul Eggert <eggert@gnu.org>
4116
4117 * bison.simple (yyparse):
4118 If __GNUC__ and YYPARSE_PARAM are both defined,
4119 declare yyparse to have a void * argument.
4120
4121 1996-12-17 Richard Stallman <rms@gnu.org>
4122
4123 * src/reduce.c (nbits): Add some casts.
4124
4125 1996-08-12 Richard Stallman <rms@gnu.org>
4126
4127 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
4128
4129 1996-08-12 Richard Stallman <rms@gnu.org>
4130
4131 * bison.simple: Test _MSDOS as well as _MSDOS_.
4132
4133 1996-07-31 Richard Stallman <rms@gnu.org>
4134
4135 * src/bison.s1:
4136 [__sun && __i386]: Include alloca.h.
4137
4138 1996-07-31 Richard Stallman <rms@gnu.org>
4139
4140 * bison.simple:
4141 [__sun && __i386]: Include alloca.h.
4142
4143 1996-07-30 Richard Stallman <rms@gnu.org>
4144
4145 * src/bison.s1: Comment change.
4146
4147 * src/bison.s1: Test _MSDOS_, not MSDOS.
4148
4149 1996-07-30 Richard Stallman <rms@gnu.org>
4150
4151 * bison.simple: Comment change.
4152
4153 * bison.simple: Test _MSDOS_, not MSDOS.
4154
4155 1996-06-01 Richard Stallman <rms@gnu.org>
4156
4157 * 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:
4158 Insert `_' macro around many string constants.
4159
4160 * src/main.c:
4161 Insert `_' macro around many string constants.
4162
4163 (main): Call setlocale, bindtextdomain and textdomain.
4164
4165 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
4166 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
4167 [ENABLE_NLS]: Include libintl.h.
4168 [ENABLE_NLS] (gettext): Define.
4169 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
4170 (N_, PACKAGE, LOCALEDIR): New macros.
4171
4172 1996-06-01 Richard Stallman <rms@gnu.org>
4173
4174 * POTFILES.in: New file.
4175
4176 * Makefile.in (allocate.o):
4177 Define target explicitly.
4178
4179 * Makefile.in (CFLAGS): Set to @CFLAGS@.
4180 (LDFLAGS): Set to @LDFLAGS@.
4181 (configure): Run autoconf only if preceding `cd' succeeds.
4182 (bison.s1): Redirect output to temporary file then move the
4183 temporary to the target, rather than redirecting directly to bison.s1.
4184 (clean): Remove config.status and config.log.
4185 (distclean): Don't remove config.status here.
4186
4187 1996-05-12 Richard Stallman <rms@gnu.org>
4188
4189 * src/bison.s1:
4190 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4191
4192 1996-05-12 Richard Stallman <rms@gnu.org>
4193
4194 * bison.simple:
4195 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
4196
4197 1996-05-11 Richard Stallman <rms@gnu.org>
4198
4199 * src/bison.s1 (__yy_memcpy):
4200 Really reorder the args, as was supposedly done on Feb 14 1995.
4201 (yyparse): Calls changed accordingly.
4202
4203 1996-05-11 Richard Stallman <rms@gnu.org>
4204
4205 * Makefile.in (dist): Don't use $(srcdir).
4206
4207 * bison.simple (__yy_memcpy):
4208 Really reorder the args, as was supposedly done on Feb 14 1995.
4209 (yyparse): Calls changed accordingly.
4210
4211 1996-01-27 Richard Stallman <rms@gnu.org>
4212
4213 * src/output.c (output_rule_data):
4214 Test YYERROR_VERBOSE in the conditional
4215 around the definition of ttyname.
4216
4217 1995-12-29 Richard Stallman <rms@gnu.org>
4218
4219 * src/bison.s1:
4220 Fix line numbers in #line commands.
4221
4222 1995-12-29 Richard Stallman <rms@gnu.org>
4223
4224 * bison.simple:
4225 Fix line numbers in #line commands.
4226
4227 1995-12-27 Richard Stallman <rms@gnu.org>
4228
4229 * src/bison.s1 (YYPARSE_PARAM_DECL):
4230 In C++, make it always null.
4231 (YYPARSE_PARAM_ARG): New macro.
4232 (yyparse): Use YYPARSE_PARAM_ARG.
4233
4234 1995-12-27 Richard Stallman <rms@gnu.org>
4235
4236 * bison.simple (YYPARSE_PARAM_DECL):
4237 In C++, make it always null.
4238 (YYPARSE_PARAM_ARG): New macro.
4239 (yyparse): Use YYPARSE_PARAM_ARG.
4240
4241 1995-11-29 Richard Stallman <rms@gnu.org>
4242
4243 * doc/bison.texinfo:
4244 Describe literal string tokens, %raw, %no_lines, %token_table.
4245
4246 1995-11-29 Daniel Hagerty <hag@gnu.org>
4247
4248 * doc/bison.texinfo: Fixed update date
4249
4250 1995-10-16 Richard Stallman <rms@gnu.org>
4251
4252 * src/version.c: Version 1.25.
4253
4254 1995-10-16 Richard Stallman <rms@gnu.org>
4255
4256 * NEWS: *** empty log message ***
4257
4258 1995-10-16 Richard Stallman <rms@gnu.org>
4259
4260 * doc/bison.1, doc/bison.rnh:
4261 Add new options.
4262
4263 1995-10-15 Richard Stallman <rms@gnu.org>
4264
4265 * src/vmsgetargs.c, src/getargs.c:
4266 Added -n, -k, and -raw switches.
4267 (noparserflag, toknumflag, rawtoknumflag): New variables.
4268
4269 * src/symtab.h (SALIAS):
4270 New #define for adding aliases to %token.
4271 (struct bucket): Added `alias' field.
4272
4273 * src/reduce.c (reduce_grammar):
4274 Revise error message.
4275 (print_notices): Remove final `.' from error message.
4276
4277 * src/reader.c (reader_output_yylsp):
4278 New function.
4279 (readgram): Use `#if 0' around code that accepted %command
4280 inside grammar rules: The documentation doesn't allow it,
4281 and it will fail since the %command processors scan for the next %.
4282 (parse_token_decl): Extended the %token
4283 declaration to allow a multi-character symbol as an alias.
4284 (parse_thong_decl): New function.
4285 (read_declarations): Added %thong declarations.
4286 (read_declarations): Handle NOOP to deal with allowing
4287 % declarations as another means to specify the flags.
4288 (readgram): Allow %prec prior to semantics embedded in a rule.
4289 (skip_to_char, read_declarations, copy_definition)
4290 (parse_token_decl, parse_start_decl, parse_type_decl)
4291 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
4292 (get_type_name, copy_guard, copy_action, readgram)
4293 (get_type, packsymbols): Revised most error messages.
4294 Changed `fatal' to `warnxxx' to avoid aborting for error.
4295 Revised and use multiple warnxxx functions to avoid using VARARGS1.
4296 (read_declarations): Improve the error message for
4297 an invalid character. Do not abort.
4298 (read_declarations, copy_guard, copy_action): Use
4299 printable_version to avoid unprintable characters in printed output.
4300 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
4301 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
4302 Allow the type of a non-terminal can be given
4303 more than once, as long as all specifications give the same type.
4304
4305 * src/output.c:
4306 (output_headers, output_trailers, output, output_gram)
4307 (output_rule_data): Implement noparserflag variable.
4308 Implement toknumflag variable.
4309 (output): Call reader_output_yylsp to output LTYPESTR.
4310
4311 * src/main.c (main):
4312 If reader sees an error, don't process the grammar.
4313 (fatals): Updated to not use VARARGS1.
4314 (printable_version, int_to_string, warn, warni, warns, warnss)
4315 (warnsss): New error reporting functions. Avoid abort for error.
4316
4317 * src/lex.h:
4318 Added THONG and NOOP for alias processing.
4319 Added SETOPT for the new code that allows setting options with %flags.
4320
4321 * src/lex.c:
4322 Include getopt.h. Add some extern decls.
4323 (safegetc): New function to deal with EOF gracefully.
4324 (literalchar); new function to deal with reading \ escapes.
4325 (lex): Use literalchar.
4326 (lex): Implemented "..." tokens.
4327 (literalchar, lex, parse_percent_token): Made tokenbuffer
4328 always contain the token. This includes growing the token
4329 buffer while reading an integer.
4330 (parse_percent_token): Replaced if-else statement with percent_table.
4331 (parse_percent_token): Added % declarations as another
4332 way to specify the flags -n, -l, and -r. Also added hooks for
4333 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
4334 major changes to files.c.
4335 (lex) Retain in the incoming stream a character following
4336 an incorrect '/'.
4337 (skip_white_space, lex): Revised most error messages
4338 and changed fatal to warn to avoid aborting.
4339 (percent_table): Added %thong declarations.
4340
4341 * src/gram.h: Comment changes.
4342
4343 * src/files.c (openfiles, open_extra_files, done):
4344 Add faction flag
4345 and actfile file. Handle noparserflag. Both for -n switch.
4346
4347 * src/conflicts.c (resolve_sr_conflict):
4348 Remove use of alloca.
4349
4350 1995-06-01 Jim Meyering <meyering@gnu.org>
4351
4352 * doc/bison.texinfo: *** empty log message ***
4353
4354 1995-05-06 Richard Stallman <rms@gnu.org>
4355
4356 * src/bison.s1: Comment change.
4357
4358 1995-05-06 Richard Stallman <rms@gnu.org>
4359
4360 * bison.simple: Comment change.
4361
4362 1995-05-03 Richard Stallman <rms@gnu.org>
4363
4364 * src/version.c: Version now 1.24.
4365
4366 * src/bison.s1: Change distribution terms.
4367
4368 * src/version.c: Version now 1.23.
4369
4370 1995-05-03 Richard Stallman <rms@gnu.org>
4371
4372 * doc/bison.texinfo:
4373 Rewrite "Conditions for Using Bison".
4374 Update version to 1.24.
4375
4376 1995-05-03 Richard Stallman <rms@gnu.org>
4377
4378 * bison.simple: Change distribution terms.
4379
4380 1995-02-23 Richard Stallman <rms@gnu.org>
4381
4382 * src/files.c: Test __VMS_POSIX as well as VMS.
4383
4384 1995-02-14 Jim Meyering <meyering@gnu.org>
4385
4386 * src/bison.s1 (__yy_memcpy):
4387 Renamed from __yy_bcopy to avoid
4388 confusion. Reverse FROM and TO arguments to be consistent with
4389 those of memcpy.
4390
4391 1995-02-14 Jim Meyering <meyering@gnu.org>
4392
4393 * bison.simple (__yy_memcpy):
4394 Renamed from __yy_bcopy to avoid
4395 confusion. Reverse FROM and TO arguments to be consistent with
4396 those of memcpy.
4397
4398 1994-11-10 David J. MacKenzie <djm@gnu.org>
4399
4400 * NEWS: reformat
4401
4402 * NEWS: New file.
4403
4404 * Makefile.in (DISTFILES): Include NEWS.
4405
4406 * Makefile.in (DISTFILES):
4407 Include install-sh, not install.sh.
4408
4409 * configure.in: Update to Autoconf v2 macro names.
4410
4411 1994-10-05 David J. MacKenzie <djm@gnu.org>
4412
4413 * Makefile.in: fix typo
4414
4415 * Makefile.in (prefix, exec_prefix):
4416 Let configure set them.
4417
4418 1994-09-28 David J. MacKenzie <djm@gnu.org>
4419
4420 * Makefile.in: Set datadir to $(prefix)/share.
4421
4422 1994-09-15 Richard Stallman <rms@gnu.org>
4423
4424 * src/bison.s1:
4425 Update copyright notice and GPL version.
4426
4427 1994-09-15 Richard Stallman <rms@gnu.org>
4428
4429 * bison.simple:
4430 Update copyright notice and GPL version.
4431
4432 1994-07-12 Richard Stallman <rms@gnu.org>
4433
4434 * src/reduce.c, src/reader.c:
4435 entered into RCS
4436
4437 1994-05-05 David J. MacKenzie <djm@gnu.org>
4438
4439 * Makefile.in: entered into RCS
4440
4441 1994-03-26 Richard Stallman <rms@gnu.org>
4442
4443 * src/bison.s1: entered into RCS
4444
4445 1994-03-26 Richard Stallman <rms@gnu.org>
4446
4447 * bison.simple: entered into RCS
4448
4449 1994-03-25 Richard Stallman <rms@gnu.org>
4450
4451 * src/main.c: entered into RCS
4452
4453 1994-03-24 Richard Stallman <rms@gnu.org>
4454
4455 * src/conflicts.c: entered into RCS
4456
4457 1994-01-02 Richard Stallman <rms@gnu.org>
4458
4459 * Makefile.in: *** empty log message ***
4460
4461 1993-11-21 Richard Stallman <rms@gnu.org>
4462
4463 * src/bison.s1: *** empty log message ***
4464
4465 1993-11-21 Richard Stallman <rms@gnu.org>
4466
4467 * doc/bison.texinfo: entered into RCS
4468
4469 * doc/bison.texinfo: *** empty log message ***
4470
4471 1993-11-21 Richard Stallman <rms@gnu.org>
4472
4473 * bison.simple: *** empty log message ***
4474
4475 1993-10-25 David J. MacKenzie <djm@gnu.org>
4476
4477 * doc/bison.texinfo: *** empty log message ***
4478
4479 1993-10-19 Richard Stallman <rms@gnu.org>
4480
4481 * src/bison.s1: *** empty log message ***
4482
4483 1993-10-19 Richard Stallman <rms@gnu.org>
4484
4485 * bison.simple: *** empty log message ***
4486
4487 1993-10-14 Richard Stallman <rms@gnu.org>
4488
4489 * src/bison.s1: *** empty log message ***
4490
4491 1993-10-14 Richard Stallman <rms@gnu.org>
4492
4493 * bison.simple: *** empty log message ***
4494
4495 1993-09-14 David J. MacKenzie <djm@gnu.org>
4496
4497 * doc/bison.texinfo: *** empty log message ***
4498
4499 1993-09-13 Noah Friedman <friedman@gnu.org>
4500
4501 * Makefile.in: *** empty log message ***
4502
4503 1993-09-10 Richard Stallman <rms@gnu.org>
4504
4505 * src/conflicts.c: *** empty log message ***
4506
4507 * src/system.h: entered into RCS
4508
4509 1993-09-10 Richard Stallman <rms@gnu.org>
4510
4511 * doc/bison.1: entered into RCS
4512
4513 1993-09-06 Noah Friedman <friedman@gnu.org>
4514
4515 * src/version.c: entered into RCS
4516
4517 1993-09-06 Noah Friedman <friedman@gnu.org>
4518
4519 * Makefile.in: *** empty log message ***
4520
4521 1993-07-30 David J. MacKenzie <djm@gnu.org>
4522
4523 * Makefile.in: *** empty log message ***
4524
4525 1993-07-24 Richard Stallman <rms@gnu.org>
4526
4527 * src/bison.s1: *** empty log message ***
4528
4529 1993-07-24 Richard Stallman <rms@gnu.org>
4530
4531 * bison.simple: *** empty log message ***
4532
4533 1993-07-08 David J. MacKenzie <djm@gnu.org>
4534
4535 * Makefile.in: *** empty log message ***
4536
4537 1993-07-04 Richard Stallman <rms@gnu.org>
4538
4539 * src/bison.s1: *** empty log message ***
4540
4541 1993-07-04 Richard Stallman <rms@gnu.org>
4542
4543 * bison.simple: *** empty log message ***
4544
4545 1993-06-26 David J. MacKenzie <djm@gnu.org>
4546
4547 * src/getargs.c: entered into RCS
4548
4549 1993-06-26 David J. MacKenzie <djm@gnu.org>
4550
4551 * doc/bison.texinfo: *** empty log message ***
4552
4553 * doc/bison.1: New file.
4554
4555 1993-06-25 Richard Stallman <rms@gnu.org>
4556
4557 * src/getargs.c: New file.
4558
4559 1993-06-16 Richard Stallman <rms@gnu.org>
4560
4561 * src/bison.s1: *** empty log message ***
4562
4563 1993-06-16 Richard Stallman <rms@gnu.org>
4564
4565 * bison.simple: *** empty log message ***
4566
4567 1993-06-03 Richard Stallman <rms@gnu.org>
4568
4569 * src/bison.s1: New file.
4570
4571 1993-06-03 Richard Stallman <rms@gnu.org>
4572
4573 * doc/bison.texinfo: *** empty log message ***
4574
4575 1993-06-03 Richard Stallman <rms@gnu.org>
4576
4577 * bison.simple: New file.
4578
4579 1993-05-19 Richard Stallman <rms@gnu.org>
4580
4581 * doc/bison.texinfo: New file.
4582
4583 1993-05-07 Noah Friedman <friedman@gnu.org>
4584
4585 * Makefile.in: *** empty log message ***
4586
4587 1993-04-28 Noah Friedman <friedman@gnu.org>
4588
4589 * src/reader.c: *** empty log message ***
4590
4591 1993-04-23 Noah Friedman <friedman@gnu.org>
4592
4593 * src/alloc.h: entered into RCS
4594
4595 1993-04-20 David J. MacKenzie <djm@gnu.org>
4596
4597 * src/version.c: *** empty log message ***
4598
4599 * src/files.c, src/allocate.c:
4600 entered into RCS
4601
4602 * src/reader.c: *** empty log message ***
4603
4604 * src/lex.c: entered into RCS
4605
4606 * src/conflicts.c: New file.
4607
4608 * src/symtab.c: entered into RCS
4609
4610 * src/alloc.h: New file.
4611
4612 * src/LR0.c: entered into RCS
4613
4614 1993-04-18 Noah Friedman <friedman@gnu.org>
4615
4616 * src/reader.c: New file.
4617
4618 * src/version.c: *** empty log message ***
4619
4620 1993-04-18 Noah Friedman <friedman@gnu.org>
4621
4622 * Makefile.in: *** empty log message ***
4623
4624 1993-04-17 Noah Friedman <friedman@gnu.org>
4625
4626 * Makefile.in: *** empty log message ***
4627
4628 1993-04-15 Richard Stallman <rms@gnu.org>
4629
4630 * src/main.c, src/files.c:
4631 New file.
4632
4633 1993-04-15 Noah Friedman <friedman@gnu.org>
4634
4635 * configure.in: entered into RCS
4636
4637 * configure.in: *** empty log message ***
4638
4639 * configure.in: New file.
4640
4641 1993-04-14 Richard Stallman <rms@gnu.org>
4642
4643 * Makefile.in: New file.
4644
4645 1993-04-13 Richard Stallman <rms@gnu.org>
4646
4647 * src/version.c: New file.
4648
4649 1993-03-25 Richard Stallman <rms@gnu.org>
4650
4651 * src/output.c: entered into RCS
4652
4653 1992-09-25 Richard Stallman <rms@gnu.org>
4654
4655 * configure.bat: entered into RCS
4656
4657 1992-06-22 Richard Stallman <rms@gnu.org>
4658
4659 * src/vmsgetargs.c: entered into RCS
4660
4661 1992-06-22 Richard Stallman <rms@gnu.org>
4662
4663 * doc/bison.rnh: entered into RCS
4664
4665 1992-04-20 David J. MacKenzie <djm@gnu.org>
4666
4667 * README: entered into RCS
4668
4669 1992-01-22 Richard Stallman <rms@gnu.org>
4670
4671 * src/machine.h: entered into RCS
4672
4673 1991-12-21 Richard Stallman <rms@gnu.org>
4674
4675 * src/lalr.c, src/closure.c:
4676 entered into RCS
4677
4678 1991-12-20 Richard Stallman <rms@gnu.org>
4679
4680 * src/state.h: entered into RCS
4681
4682 1991-12-18 Richard Stallman <rms@gnu.org>
4683
4684 * src/print.c, src/nullable.c, src/derives.c:
4685 entered into RCS
4686
4687 1991-11-03 David J. MacKenzie <djm@gnu.org>
4688
4689 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
4690 entered into RCS
4691
4692 1988-09-09 Richard Stallman <rms@gnu.org>
4693
4694 * src/bison.hairy: entered into RCS
4695
4696 1987-12-16 Richard Stallman <rms@gnu.org>
4697
4698 * REFERENCES: entered into RCS