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