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