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