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