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