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