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