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