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