]> git.saurik.com Git - bison.git/blob - ChangeLog
* tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
[bison.git] / ChangeLog
1 2002-04-23 Akim Demaille <akim@epita.fr>
2
3 * tests/sets.at (AT_EXTRACT_SETS): Don't use 8 char long sed labels.
4 * tests/synclines.at (AT_TEST_SYNCLINE): Be robust to GCC's
5 location with columns.
6 * tests/conflicts.at (%nonassoc and eof): Don't use `error.h'.
7 All reported by Paul Eggert.
8
9 2002-04-22 Akim Demaille <akim@epita.fr>
10
11 * src/reduce.c (dump_grammar): Move to...
12 * src/gram.h, src/gram.c (grammar_dump): here.
13 Be sure to separate long item numbers.
14 Don't read the members of a rule's prec if its nil.
15
16 2002-04-22 Akim Demaille <akim@epita.fr>
17
18 * src/output.c (table_size, table_grow): New.
19 (MAXTABLE): Remove, replace uses with table_size.
20 (pack_vector): Instead of dying when the table is too big, grow it.
21
22 2002-04-22 Akim Demaille <akim@epita.fr>
23
24 * data/bison.simple (yyr1): Its type is that of a token number.
25 * data/bison.c++ (r1_): Likewise.
26 * tests/regression.at (Web2c Actions): Adjust.
27
28 2002-04-22 Akim Demaille <akim@epita.fr>
29
30 * src/reader.c (token_translations_init): 256 is now the default
31 value for the error token, i.e., it will be assigned another
32 number if the user assigned 256 to one of her tokens.
33 (reader): Don't force 256 to error.
34 * doc/bison.texinfo (Symbols): Adjust.
35 * tests/torture.at (AT_DATA_HORIZONTAL_GRAMMAR)
36 (AT_DATA_TRIANGULAR_GRAMMAR): Number the tokens as 1, 2, 3
37 etc. instead of 10, 20, 30 (which was used to `jump' over error
38 (256) and undefined (2)).
39
40 2002-04-22 Akim Demaille <akim@epita.fr>
41
42 Propagate more token_number_t.
43
44 * src/gram.h (token_number_as_item_number)
45 (item_number_as_token_number): New.
46 * src/output.c (GENERATE_OUTPUT_TABLE): New.
47 Use it to create output_item_number_table and
48 output_token_number_table.
49 * src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
50 * src/lex.c, src/nullable.c, src/output.c, src/print.c,
51 * src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
52 * src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
53
54 2002-04-22 Akim Demaille <akim@epita.fr>
55
56 * src/output.h, src/output.c (get_lines_number): Remove.
57
58 2002-04-19 Akim Demaille <akim@epita.fr>
59
60 * doc/bison.texinfo (Actions): Make clear that `|' is not the same
61 as Lex/Flex'.
62 (Debugging): More details about enabling the debugging features.
63 (Table of Symbols): Describe $$, $n, @$, and @n.
64 Suggested by Tim Josling.
65
66 2002-04-19 Akim Demaille <akim@epita.fr>
67
68 * doc/bison.texinfo: Remove the uses of the obsolete @refill.
69
70 2002-04-10 Akim Demaille <akim@epita.fr>
71
72 * src/system.h: Rely on HAVE_LIMITS_H.
73 Suggested by Paul Eggert.
74
75 2002-04-09 Akim Demaille <akim@epita.fr>
76
77 * tests/calc.at (_AT_CHECK_CALC_ERROR): Receive as argument the
78 full stderr, and strip it according to the bison options, instead
79 of composing the error message from different bits.
80 This makes it easier to check for several error messages.
81 Adjust all the invocations.
82 Add an invocation exercising the error token.
83 Add an invocation demonstrating a stupid error message.
84 (_AT_DATA_CALC_Y): Follow the GCS: initial column is 1, not 0.
85 Adjust the tests.
86 Error message are for stderr, not stdout.
87
88 2002-04-09 Akim Demaille <akim@epita.fr>
89
90 * src/gram.h, src/gram.c (error_token_number): Remove, use
91 errtoken->number.
92 * src/reader.c (reader): Don't specify the user token number (2)
93 for $undefined, as it uselessly prevents using it.
94 * src/gram.h (token_number_t): Move to...
95 * src/symtab.h: here.
96 (state_t.number): Is a token_number_t.
97 * src/print.c, src/reader.c: Use undeftoken->number instead of
98 hard coded 2.
99 (Even though this 2 is not the same as above: the number of the
100 undeftoken remains being 2, it is its user token number which
101 might not be 2).
102 * src/output.c (prepare_tokens): Rename the `maxtok' muscle with
103 `user_token_number_max'.
104 Output `undef_token_number'.
105 * data/bison.simple, data/bison.c++: Use them.
106 Be sure to map invalid yylex return values to
107 `undef_token_number'. This saves us from gratuitous SEGV.
108
109 * tests/conflicts.at (Solved SR Conflicts)
110 (Unresolved SR Conflicts): Adjust.
111 * tests/regression.at (Web2c Actions): Adjust.
112
113 2002-04-08 Akim Demaille <akim@epita.fr>
114
115 * data/bison.c++: s/b4_item_number_max/b4_rhs_number_max/.
116 Adding #line.
117 Remove the duplicate `typedefs'.
118 (RhsNumberType): Fix the declaration and various other typos.
119 Use __ofile__.
120 * data/bison.simple: Use __ofile__.
121 * src/scan-skel.l: Handle __ofile__.
122
123 2002-04-08 Akim Demaille <akim@epita.fr>
124
125 * src/gram.h (item_number_t): New, the type of item numbers in
126 RITEM. Note that it must be able to code symbol numbers as
127 positive number, and the negation of rule numbers as negative
128 numbers.
129 Adjust all dependencies (pretty many).
130 * src/reduce.c (rule): Remove this `short *' pointer: use
131 item_number_t.
132 * src/system.h (MINSHORT, MAXSHORT): Remove.
133 Include `limits.h'.
134 Adjust dependencies to using SHRT_MAX and SHRT_MIN.
135 (shortcpy): Remove.
136 (MAXTABLE): Move to...
137 * src/output.c (MAXTABLE): here.
138 (prepare_rules): Use output_int_table to output rhs.
139 * data/bison.simple, data/bison.c++: Adjust.
140 * tests/torture.at (Big triangle): Move the limit from 254 to
141 500.
142 * tests/regression.at (Web2c Actions): Ajust.
143
144 Trying with bigger grammars shows various phenomena: at 3000 (28Mb
145 of grammar file) bison is killed by my system, at 2000 (12Mb) bison
146 passes, but produces negative #line number, once fixed, GCC is
147 killed while compiling 14Mb, at 1500 (6.7 Mb of grammar, 8.2Mb of
148 C), it passes.
149 * src/state.h (state_h): Code input lines on ints, not shorts.
150
151 2002-04-08 Akim Demaille <akim@epita.fr>
152
153 * src/reduce.c (reduce_grammar): First reduce the nonterminals,
154 and then the grammar.
155
156 2002-04-08 Akim Demaille <akim@epita.fr>
157
158 * src/system.h: No longer using strndup.
159
160 2002-04-07 Akim Demaille <akim@epita.fr>
161
162 * src/muscle_tab.h (MUSCLE_INSERT_LONG_INT): New.
163 * src/output.c (output_table_data): Return the longest number.
164 (prepare_tokens): Output `token_number_max').
165 * data/bison.simple, data/bison.c++ (b4_sint_type, b4_uint_type):
166 New.
167 Use them to define yy_token_number_type/TokenNumberType.
168 Use this type for yytranslate.
169 * tests/torture.at (Big triangle): Push the limit from 124 to
170 253.
171 * tests/regression.at (Web2c Actions): Adjust.
172
173 2002-04-07 Akim Demaille <akim@epita.fr>
174
175 * tests/torture.at (Big triangle): New.
176 (GNU AWK Grammar, GNU Cim Grammar): Move to...
177 * tests/existing.at: here.
178
179 2002-04-07 Akim Demaille <akim@epita.fr>
180
181 * src/gram.h, src/gram.c (nitems): Remove, it is an alias of
182 nritems.
183 Adjust dependencies.
184
185 2002-04-07 Akim Demaille <akim@epita.fr>
186
187 * src/reader.c: Normalize increments to prefix form.
188
189 2002-04-07 Akim Demaille <akim@epita.fr>
190
191 * src/reader.c, symtab.c: Remove debugging code.
192
193 2002-04-07 Akim Demaille <akim@epita.fr>
194
195 Rename all the `bucket's as `symbol_t'.
196
197 * src/gram.c, src/gram.h, src/lex.c, src/lex.h, src/output.c,
198 * src/reader.c, src/reader.h, src/reduce.c, src/state.h,
199 * src/symtab.c, src/symtab.h (bucket): Rename as...
200 (symbol_t): this.
201 (symbol_list_new, bucket_check_defined, bucket_make_alias)
202 (bucket_check_alias_consistence, bucket_pack, bucket_translation)
203 (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
204 (buckets_new, buckets_free, buckets_do): Rename as...
205 (symbol_list_new, symbol_check_defined, symbol_make_alias)
206 (symbol_check_alias_consistence, symbol_pack, symbol_translation)
207 (symbol_new, symbol_free, hash_compare_symbol_t, hash_symbol_t)
208 (symbols_new, symbols_free, symbols_do): these.
209
210 2002-04-07 Akim Demaille <akim@epita.fr>
211
212 Use lib/hash for the symbol table.
213
214 * src/gram.c (ntokens): Initialize to 1, to reserve a slot for
215 EOF.
216 * src/lex.c (lex): Set the `number' member of new terminals.
217 * src/reader.c (bucket_check_defined, bucket_make_alias)
218 (bucket_check_alias_consistence, bucket_translation): New.
219 (reader, grammar_free, readgram, token_translations_init)
220 (packsymbols): Adjust.
221 (reader): Number the predefined tokens.
222 * src/reduce.c (inaccessable_symbols): Just use hard coded numbers
223 for predefined tokens.
224 * src/symtab.h (bucket): Remove all the hash table related
225 members.
226 * src/symtab.c (symtab): Replace by...
227 (bucket_table): this.
228 (bucket_new, bucket_free, hash_compare_bucket, hash_bucket)
229 (buckets_new, buckets_do): New.
230
231 2002-04-07 Akim Demaille <akim@epita.fr>
232
233 * src/gram.c (nitems, nrules, nsyms, ntokens, nvars, nritems)
234 (start_symbol, max_user_token_number, semantic_parser)
235 (error_token_number): Initialize.
236 * src/reader.c (grammar, start_flag, startval, typed, lastprec):
237 Initialize.
238 (reader): Don't.
239 (errtoken, eoftoken, undeftoken, axiom): Extern.
240
241 2002-04-07 Akim Demaille <akim@epita.fr>
242
243 * src/gram.h (rule_s): prec and precsym are now pointers
244 to the bucket giving the priority/associativity.
245 Member `associativity' removed: useless.
246 * src/reduce.c, src/conflicts.c: Adjust.
247
248 2002-04-07 Akim Demaille <akim@epita.fr>
249
250 * src/lalr.c, src/LR0.c, src/closure.c, src/gram.c, src/reduce.c:
251 Properly escape the symbols' TAG when outputting them.
252
253 2002-04-07 Akim Demaille <akim@epita.fr>
254
255 * src/lalr.h (LA): Is a bitsetv, not bitset*.
256
257 2002-04-07 Akim Demaille <akim@epita.fr>
258
259 * src/lalr.h, src/lalr.c (LAruleno): Replace with...
260 (LArule): this, which is an array to rule_t*.
261 * src/print.c, src/conflicts.c: Adjust.
262
263 2002-04-07 Akim Demaille <akim@epita.fr>
264
265 * src/gram.h (rule_t): Rename `number' as `user_number'.
266 `number' is a new member.
267 Adjust dependencies.
268 * src/reduce.c (reduce_grammar_tables): Renumber rule_t.number.
269
270 2002-04-07 Akim Demaille <akim@epita.fr>
271
272 As a result of the previous patch, it is no longer needed
273 to reorder ritem itself.
274
275 * src/reduce.c (reduce_grammar_tables): Don't sort RITEM.
276
277 2002-04-07 Akim Demaille <akim@epita.fr>
278
279 Be sure never to walk through RITEMS, but use only data related to
280 the rules themselves. RITEMS should be banished.
281
282 * src/output.c (output_token_translations): Rename as...
283 (prepare_tokens): this.
284 In addition to `translate', prepare the muscles `tname' and
285 `toknum', which were handled by...
286 (output_rule_data): this.
287 Remove, and move the remainder of its outputs into...
288 (prepare_rules): this new routines, which also merges content from
289 (output_gram): this.
290 (prepare_rules): Be sure never to walk through RITEMS.
291 (output_stos): Rename as...
292 (prepare_stos): this.
293 (output): Always invoke prepare_states, after all, just don't use it
294 in the output if you don't need it.
295
296 2002-04-07 Akim Demaille <akim@epita.fr>
297
298 * src/LR0.c (new_state): Display `nstates' as the name of the
299 newly created state.
300 Adjust to initialize first_state and last_state if needed.
301 Be sure to distinguish the initial from the final state.
302 (new_states): Create the itemset of the initial state, and use
303 new_state.
304 * src/closure.c (closure): Now that the initial state has its
305 items properly set, there is no need for a special case when
306 creating `ruleset'.
307
308 As a result, now the rule 0, reducing to $axiom, is visible in the
309 outputs. Adjust the test suite.
310
311 * tests/conflicts.at (Solved SR Conflicts)
312 (Unresolved SR Conflicts): Adjust.
313 * tests/regression.at (Web2c Report, Rule Line Numbers): Idem.
314 * tests/conflicts.at (S/R in initial): New.
315
316 2002-04-07 Akim Demaille <akim@epita.fr>
317
318 * src/LR0.c (allocate_itemsets): Don't loop over ritem: loop over
319 the RHS of the rules.
320 * src/output.c (output_gram): Likewise.
321
322 2002-04-07 Akim Demaille <akim@epita.fr>
323
324 * src/gram.h (rule_t): `lhs' is now a pointer to the symbol's
325 bucket.
326 Adjust all dependencies.
327 * src/reduce.c (nonterminals_reduce): Don't forget to renumber the
328 `number' of the buckets too.
329 * src/gram.h: Include `symtab.h'.
330 (associativity): Move to...
331 * src/symtab.h: here.
332 No longer include `gram.h'.
333
334 2002-04-07 Akim Demaille <akim@epita.fr>
335
336 * src/gram.h, src/gram.c (rules_rhs_length): New.
337 (ritem_longest_rhs): Use it.
338 * src/gram.h (rule_t): `number' is a new member.
339 * src/reader.c (packgram): Set it.
340 * src/reduce.c (reduce_grammar_tables): Move the useless rules at
341 the end of `rules', and count them out of `nrules'.
342 (reduce_output, dump_grammar): Adjust.
343 * src/print.c (print_grammar): It is no longer needed to check for
344 the usefulness of a rule, as useless rules are beyond `nrules + 1'.
345 * tests/reduce.at (Reduced Automaton): New test.
346
347 2002-04-07 Akim Demaille <akim@epita.fr>
348
349 * src/reduce.c (inaccessable_symbols): Fix a buglet: because of a
350 lacking `+ 1' to nrules, Bison reported as useless a token if it
351 was used solely to set the precedence of the last rule...
352
353 2002-04-07 Akim Demaille <akim@epita.fr>
354
355 * data/bison.c++, data/bison.simple: Don't output the current file
356 name in #line, to avoid useless diffs between two identical
357 outputs under different names.
358
359 2002-04-07 Akim Demaille <akim@epita.fr>
360
361 * src/closure.c, src/print.c, src/reader.c, src/reduce.c:
362 Normalize loops to using `< nrules + 1', not `<= nrules'.
363
364 2002-04-07 Akim Demaille <akim@epita.fr>
365
366 * TODO: Update.
367
368 2002-04-07 Akim Demaille <akim@epita.fr>
369
370 * src/output.c, src/reader.c, src/symtab.c, src/symtab.h: Rename
371 bucket.value as bucket.number.
372
373 2002-04-07 Akim Demaille <akim@epita.fr>
374
375 * src/closure.c, src/derives.c, src/gram.h, src/lalr.c,
376 * src/nullable.c, src/output.c, src/print.c, src/print_graph.c,
377 * src/reader.c, src/reduce.c: Let rule_t.rhs point directly to the
378 RHS, instead of being an index in RITEMS.
379
380 2002-04-04 Paul Eggert <eggert@twinsun.com>
381
382 * doc/bison.texinfo: Update copyright date.
383 (Rpcalc Lexer, Symbols, Token Decl): Don't assume ASCII.
384 (Symbols): Warn about running Bison in one character set,
385 but compiling and/or running in an incompatible one.
386 Warn about character code 256, too.
387
388 2002-04-03 Paul Eggert <eggert@twinsun.com>
389
390 * src/bison.data (YYSTACK_ALLOC): Depend on whether
391 YYERROR_VERBOSE is nonzero, not whether it is defined.
392
393 Merge changes from bison-1_29-branch.
394
395 2002-03-20 Paul Eggert <eggert@twinsun.com>
396
397 Merge fixes from Debian bison_1.34-1.diff.
398
399 * configure.in (AC_PREREQ): 2.53.
400
401 2002-03-20 Akim Demaille <akim@epita.fr>
402
403 * src/conflicts.c (log_resolution): Argument `resolution' is const.
404
405 2002-03-19 Paul Eggert <eggert@twinsun.com>
406
407 * src/bison.simple (YYCOPY): New macro.
408 (YYSTACK_RELOCATE): Use it.
409 Remove Type arg; no longer needed. All callers changed.
410 (yymemcpy): Remove; no longer needed.
411
412 * Makefile.am (AUTOMAKE_OPTIONS): 1.6.
413 * doc/Makefile.am (AUTOMAKE_OPTIONS): Remove.
414
415 2002-03-19 Akim Demaille <akim@epita.fr>
416
417 Test and fix the #line outputs.
418
419 * tests/atlocal.at (GCC): New.
420 * tests/synclines.at (AT_TEST_SYNCLINE): New macro.
421 (Prologue synch line, ,%union synch line, Postprologue synch line)
422 (Action synch line, Epilogue synch line): New tests.
423 * src/reader.c (parse_union_decl): Define the muscle stype_line.
424 * data/bison.simple, data/bison.c++: Use it.
425
426 2002-03-19 Akim Demaille <akim@epita.fr>
427
428 * tests/regression.at (%nonassoc and eof, Unresolved SR Conflicts)
429 (Solved SR Conflicts, %expect not enough, %expect right)
430 (%expect too much): Move to...
431 * tests/conflicts.at: this new file.
432
433 2002-03-19 Akim Demaille <akim@epita.fr>
434
435 * data/m4sugar/m4sugar.m4: Update from CVS Autoconf.
436 * data/bison.simple, data/bison.c++: Handle the `#define' part, so
437 that we can move to enums for instance.
438 * src/output.c (token_definitions_output): Output a list of
439 `token-name, token-number' instead of the #define.
440 (output_skeleton): Name this list `b4_tokens', not `b4_tokendefs'.
441
442 2002-03-14 Akim Demaille <akim@epita.fr>
443
444 Use Gettext 0.11.1.
445
446 2002-03-09 Robert Anisko <robert@lrde.epita.fr>
447
448 * data/bison.c++: Make the user able to add members to the generated
449 parser by subclassing.
450
451 2002-03-05 Robert Anisko <robert@lrde.epita.fr>
452
453 * src/reader.c (read_additionnal_code): `c' should be an integer, not
454 a character.
455 Reported by Nicolas Tisserand and Nicolas Burrus.
456
457 2002-03-04 Robert Anisko <robert@lrde.epita.fr>
458
459 * src/reader.c: Warn about lacking semi-colons, do not complain.
460
461 2002-03-04 Robert Anisko <robert@lrde.epita.fr>
462
463 * data/bison.c++: Remove a debug line.
464
465 2002-03-04 Robert Anisko <robert@lrde.epita.fr>
466
467 * data/bison.c++: Unmerge value as yylval and value as yyval. Unmerge
468 location as yylloc and location as yyloc. Use YYLLOC_DEFAULT, and
469 provide a default implementation.
470
471 2002-03-04 Akim Demaille <akim@epita.fr>
472
473 * tests/input.at (Invalid $n, Invalid @n): Add the ending `;'.
474 * tests/output.at (AT_CHECK_OUTPUT): Likewise.
475 * tests/headers.at (AT_TEST_CPP_GUARD_H): Ditto.
476 * tests/semantic.at (Parsing Guards): Similarly.
477 * src/reader.at (readgram): Complain if the last rule is not ended
478 with a semi-colon.
479
480 2002-03-04 Akim Demaille <akim@epita.fr>
481
482 * src/warshall.h, src/warshall.c (bitmatrix_print): Move to...
483 * src/closure.c: here.
484 (set_firsts): Use bitsetv_reflexive_transitive_closure instead of
485 RTC.
486 * src/warshall.h, src/warshall.c: Remove.
487 * tests/sets.at (Broken Closure): Adjust.
488
489 2002-03-04 Akim Demaille <akim@epita.fr>
490
491 * src/output.c (output_skeleton): tempdir is const.
492 bytes_read is unused.
493
494 2002-03-04 Akim Demaille <akim@epita.fr>
495
496 * lib/bbitset.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
497 * lib/bitsetv.h, lib/ebitset.c, lib/lbitset.c, lib/sbitset.c:
498 Update.
499 From Michael Hayes.
500
501 2002-03-04 Akim Demaille <akim@epita.fr>
502
503 * src/closure.c (closure): `r' is unused.
504
505 2002-03-04 Akim Demaille <akim@epita.fr>
506
507 * tests/sets.at (Broken Closure): Add the ending `;'.
508 * src/reader.at (readgram): Complain if a rule is not ended with a
509 semi-colon.
510
511 2002-03-04 Akim Demaille <akim@epita.fr>
512
513 * src/conflicts.c (set_conflicts): Use bitset_disjoint_p.
514 (count_sr_conflicts): Use bitset_count.
515 * src/reduce.c (inaccessable_symbols): Ditto.
516 (bits_size): Remove.
517 * src/warshall.h, src/warshall.c: Convert to bitsetv.
518
519 2002-03-04 Akim Demaille <akim@epita.fr>
520
521 * src/closure.c, src/conflicts.c, src/lalr.c, src/print.c,
522 * src/reduce.c: Remove the `bitset_zero's following the
523 `bitset_create's, as now it is performed by the latter.
524
525 2002-03-04 Akim Demaille <akim@epita.fr>
526
527 * lib/bitset.c, lib/bitset.h, lib/bitsetv.c, lib/bitsetv.h,
528 * lib/ebitset.c, lib/ebitset.h, lib/lbitset.c, lib/lbitset.h,
529 * lib/sbitset.c, lib/sbitset.h, lib/bbitset.h: Update from the
530 latest sources from Michael.
531
532 2002-03-04 Akim Demaille <akim@epita.fr>
533
534 * src/output.c (output): Don't free the grammar.
535 * src/reader.c (grammar_free): New.
536 * src/main.c (main): Call it and don't free symtab here.
537
538 2002-03-04 Akim Demaille <akim@epita.fr>
539
540 * src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
541 before returning.
542 Reported by Benoit Perrot.
543
544 2002-03-04 Akim Demaille <akim@epita.fr>
545
546 Use bitset operations when possible, not loops over bits.
547
548 * src/conflicts.c (set_conflicts, count_sr_conflicts): Use
549 bitset_or.
550 * src/print.c (print_reductions): Use bitset_and, bitset_andn.
551 * src/reduce.c (useless_nonterminals): Formatting changes.
552 * src/warshall.c (TC): Use bitset_or.
553
554 2002-03-04 Akim Demaille <akim@epita.fr>
555
556 * src/lalr.h, src/lalr.c (tokensetsize): Remove, unused.
557 * src/system.h (BITS_PER_WORD, WORDSIZE, SETBIT, RESETBIT, BITISSET):
558 Ditto.
559
560 2002-03-04 Akim Demaille <akim@epita.fr>
561
562 * src/lalr.c (F): Now a bitset*.
563 Adjust all dependencies.
564
565 2002-03-04 Akim Demaille <akim@epita.fr>
566
567 * src/conflicts.c (shiftset, lookaheadset): Now bitset.
568 Adjust all dependencies.
569
570 2002-03-04 Akim Demaille <akim@epita.fr>
571
572 * src/L0.c, src/LR0.h (nstates): Be size_t.
573 Adjust comparisons (signed vs unsigned).
574 * src/conflics.c, src/lalr.c, src/lalr.h, src/output.c (LA): Now a
575 bitset*.
576 Adjust all dependencies.
577
578 2002-03-04 Akim Demaille <akim@epita.fr>
579
580 * src/closure.c (firsts): Now, also a bitset.
581 Adjust all dependencies.
582 (varsetsize): Remove, now unused.
583 * src/warshall.h, src/warshall.c: Now work on arrays of bitsets.
584
585 2002-03-04 Akim Demaille <akim@epita.fr>
586
587 * src/print.c: Convert to use bitset.h, not hand coded iterations
588 over ints.
589
590 2002-03-04 Akim Demaille <akim@epita.fr>
591
592 * src/reduce.c: Convert to use bitset.h, not hand coded BSet.
593
594 2002-03-04 Akim Demaille <akim@epita.fr>
595
596 * src/closure.c (ruleset): Be a bitset.
597 (rulesetsize): Remove.
598
599 2002-03-04 Akim Demaille <akim@epita.fr>
600
601 * lib/bitset-int.h, lib/bitset.c, lib/bitset.h, lib/bitsetv.c,
602 * lib/bitsetv.h, lib/ebitset.c, lib/ebitset.h, lib/lbitset.c,
603 * lib/lbitset.h, lib/sbitset.c, lib/sbitset.h: New.
604 * src/closure.c (fderives): Be an array of bitsets.
605
606 2002-02-28 Robert Anisko <robert@lrde.epita.fr>
607
608 * data/bison.c++: Merge the two generated headers. Insert a copyright
609 notice in each output file.
610
611 2002-02-28 Akim Demaille <akim@epita.fr>
612
613 * data/bison.c++: Copy the prologue of bison.simple to fetch
614 useful M4 definitions, such as b4_header_guard.
615
616 2002-02-25 Akim Demaille <akim@epita.fr>
617
618 * src/getargs.c (version): Give the name of the authors, and use a
619 translator friendly scheme for the bgr
620 copyright notice.
621
622 2002-02-25 Akim Demaille <akim@epita.fr>
623
624 * src/output.c (header_output): Remove, now handled completely via
625 M4.
626
627 2002-02-25 Akim Demaille <akim@epita.fr>
628
629 * m4/m4.m4: New, from CVS Autoconf.
630 * configure.in: Invoke it.
631 * src/output.c (output_skeleton): Use its result instead of the
632 hard coded name.
633
634 2002-02-25 Akim Demaille <akim@epita.fr>
635
636 * lib/tempname.c, lib/mkstemp.c, m4/mkstemp.m4: New, stolen from
637 Fileutils 4.1.5.
638 * configure.in: Invoke UTILS_FUNC_MKSTEMP.
639 * src/output.c (output_skeleton): Use mkstemp to create a real
640 temporary file.
641 Move the filling of `skeleton' and its muscle to...
642 (prepare): here.
643 (output): Move the definition of the prologue muscle to...
644 (prepare): here.
645 * src/system.h (DEFAULT_TMPDIR): New.
646
647 2002-02-14 Paul Eggert <eggert@twinsun.com>
648
649 Remove the support for C++ namespace cleanliness; it was
650 causing more problems than it was curing, since it didn't work
651 properly on some nonstandard C++ compilers. This can wait
652 for a proper C++ parser.
653
654 * NEWS: Document this.
655 * doc/bison.texinfo (Bison Parser, Debugging): Remove special mention
656 of C++, as it's treated like C now.
657 * src/bison.simple (YYSTD): Remove.
658 (YYSIZE_T, YYFPRINTF, YYPARSE_PARAM_ARG, YYPARSE_PARAM_DECL):
659 Treat C++ just like Standard C instead of trying to support
660 namespace cleanliness.
661
662 2002-02-14 Akim Demaille <akim@epita.fr>
663
664 * tests/regression.at (else): Adjust to Andreas' change.
665
666 2002-02-14 Akim Demaille <akim@epita.fr>
667
668 * lib/Makefile.am (EXTRA_DIST): Ship strnlen.c.
669
670 2002-02-13 Andreas Schwab <schwab@suse.de>
671
672 * src/output.c (output_rule_data): Don't output NULL, it might
673 not be defined yet.
674
675 2002-02-11 Robert Anisko <robert@lrde.epita.fr>
676
677 * data/bison.c++ (YYDEBUG, YYERROR_VERBOSE): After the prologue.
678 (Copyright notice): Update.
679
680 2002-02-11 Akim Demaille <akim@epita.fr>
681
682 * tests/regression.at (%nonassoc and eof): Don't include
683 nonportable headers.
684
685 2002-02-08 Robert Anisko <robert@lrde.epita.fr>
686
687 * data/bison.c++: Correct error recovery. Make the user able to
688 initialize the starting location.
689
690 2002-02-07 Akim Demaille <akim@epita.fr>
691
692 * tests/input.at: New.
693
694 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
695
696 * data/bison.c++: Replace some direct m4 expansions by constants. Be
697 more consistent when naming methods and variables. Put preprocessor
698 directives around tables only needed for debugging.
699
700 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
701
702 * data/bison.c++ (yy::b4_name::print_): New method, replaces yyprint in
703 C++ parsers.
704 (yy::b4_name::parse): Use print_.
705
706 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
707
708 * data/bison.c++ (yy::b4_name::parse): Error recovery is back.
709
710 2002-02-07 Robert Anisko <robert@lrde.epita.fr>
711
712 * data/bison.c++ (yy::b4_name::error_): New method, replaces yyerror in
713 C++ parsers.
714 (yy::b4_name::parse): Build verbose error messages, and use error_.
715
716 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
717
718 * data/bison.c++: Fix m4 quoting in comments.
719
720 2002-02-06 Robert Anisko <robert@lrde.epita.fr>
721
722 * data/bison.c++: Adjust the parser code. Fix some muscles that were
723 not expanded by m4.
724
725 2002-02-05 Akim Demaille <akim@epita.fr>
726
727 * data/bison.c++: Adjust to the M4 back end.
728 More is certainly needed.
729
730 2002-02-05 Akim Demaille <akim@epita.fr>
731
732 Give a try to M4 as a back end.
733
734 * lib/readpipe.c: New, from wdiff.
735 * src/Makefile.am (DEFS): Define PKGDATADIR, not BISON_SIMPLE and
736 BISON_HAIRY.
737 * src/system.h (BISON_HAIRY, BISON_SIMPLE): Remove the DOS and VMS
738 specific values. Now it is m4 that performs the lookup.
739 * src/parse-skel.y: Remove.
740 * src/muscle_tab.c, src/muscle_tab.h (muscles_m4_output): New.
741 * src/output.c (actions_output, guards_output)
742 (token_definitions_output): No longer keeps track of the output
743 line number, hence remove the second argument.
744 (guards_output): Check against the guard member of a rule, not the
745 action member.
746 Adjust callers.
747 (output_skeleton): Don't look for the skeleton location, let m4 do
748 that.
749 Create `/tmp/muscles.m4'. This is temporary, a proper temporary
750 file will be used.
751 Invoke `m4' on m4sugar.m4, muscles.m4, and the skeleton.
752 (prepare): Given that for the time being changesyntax is not
753 usable in M4, rename the muscles using `-' to `_'.
754 Define `defines_flag', `output_parser_name' and `output_header_name'.
755 * src/output.h (actions_output, guards_output)
756 (token_definitions_output): Adjust prototypes.
757 * src/scan-skel.l: Instead of scanning the skeletons, it now
758 processes the output of m4: `__oline__' and `#output'.
759 * data/bison.simple: Adjust to be used by M4(sugar).
760 * tests/Makefile.am: Use check_SCRIPTS to make sure `bison' is up
761 to date.
762 * tests/bison.in: Use the secrete envvar `BISON_PKGDATADIR'
763 instead of the dead `BISON_SIMPLE' and `BISON_HAIRY'.
764 * data/m4sugar/m4sugar.m4, data/m4sugar/version.m4: New,
765 shamelessly stolen from CVS Autoconf.
766
767 2002-02-05 Akim Demaille <akim@epita.fr>
768
769 * lib/hash.c, lib/hash.h: Replace with Fileutils 4.1's version.
770 * configure.in: Check for the declarations of free and malloc.
771 * src/muscle_tab.c: Adjust.
772
773 2002-02-05 Akim Demaille <akim@epita.fr>
774
775 * src/muscle_tab.c (muscle_init): Don't default to NULL muscle
776 which have no values.
777
778 2002-02-05 Akim Demaille <akim@epita.fr>
779
780 * src/bison.simple, src/bison.hairy, src/bison.c++: Move to...
781 * data/: here.
782
783 2002-01-29 Paul Eggert <eggert@twinsun.com>
784
785 * src/bison.simple (YYSIZE_T): Do not define merely because
786 YYSTACK_USE_ALLOCA is nonzero or alloca or _ALLOCA_H are defined.
787 On some platforms, <alloca.h> does not declare YYSTD (size_t).
788
789 2002-01-27 Akim Demaille <akim@epita.fr>
790
791 Fix `%nonassoc and eof'.
792
793 * src/state.c (errs_dup): Aaaah! The failure was due to bytes
794 which were not properly copied! Replace
795 memcpy (res->errs, src->errs, src->nerrs);
796 with
797 memcpy (res->errs, src->errs, src->nerrs * sizeof (src->errs[0]));
798 !!!
799 * tests/regression.at (%nonassoc and eof): Adjust to newest
800 Autotest: `.' is not in the PATH.
801
802 2002-01-27 Akim Demaille <akim@epita.fr>
803
804 * tests/sets.at (AT_EXTRACT_SETS): New.
805 (Nullable): Use it.
806 (Firsts): New.
807
808 2002-01-26 Akim Demaille <akim@epita.fr>
809
810 * tests/actions.at, tests/calc.at, tests/headers.at,
811 * tests/torture.at: Adjust to the newest Autotest which no longer
812 forces `.' in the PATH.
813
814 2002-01-25 Akim Demaille <akim@epita.fr>
815
816 * tests/regression.at (%nonassoc and eof): New.
817 Suggested by Robert Anisko.
818
819 2002-01-24 Akim Demaille <akim@epita.fr>
820
821 Bison dumps core when trying to complain about broken input files.
822 Reported by Cris van Pelt.
823
824 * src/lex.c (parse_percent_token): Be sure to set token_buffer.
825 * tests/regression.at (Invalid input: 1, Invalid input: 2): Merge
826 into...
827 (Invalid inputs): Strengthen: exercise parse_percent_token.
828
829 2002-01-24 Robert Anisko <robert.anisko@epita.fr>
830
831 * src/Makefile.am: Add bison.c++.
832 * src/bison.c++: New skeleton.
833
834 2002-01-21 Paolo Bonzini <bonzini@gnu.org>
835
836 * po/it.po: New.
837
838 2002-01-21 Kees Zeelenberg <kzlg@users.sourceforge.net>
839
840 * src/files.c (skeleton_find) [MSDOS]: Fix cp definition.
841
842 2002-01-20 Marc Autret <marc@gnu.org>
843
844 * src/files.c (compute_output_file_names): Fix
845
846 2002-01-20 Marc Autret <marc@gnu.org>
847
848 * tests/output.at: New test.
849 * src/files.c (compute_base_names): Don't map extensions when
850 the YACC flag is set, use defaults.
851 Reported by Evgeny Stambulchik.
852
853 2002-01-20 Marc Autret <marc@gnu.org>
854
855 * src/system.h: Need to define __attribute__ away for non-GCC
856 compilers as well (i.e. the vendor C compiler).
857 Suggested by Albert Chin-A-Young.
858
859 2002-01-11 Tim Van Holder <tim.van.holder@pandora.be>
860
861 * lib/hash.h, lib/hash.c: Renamed __P to PARAMS and used the
862 canonical definition.
863 * src/system.h: Use the canonical definition for PARAMS (avoids
864 a conflict with the macro from lib/hash.h).
865
866 2002-01-11 Akim Demaille <akim@epita.fr>
867
868 * configure.in: Use AC_FUNC_STRNLEN.
869 Fixes the failures observed on AIX 4.3 by H.Merijn Brand.
870
871 2002-01-09 Akim Demaille <akim@epita.fr>
872
873 * src/files.c, src/files.h (output_infix): New.
874 (tab_extension): Remove.
875 (compute_base_names): Compute the former, drop the latter.
876 * src/output.c (prepare): Insert the muscles `output-infix', and
877 `output-suffix'.
878 * src/parse-skel.y (string, string.1): New.
879 (section.header): Use it.
880 (section.yacc): Remove.
881 (prefix): Remove too.
882 * src/scan-skel.l: Adjust.
883 * src/bison.simple, src/bison.hairy: Adjust.
884
885 2002-01-09 Akim Demaille <akim@epita.fr>
886
887 * configure.in (WERROR_CFLAGS): Compute it.
888 * src/Makefile.am (CFLAGS): Pass it.
889 * tests/atlocal.in (CFLAGS): Idem.
890 * src/files.c: Fix a few warnings.
891 (get_extension_index): Remove, unused.
892
893 2002-01-08 Akim Demaille <akim@epita.fr>
894
895 * src/getargs.c (AS_FILE_NAME): New.
896 (getargs): Use it to convert DOSish file names.
897 * src/files.c (base_name): Rename as full_base_name to avoid
898 clashes with `base_name ()'.
899 (filename_split): New.
900 (compute_base_names): N-th rewrite, using filename_split.
901
902 2002-01-08 Akim Demaille <akim@epita.fr>
903
904 * lib/basename.c, lib/dirname.h, lib/dirname.c, lib/memrchr.c:
905 New, stolen from the Fileutils 4.1.
906 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
907 * configure.in: Check for the presence of memrchr, and of its
908 prototype.
909
910 2002-01-07 Tim Van Holder <tim.van.holder@pandora.be>
911
912 * lib/hash.h (__P): Added definition for this macro.
913 * src/Makefile.am: Add parse-skel.c and scan-skel.c to
914 BUILT_SOURCES, to ensure they are generated first.
915 * src/parse-skel.y: Use YYERROR_VERBOSE instead of
916 %error-verbose to allow bootstrapping with bison 1.30x.
917
918 2002-01-06 Akim Demaille <akim@epita.fr>
919
920 * src/reader.c (parse_braces): Don't fetch the next char, the
921 convention is to fetch on entry.
922 * tests/torture.at (GNU Cim Grammar): Reintroduce their weird
923 'switch' without a following semicolon.
924 * tests/regression.at (braces parsing): New.
925
926 2002-01-06 Akim Demaille <akim@epita.fr>
927
928 Bison is dead wrong in its RR conflict reports.
929
930 * tests/torture.at (GNU Cim Grammar): New.
931 * src/conflicts.c (count_rr_conflicts): Fix.
932
933 2002-01-06 Akim Demaille <akim@epita.fr>
934
935 Creating package.m4 from configure.ac causes too many problems.
936
937 * tests/Makefile.am (package.m4): Create it by hand,
938 AC_CONFIG_TESTDIR no longer does in the most recent CVS Autoconf.
939
940 2002-01-06 Akim Demaille <akim@epita.fr>
941
942 * src/Makefile.am (bison_SOURCES): Add parse-skel.h and
943 skeleton.h.
944
945 2002-01-04 Paul Eggert <eggert@twinsun.com>
946
947 * doc/bison.texinfo (Debugging):
948 Remove YYSTDERR; it's no longer defined or used.
949 Also, s/cstdio.h/cstdio/.
950
951 2002-01-03 Akim Demaille <akim@epita.fr>
952
953 * tests/bison.in, tests/atlocal.in: Adjust to CVS Autoconf.
954
955 2002-01-03 Akim Demaille <akim@epita.fr>
956
957 * src/parse-skel.y (process_skeleton): Don't bind the parser's
958 tracing code to --trace, wait for a better --trace option, with
959 args.
960
961 2002-01-03 Akim Demaille <akim@epita.fr>
962
963 * src/bison.simple (YYSTDERR): Remove, replace `stderr'.
964 The ISO C++ standard is extremely clear about it: stderr is
965 considered a macro, not a regular symbol (see table 94 `Header
966 <cstdio> synopsis', [lib.c.files] 27.8.2 C Library files).
967 Therefore std:: does not apply to it. It still does with fprintf.
968 Also, s/cstdio.h/cstdio/.
969
970 2002-01-03 Akim Demaille <akim@epita.fr>
971
972 * lib/quotearg.c: Use `#include "..."' instead of `#include <...>'
973 for non system headers.
974
975 2002-01-02 Akim Demaille <akim@epita.fr>
976
977 Equip the skeleton chain with location tracking, runtime trace,
978 pure parser and scanner.
979
980 * src/parse-skel.y: Request a pure parser, locations, and prefix
981 renaming.
982 (%union): Having several members with the same type does not help
983 type mismatches, simplify.
984 (YYPRINT, yyprint): New.
985 (yyerror): ``Rename'' (there is a #define yyerror skel_error) as...
986 (skel_error): this.
987 Handle locations.
988 * src/scan-skel.l: Adjust to these changes.
989 * src/skeleton.h (LOCATION_RESET, LOCATION_LINES, LOCATION_STEP)
990 (LOCATION_PRINT, skel_control_t): New.
991
992 2001-12-30 Akim Demaille <akim@epita.fr>
993
994 * src/parse-skel.y: Get rid of the shift/reduce conflict:
995 replace `gb' with BLANKS.
996 * src/scan-skel.l: Adjust.
997
998 2001-12-30 Akim Demaille <akim@epita.fr>
999
1000 * src/system.h: We don't need nor want bcopy.
1001 Throw away MS-DOS crap: we don't need getpid.
1002 * configure.in: We don't need strndup. It was even causing
1003 problems: because Flex includes the headers *before* us,
1004 _GNU_SOURCE is not defined by config.h, and therefore strndup was
1005 not visible.
1006 * lib/xstrndup.c: New.
1007 * src/scan-skel.l: Use it.
1008 Be sure to initialize yylval.muscle member when scanning a MUSCLE.
1009 * src/parse-skel.y: Use %directives instead of #defines.
1010
1011 2001-12-30 Akim Demaille <akim@epita.fr>
1012
1013 * src/skeleton.h: New.
1014 * src/output.c (output_parser, output_master_parser): Remove, dead
1015 code.
1016 * src/output.h (get_lines_number, actions_output, guards_output)
1017 (token_definitions_output): Prototype them.
1018 * src/parse-skel.y: Add the license notice.
1019 Include output.h and skeleton.h.
1020 (process_skeleton): Returns void, and takes a single parameter.
1021 * src/scan-skel.l: Add the license notice.
1022 Include skeleton.h.
1023 Don't use %option yylineno: it seems that then Flex imagines
1024 REJECT has been used, and therefore it won't reallocate its
1025 buffers (which makes no other sense to me than a bug). It results
1026 in warnings for `unused: yy_flex_realloc'.
1027
1028 2001-12-30 Robert Anisko <robert.anisko@epita.fr>
1029
1030 * src/muscle_tab.h (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
1031 (MUSCLE_INSERT_PREFIX): ...to there.
1032 * src/output.c (MUSCLE_INSERT_INT, MUSCLE_INSERT_STRING)
1033 (MUSCLE_INSERT_PREFIX): Move from here...
1034
1035 * src/bison.hairy: Add a section directive. Put braces around muscle
1036 names. This parser skeleton is still broken, but Bison should not
1037 choke on a bad muscle 'syntax'.
1038 * src/bison.simple: Add a section directive. Put braces around muscle
1039 names.
1040
1041 * src/files.h (strsuffix, stringappend): Add declarations.
1042 (tab_extension): Add declaration.
1043 (short_base_name): Add declaration.
1044
1045 * src/files.c (strsuffix, stringappend): No longer static. These
1046 functions are used in the skeleton parser.
1047 (tab_extension): New.
1048 (compute_base_names): Use the computations done in this function
1049 to guess if the generated parsers should have '.tab' in their
1050 names.
1051 (short_base_name): No longer static.
1052
1053 * src/output.c (output_skeleton): New.
1054 (output): Disable call to output_master_parser, and give a try to
1055 a new skeleton handling system.
1056 (guards_output, actions_output): No longer static.
1057 (token_definitions_output, get_lines_number): No longer static.
1058
1059 * configure.in: Use AM_PROG_LEX and AC_PROG_YACC.
1060
1061 * src/Makefile.am (bison_SOURCES): Add scan-skel.l and
1062 parse-skel.y.
1063
1064 * src/parse-skel.y: New file.
1065 * src/scan-skel.l: New file.
1066
1067 2001-12-29 Akim Demaille <akim@epita.fr>
1068
1069 %name-prefix is broken.
1070
1071 * src/files.c (spec_name_prefix): Initialize to NULL, not to "yy".
1072 Adjust all dependencies.
1073 * tests/headers.at (export YYLTYPE): Strengthen this test: use
1074 %name-prefix.
1075
1076 Renaming yylval but not yylloc is not consistent. Now we do.
1077
1078 * src/bison.simple: Prefix yylloc if used.
1079 * doc/bison.texinfo (Decl Summary): Document that.
1080
1081 2001-12-29 Akim Demaille <akim@epita.fr>
1082
1083 * doc/bison.texinfo: Promote `%long-directive' over
1084 `%long_directive'.
1085 Remove all references to fixed-output-files, yacc is enough.
1086
1087 2001-12-29 Akim Demaille <akim@epita.fr>
1088
1089 * src/bison.simple: Define YYDEBUG and YYERROR_VERBOSE *after* the
1090 user prologue. These are defaults.
1091 * tests/actions.at (Mid-rule actions): Make sure the user can
1092 define YYDEBUG and YYERROR_VERBOSE.
1093
1094 2001-12-29 Akim Demaille <akim@epita.fr>
1095
1096 * src/output.c (header_output): Don't forget to export YYLTYPE and
1097 yylloc.
1098 * tests/headers.at (export YYLTYPE): New, make sure it does.
1099 * tests/regression.at (%union and --defines, Invalid CPP headers):
1100 Move to...
1101 * tests/headers.at: here.
1102
1103 2001-12-29 Akim Demaille <akim@epita.fr>
1104
1105 * src/gram.h (rule_s): Member `assoc' is of type `associativity'.
1106
1107 2001-12-29 Akim Demaille <akim@epita.fr>
1108
1109 * tests/actions.at (Mid-rule actions): Output on a single line
1110 instead of several.
1111
1112 2001-12-29 Akim Demaille <akim@epita.fr>
1113
1114 * doc/bison.texinfo: Formatting changes.
1115
1116 2001-12-29 Akim Demaille <akim@epita.fr>
1117
1118 Don't store the token defs in a muscle, just be ready to output it
1119 on command. Now possible via `symbols'. Fixes a memory leak.
1120
1121 * src/output.c (token_definitions_output): New.
1122 (output_parser, header_output): Use it.
1123 * src/reader.c (symbols_save): Remove.
1124
1125 2001-12-29 Akim Demaille <akim@epita.fr>
1126
1127 * src/bison.simple: Do not provide a default for YYSTYPE and
1128 YYLTYPE before the user's prologue. Otherwise it's hardly... a
1129 default.
1130
1131 2001-12-29 Akim Demaille <akim@epita.fr>
1132
1133 Mid-rule actions are simply... ignored!
1134
1135 * src/reader.c (readgram): Be sure to attach mid-rule actions to
1136 the empty-rule associated to the dummy symbol, not to the host
1137 rule.
1138 * tests/actions.at (Mid-rule actions): New.
1139
1140 2001-12-29 Akim Demaille <akim@epita.fr>
1141
1142 Memory leak.
1143
1144 * src/reader.c (reader): Free grammar.
1145
1146 2001-12-29 Akim Demaille <akim@epita.fr>
1147
1148 Memory leak.
1149
1150 * src/LR0.c (new_itemsets): Don't allocate `shift_symbol' here,
1151 since it allocates it for each state, although only one is needed.
1152 (allocate_storage): Do it here.
1153
1154 2001-12-29 Akim Demaille <akim@epita.fr>
1155
1156 * src/options.h, src/options.c (create_long_option_table): Rename
1157 as...
1158 (long_option_table_new): this, with a clearer prototype.
1159 (percent_table): Remove, unused,
1160 * src/getargs.c (getargs): Adjust.
1161
1162 2001-12-29 Akim Demaille <akim@epita.fr>
1163
1164 * src/LR0.c, src/conflicts.c, src/lalr.c, src/lalr.h, src/output.c
1165 * src/print.c, src/print_graph.c, src/state.h: Rename state_table
1166 as states.
1167
1168 2001-12-29 Akim Demaille <akim@epita.fr>
1169
1170 * src/lalr.c (build_relations): Rename `states' as `states1'.
1171 Sorry, I don't understand exactly what it is, no better name...
1172
1173 2001-12-29 Akim Demaille <akim@epita.fr>
1174
1175 * src/closure.c, src/conflicts.c, src/derives.c, src/gram.c
1176 * src/gram.h, src/lalr.c, src/nullable.c, src/output.c, src/print.c
1177 * src/print_graph.c, src/reader.c, src/reduce.c: Rename rule_table
1178 as rules.
1179
1180 2001-12-29 Akim Demaille <akim@epita.fr>
1181
1182 * src/gram.c (rprec, rprecsym, rassoc): Remove, unused since long
1183 ago.
1184
1185 2001-12-29 Akim Demaille <akim@epita.fr>
1186
1187 * src/reader.c, src/reader.h (user_toknums): Remove.
1188 Adjust all users to use symbols[i]->user_token_number.
1189
1190 2001-12-29 Akim Demaille <akim@epita.fr>
1191
1192 * src/gram.c, src/gram.h (sprec, sassoc): Remove.
1193 Adjust all users to use symbols[i]->prec or ->assoc.
1194
1195 2001-12-29 Akim Demaille <akim@epita.fr>
1196
1197 * src/reader.c, src/reader.h (tags): Remove.
1198 Adjust all users to use symbols[i]->tag.
1199
1200 2001-12-29 Akim Demaille <akim@epita.fr>
1201
1202 * src/gram.h, src/gram.c (symbols): New, similar to state_table
1203 and rule_table.
1204 * src/reader.c (packsymbols): Fill this table.
1205 Drop sprec.
1206 * src/conflicts.c (resolve_sr_conflict): Adjust.
1207 * src/reduce.c (reduce_grammar): Adjust: just sort symbols, a
1208 single table.
1209 Use symbols[i]->tag instead of tags[i].
1210
1211 2001-12-29 Akim Demaille <akim@epita.fr>
1212
1213 * tests/calc.at (_AT_DATA_CALC_Y): Also use %union.
1214 In addition, put a comment in there, to replace...
1215 * tests/regression.at (%union and C comments): Remove.
1216
1217 2001-12-29 Akim Demaille <akim@epita.fr>
1218
1219 * tests/regression.at (Web2c Actions): Blindly move the actual
1220 output as expected output. The contents *seem* right to me, but I
1221 can't pretend reading perfectly parser tables... Nonetheless, all
1222 the other tests pass correctly, the table look OK, even though the
1223 presence of `$axiom' is to be noted: AFAICS it is useless (but
1224 harmless).
1225
1226 2001-12-29 Akim Demaille <akim@epita.fr>
1227
1228 * src/reader.c (readgram): Don't add the rule 0 if there were no
1229 rules read. In other words, add it _after_ having performed
1230 grammar sanity checks.
1231 Fixes the `tests/regression.at (Invalid input: 1)' Failure.
1232
1233 2001-12-29 Akim Demaille <akim@epita.fr>
1234
1235 * tests/regression.at (Web2c Report): Catch up: the rule 0 is now
1236 visible, and some states have now a different number.
1237
1238 2001-12-29 Akim Demaille <akim@epita.fr>
1239
1240 * src/reader.c (readgram): Bind the initial rule's lineno to that
1241 of the first rule.
1242 * tests/regression.at (Rule Line Numbers, Unresolved SR Conflicts):
1243 (Solved SR Conflicts): Adjust rule 0's line number.
1244
1245 2001-12-29 Akim Demaille <akim@epita.fr>
1246
1247 Fix the `GAWK Grammar' failure.
1248
1249 * src/LR0.c (final_state): Initialize to -1 so that we do compute
1250 the reductions of the first state which was mistakenly confused
1251 with the final state because precisely final_state was initialized
1252 to 0.
1253 * tests/sets.at (Nullable): Adjust: state 0 does have lookaheads,
1254 now noticed by Bison.
1255 * tests/regression.at (Rule Line Numbers): Adjust: state 0 does
1256 have a reduction on $default.
1257
1258 2001-12-29 Akim Demaille <akim@epita.fr>
1259
1260 * src/gram.c (ritem_print): Be sure to subtract 1 when displaying
1261 rule line numbers.
1262 * src/closure.c (print_closure): Likewise.
1263 * src/derives.c (print_derives): Likewise.
1264 * tests/sets.at (Nullable): Adjust: the rule numbers are correct
1265 now.
1266
1267 2001-12-29 Akim Demaille <akim@epita.fr>
1268
1269 * src/lalr.c (lookaheads_print): New.
1270 (lalr): Call it when --trace-flag.
1271 * tests/sets.at (Nullable): Adjust: when tracing, the lookaheads
1272 are dumped.
1273
1274 2001-12-29 Akim Demaille <akim@epita.fr>
1275
1276 * src/derives.c (print_derives): Be sure to use `>= 0', not `> 0',
1277 when walking through ritem, even via rule->rhs.
1278 * src/reduce.c (dump_grammar, useful_production, reduce_output)
1279 (useful_production, useless_nonterminals): Likewise.
1280 (reduce_grammar_tables): Likewise, plus update nritems.
1281 * src/nullable.c (set_nullable): Likewise.
1282 * src/lalr.c (build_relations): Likewise.
1283 * tests/sets.at (Nullable): Adjust.
1284 Fortunately, now, the $axiom is no longer nullable.
1285
1286 2001-12-29 Akim Demaille <akim@epita.fr>
1287
1288 * src/LR0.c (generate_states): Use nritems, not nitems, nor using
1289 the 0-sentinel.
1290 * src/gram.c (ritem_longest_rhs): Likewise.
1291 * src/reduce.c (nonterminals_reduce): Likewise.
1292 * src/print_graph.c (print_graph): Likewise.
1293 * src/output.c (output_rule_data): Likewise.
1294 * src/nullable.c (set_nullable): Likewise.
1295
1296 2001-12-29 Akim Demaille <akim@epita.fr>
1297
1298 * src/output.c: Comment changes.
1299
1300 2001-12-27 Paul Eggert <eggert@twinsun.com>
1301
1302 * src/bison.simple (YYSTACK_ALLOC, YYSIZE_T): Remove special
1303 cases for non-GNU systems like AIX, HP-UX, SGI, Sun, and
1304 Sparc, as they were causing more porting problems than the
1305 (minor) performance improvement was worth.
1306
1307 Also, catch up with 1.31's YYSTD.
1308
1309 2001-12-27 Akim Demaille <akim@epita.fr>
1310
1311 * src/output.c (output_gram): Rely on nritems, not the
1312 0-sentinel. See below.
1313 Use -1 as separator, not 0.
1314 * src/bison.simple (yyparse): Subtract 1 to the rule numbers.
1315 Rely on -1 as separator in yyrhs, instead of 0.
1316 * tests/calc.at (AT_CHECK_CALC): Now, the parsers no longer issue
1317 twice `Now at end of input', therefore there are two lines less to
1318 expect.
1319
1320 2001-12-27 Akim Demaille <akim@epita.fr>
1321
1322 * tests/regression.at (Unresolved SR Conflicts):
1323 (Solved SR Conflicts, Rule Line Numbers): Adjust to the changes
1324 below.
1325
1326 2001-12-27 Akim Demaille <akim@epita.fr>
1327
1328 * src/LR0.c (new_state): Recognize the final state by the fact it
1329 is reached by eoftoken.
1330 (insert_start_shifting_state, insert_eof_shifting_state)
1331 (insert_accepting_state, augment_automaton): Remove, since now
1332 these states are automatically computed from the initial state.
1333 (generate_states): Adjust.
1334 * src/print.c: When reporting a rule number to the user, substract
1335 1, so that the axiom rule is rule 0, and the first user rule is 1.
1336 * src/reduce.c: Likewise.
1337 * src/print_graph.c (print_core): For the time being, just as for
1338 the report, depend upon --trace-flags to dump the full set of
1339 items.
1340 * src/reader.c (readgram): Once the grammar read, insert the rule
1341 0: `$axiom: START-SYMBOL $'.
1342 * tests/set.at: Adjust: rule 0 is now displayed, and since the
1343 number of the states has changed (the final state is no longer
1344 necessarily the last), catch up.
1345
1346 2001-12-27 Akim Demaille <akim@epita.fr>
1347
1348 Try to make the use of the eoftoken valid. Given that its value
1349 is 0 which was also used as a sentinel in ritem, (i) make sure >= 0
1350 is used instead of > 0 where appropriate, (ii), depend upon nritems
1351 instead of the 0-sentinel.
1352
1353 * src/gram.h, src/gram.c (nritems): New.
1354 Expected to be duplication of nitems, but for the time being...
1355 * src/reader.c (packgram): Assert nritems and nitems are equal.
1356 * src/LR0.c (allocate_itemsets, new_itemsets): Adjust.
1357 * src/closure.c (print_closure, print_fderives): Likewise.
1358 * src/gram.c (ritem_print): Likewise.
1359 * src/print.c (print_core, print_grammar): Likewise.
1360 * src/print_graph.c: Likewise.
1361
1362 2001-12-27 Akim Demaille <akim@epita.fr>
1363
1364 * src/main.c (main): If there are complains after grammar
1365 reductions, then output the report anyway if requested, then die.
1366 * src/symtab.c (bucket_new): Initialize `value' to -1, not 0.
1367 * src/reader.c (eoftoken): New.
1368 (parse_token_decl): If the token being defined has value `0', it
1369 is the eoftoken.
1370 (packsymbols): No longer hack `tags' to insert `$' by hand.
1371 Be sure to preserve the value of the eoftoken.
1372 (reader): Make sure eoftoken is defined.
1373 Initialize nsyms to 0: now eoftoken is created just like the others.
1374 * src/print.c (print_grammar): Don't special case the eof token.
1375 * src/regression.at: Adjust: `$' has value 0, not -1, which was a
1376 lie anyway, albeit pleasant.
1377 * tests/calc.at: Exercise error messages with eoftoken.
1378 Change the grammar so that empty input is invalid.
1379 Adjust expectations.
1380 When yyungeting, be sure to use a valid yylloc: use last_yylloc.
1381
1382 2001-12-27 Akim Demaille <akim@epita.fr>
1383
1384 * configure.in: Check the protos of strchr ans strspn.
1385 Replace strchr if needed.
1386 * src/system.h: Provide the protos of strchr, strspn and memchr if
1387 missing.
1388 * lib/strchr.c: New.
1389 * src/reader.c (symbols_save): Use strchr.
1390
1391 2001-12-27 Akim Demaille <akim@epita.fr>
1392
1393 * src/print.c, src/print_graph.c (escape): New.
1394 Use it to quote the TAGS outputs.
1395 * src/print_graph.c (print_state): Now errors are in red, and
1396 reductions in green.
1397 Prefer high to wide: output the state number on a line of its own.
1398
1399 2001-12-27 Akim Demaille <akim@epita.fr>
1400
1401 * src/state.h, src/state.c (reductions_new): New.
1402 * src/LR0.c (set_state_table): Let all the states have a
1403 `reductions', even if reduced to 0.
1404 (save_reductions): Adjust.
1405 * src/lalr.c (initialize_LA, initialize_lookaheads): Adjust.
1406 * src/print.c (print_reductions, print_actions): Adjust.
1407 * src/output.c (action_row): Adjust.
1408
1409 2001-12-27 Akim Demaille <akim@epita.fr>
1410
1411 * src/state.h, src/state.c (errs_new, errs_dup): New.
1412 * src/LR0.c (set_state_table): Let all the states have an errs,
1413 even if reduced to 0.
1414 * src/print.c (print_errs, print_reductions): Adjust.
1415 * src/output.c (output_actions, action_row): Adjust.
1416 * src/conflicts.c (resolve_sr_conflict): Adjust.
1417
1418 2001-12-27 Akim Demaille <akim@epita.fr>
1419
1420 * src/lalr.c (set_goto_map, initialize_F): Use SHIFT_SYMBOL.
1421
1422 2001-12-27 Akim Demaille <akim@epita.fr>
1423
1424 * src/conflicts.c, src/conflicts.h (print_reductions): Move to...
1425 * src/print.c: here.
1426 (lookaheadset, shiftset): New, used as additional storage by
1427 print_reductions.
1428 (print_results): Adjust.
1429 (print_shifts, print_gotos, print_errs): New, extracted from...
1430 (print_actions): here.
1431 * src/print_graph.c (print_actions): Remove dead code.
1432
1433 2001-12-27 Akim Demaille <akim@epita.fr>
1434
1435 * src/reader.c (copy_dollar, copy_at): Better checking of `n' in
1436 `$n' and `@n'.
1437
1438 2001-12-27 Akim Demaille <akim@epita.fr>
1439
1440 * src/lalr.c (add_lookback_edge): Use state_t instead of ints.
1441 (build_relations): Adjust.
1442
1443 2001-12-27 Akim Demaille <akim@epita.fr>
1444
1445 * src/lalr.c (set_goto_map): Remove a wrong but benign loop
1446 duplication.
1447
1448 2001-12-27 Akim Demaille <akim@epita.fr>
1449
1450 * src/reader.c (packgram): Catch nitems overflows.
1451
1452 2001-12-27 Akim Demaille <akim@epita.fr>
1453
1454 * src/files.c, src/files.h (guard_obstack): Remove.
1455 * src/output.c (output): Adjust.
1456 * src/reader.c (parse_braces): New, factoring...
1457 (copy_action, copy_guard): these two which are renamed as...
1458 (parse_action, parse_guard): these.
1459 As a voluntary consequence, using braces around guards is now
1460 mandatory.
1461
1462 2001-12-27 Akim Demaille <akim@epita.fr>
1463
1464 * src/gram.h (rule_t): `guard' and `guard_line' are new members.
1465 * src/reader.c (symbol_list): `guard' and `guard_line' are new
1466 members.
1467 (symbol_list_new): Adjust.
1468 (copy_action): action_line is the first line, not the last.
1469 (copy_guard): Just as for actions, store the `action' only, not
1470 the switch/case/break flesh.
1471 Don't parse the user action that might follow the guard, let...
1472 (readgram): do it, i.e., now, there can be an action after a
1473 guard.
1474 In other words the guard is just explicitly optional.
1475 (packgram): Adjust.
1476 * src/output.c (guards_output): New.
1477 (output_parser): Call it when needed.
1478 (output): Also free the guard and attrs obstacks.
1479 * src/files.c, src/files.h (obstack_save): Remove.
1480 (output_files): Remove.
1481 As a result, if one needs the former `.act' file, using an
1482 appropriate skeleton which requires actions and guards is now
1483 required.
1484 * src/main.c (main): Adjust.
1485 * tests/semantic.at: New.
1486 * tests/regression.at: Use `input.y' as input file name.
1487 Avoid 8+3 problems by requiring input.c when the test needs the
1488 parser.
1489
1490 2001-12-27 Akim Demaille <akim@epita.fr>
1491
1492 * src/reader.c (symbol_list_new): Be sure to initialize all the
1493 fields.
1494
1495 2001-12-27 Akim Demaille <akim@epita.fr>
1496
1497 All the hacks using a final pseudo state are now useless.
1498
1499 * src/LR0.c (set_state_table): state_table holds exactly nstates.
1500 * src/lalr.c (nLA): New.
1501 (initialize_LA, compute_lookaheads, initialize_lookaheads): Use it
1502 instead of lookaheadsp from the pseudo state (nstate + 1).
1503
1504 2001-12-27 Akim Demaille <akim@epita.fr>
1505
1506 * src/output.c (action_row, token_actions): Use a state_t instead
1507 of a integer, and nlookaheads instead of the following state's
1508 lookaheadsp.
1509
1510 2001-12-27 Akim Demaille <akim@epita.fr>
1511
1512 * src/conflicts.c (log_resolution, flush_shift)
1513 (resolve_sr_conflict, set_conflicts, solve_conflicts)
1514 (count_sr_conflicts, count_rr_conflicts, conflicts_output)
1515 (conflicts_print, print_reductions): Use a state_t instead of an
1516 integer when referring to a state.
1517 As much as possible, depend upon nlookaheads, instead of the
1518 `lookaheadsp' member of the following state (since lookaheads of
1519 successive states are successive, the difference between state n + 1
1520 and n served as the number of lookaheads for state n).
1521 * src/lalr.c (add_lookback_edge): Likewise.
1522 * src/print.c (print_core, print_actions, print_state)
1523 (print_results): Likewise.
1524 * src/print_graph.c (print_core, print_actions, print_state)
1525 (print_graph): Likewise.
1526 * src/conflicts.h: Adjust.
1527
1528 2001-12-27 Akim Demaille <akim@epita.fr>
1529
1530 * src/bison.hairy: Formatting/comment changes.
1531 ANSIfy.
1532 Remove `register' indications.
1533 Add plenty of `static'.
1534
1535 2001-12-27 Akim Demaille <akim@epita.fr>
1536
1537 * src/output.c (prepare): Drop the muscle `ntbase' which
1538 duplicates ntokens.
1539 * src/bison.simple: Formatting/comment changes.
1540 Use YYNTOKENS only, which is documented, but not YYNTBASE, which
1541 is an undocumented synonym.
1542
1543 2001-12-22 Akim Demaille <akim@epita.fr>
1544
1545 * src/output.c (output_table_data): Change the prototype to use
1546 `int' for array ranges: some invocations do pass an int, not a
1547 short.
1548 Reported by Wayne Green.
1549
1550 2001-12-22 Akim Demaille <akim@epita.fr>
1551
1552 Some actions of web2c.y are improperly triggered.
1553 Reported by Mike Castle.
1554
1555 * src/lalr.c (traverse): s/F (i)[k] = F (j)[k]/F (j)[k] = F (i)[k]/.
1556 * tests/regression.at (Web2c): Rename as...
1557 (Web2c Report): this.
1558 (Web2c Actions): New.
1559
1560 2001-12-22 Akim Demaille <akim@epita.fr>
1561
1562 Reductions in web2c.y are improperly reported.
1563 Reported by Mike Castle.
1564
1565 * src/conflicts.c (print_reductions): Fix.
1566 * tests/regression.at (Web2c): New.
1567
1568 2001-12-18 Akim Demaille <akim@epita.fr>
1569
1570 Some host fail on `assert (!"foo")', which expands to
1571 ((!"foo") ? (void)0 : __assert("!"foo."", __FILE__, __LINE__))
1572 Reported by Nelson Beebee.
1573
1574 * src/output.c, src/vcg.c: Replace `assert (!"it succeeded")' with
1575 `#define it_succeeded 0' and `assert (it_succeeded)'.
1576
1577 2001-12-17 Marc Autret <autret_m@epita.fr>
1578
1579 * src/bison.simple: Don't hard code the skeleton line and filename.
1580 * src/output.c (output_parser): Rename 'line' as 'output_line'.
1581 New line counter 'skeleton_line' (skeleton-line muscle).
1582
1583 2001-12-17 Paul Eggert <eggert@twinsun.com>
1584
1585 * NEWS, doc/bison.texinfo, doc/bison.1, doc/bison.rnh: Document that
1586 YYDEBUG must be defined to a nonzero value.
1587
1588 * src/bison.simple (yytname): Do not assume that the user defines
1589 YYDEBUG to a properly parenthesized expression.
1590
1591 2001-12-17 Akim Demaille <akim@epita.fr>
1592
1593 * src/state.h (state_t): Rename lookaheads as lookaheadsp.
1594 nlookaheads is a new member.
1595 Adjust all users.
1596 * src/lalr.h (nlookaheads): Remove this orphan declaration.
1597 * src/lalr.c (initialize_lookaheads): Set nlookaheads for each
1598 state.
1599
1600 2001-12-17 Akim Demaille <akim@epita.fr>
1601
1602 * src/files.h, src/files.c (open_files, close_files): Remove.
1603 * src/main.c (main): Don't open/close files, nor invoke lex_free,
1604 let...
1605 * src/reader.c (reader): Do it.
1606
1607 2001-12-17 Akim Demaille <akim@epita.fr>
1608
1609 * src/conflicts.c (print_reductions): Formatting changes.
1610
1611 2001-12-17 Akim Demaille <akim@epita.fr>
1612
1613 * src/conflicts.c (flush_shift): Also adjust lookaheadset.
1614 (flush_reduce): New.
1615 (resolve_sr_conflict): Adjust.
1616
1617 2001-12-17 Akim Demaille <akim@epita.fr>
1618
1619 * src/output.c (output_obstack): Be static and rename as...
1620 (format_obstack): this, to avoid any confusion with files.c's
1621 output_obstack.
1622 * src/reader.h (muscle_obstack): Move to...
1623 * src/output.h: here, since it's defined in output.c.
1624
1625 2001-12-17 Akim Demaille <akim@epita.fr>
1626
1627 * src/output.c (action_row, save_column, default_goto)
1628 (sort_actions, matching_state, pack_vector): Better variable
1629 locality.
1630
1631 2001-12-17 Akim Demaille <akim@epita.fr>
1632
1633 * src/output.c: Various formatting changes.
1634
1635 2001-12-17 Akim Demaille <akim@epita.fr>
1636
1637 * src/files.c (output_files): Free the output_obstack.
1638 * src/main.c (main): Call print and print_graph conditionally.
1639 * src/print.c (print): Work unconditionally.
1640 * src/print_graph.c (print_graph): Work unconditionally.
1641 * src/conflicts.c (log_resolution): Output only if verbose_flag.
1642
1643 2001-12-16 Marc Autret <autret_m@epita.fr>
1644
1645 * src/output.c (actions_output): Fix. When we use %no-lines,
1646 there is one less line per action.
1647
1648 2001-12-16 Marc Autret <autret_m@epita.fr>
1649
1650 * src/bison.simple: Remove a useless #line directive.
1651 s/#line %%line %%skeleton/#line %%line "%%parser-file-name"/'.
1652 * src/output.c (get_lines_number): New.
1653 (output_parser): Adjust, now takes care about the lines of a
1654 output muscles.
1655 Fix line numbering.
1656 (actions_output): Computes the number of lines taken by actions.
1657 (output_master_parser): Insert new skeleton which is the name of
1658 the output parser file name.
1659
1660 2001-12-15 Marc Autret <autret_m@epita.fr>
1661
1662 * src/bison.simple [YYERROR_VERBOSE]: Restore backward compatibility.
1663
1664 2001-12-15 Marc Autret <autret_m@epita.fr>
1665
1666 * src/output.c (output_gram): Keep track of the hairy one.
1667
1668 2001-12-15 Akim Demaille <akim@epita.fr>
1669
1670 Make `make distcheck' work.
1671
1672 * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
1673 system.h which uses libgettext.h.
1674
1675 2001-12-15 Akim Demaille <akim@epita.fr>
1676
1677 * src/nullable.c (set_nullable): Useless rules must be skipped,
1678 otherwise, since we range over their symbols, we might look at a
1679 nonterminal which no longer ``exists'', i.e., it is not counted in
1680 `nvars', hence we overflow our arrays.
1681
1682 2001-12-15 Akim Demaille <akim@epita.fr>
1683
1684 The header can also be produced directly, without any obstack!
1685 Yahoo!
1686
1687 * src/files.c, src/files.h (defines_obstack): Remove.
1688 (compute_header_macro): Global.
1689 (defines_obstack_save): Remove.
1690 * src/reader.c (parse_union_decl): No longer output to
1691 defines_obstack: its content can be found in the `stype' muscle
1692 anyway.
1693 (output_token_translations): Merge into...
1694 (symbols_output): this.
1695 Rename as...
1696 (symbols_save): this.
1697 (reader): Adjust.
1698 * src/output.c (header_output): New.
1699 (output): Call it.
1700
1701 2001-12-15 Akim Demaille <akim@epita.fr>
1702
1703 * src/reader.c (parse_union_decl): Instead of handling two obstack
1704 simultaneously, use one to define the `stype' muscle, and use the
1705 value of the latter to fill defines_obstack.
1706 (copy_comment): Remove.
1707 (copy_comment2): Work for a single obstack.
1708 Rename as...
1709 (copy_comment): this.
1710
1711 2001-12-15 Akim Demaille <akim@epita.fr>
1712
1713 * src/lex.c, src/lex.h (xgetc): No longer static.
1714 * src/reader.c (parse_union_decl): Revamp.
1715
1716 2001-12-15 Akim Demaille <akim@epita.fr>
1717
1718 Still making progress in separating Bison into (i) input, (ii)
1719 process, (iii) output: now we can directly output the parser file
1720 without using table_obstack at all.
1721
1722 * src/files.c, src/files.h (table_obstack): Bye bye.
1723 (parser_file_name): New.
1724 * src/files.c (compute_output_file_names): Compute it.
1725 * src/output.c (actions_output, output_parser)
1726 (output_master_parser): To a file instead of an obstack.
1727
1728 2001-12-15 Akim Demaille <akim@epita.fr>
1729
1730 Attach actions to rules, instead of pre-outputting them to
1731 actions_obstack.
1732
1733 * src/gram.h (rule_t): action and action_line are new members.
1734 * src/reader.c (symbol_list): Likewise.
1735 (copy_action): Save the actions within the rule.
1736 (packgram): Save them in rule_table.
1737 * src/output.c (actions_output): New.
1738 (output_parser): Use it on `%%actions'.
1739 (output_rule_data): Don't free rule_table.
1740 (output): Do it.
1741 (prepare): Don't save the `action' muscle.
1742 * src/bison.simple: s/%%action/%%actions/.
1743
1744 2001-12-15 Akim Demaille <akim@epita.fr>
1745
1746 * src/reader.c (copy_action): When --yacc, don't append a `;'
1747 to the user action: let it fail if lacking.
1748 Suggested by Arnold Robbins and Tom Tromey.
1749
1750 2001-12-14 Akim Demaille <akim@epita.fr>
1751
1752 * src/lex.c (literalchar): Simply return the char you decoded, non
1753 longer mess around with obstacks and int pointers.
1754 Adjust all callers.
1755
1756 2001-12-14 Akim Demaille <akim@epita.fr>
1757
1758 * src/lex.c (literalchar): Don't escape the special characters,
1759 just decode them, and keep them as char (before, eol was output as
1760 the 2 char string `\n' etc.).
1761 * src/output.c (output_rule_data): Use quotearg to output the
1762 token strings.
1763
1764 2001-12-13 Paul Eggert <eggert@twinsun.com>
1765
1766 * src/bison.simple (YYSIZE_T, YYSTACK_ALLOC, YYSTACK_FREE):
1767 Do not infringe on the global user namespace when using C++.
1768 (YYFPRINTF, YYSTDERR): New macros, needed for the above.
1769 All uses of `fprintf' and `stderr' changed.
1770
1771 * doc/bison.texinfo: Document YYFPRINTF, YYSTDERR.
1772
1773 2001-12-13 Akim Demaille <akim@epita.fr>
1774
1775 The computation of nullable is broken: it doesn't handle empty
1776 RHS's properly.
1777
1778 * tests/torture.at (GNU AWK Grammar): New.
1779 * tests/sets.at (Nullable): New.
1780 * src/nullable.c (set_nullable): Instead of blindly looping over
1781 `ritems', loop over the rules, and then over their rhs's.
1782
1783 Work around Autotest bugs.
1784
1785 * src/warshall.c (bitmatrix_print): Don't use `+--+' as table
1786 frame, because Autotest understand lines starting with a `+' as
1787 traces from the shell. Then, they are not processed properly.
1788 Admittedly an Autotest bug, but we don't have time to wait for
1789 Autotest to catch up.
1790 * tests/regression.at (Broken Closure): Adjust to the new table
1791 frames.
1792 Move to...
1793 * tests/sets.at: here.
1794
1795 2001-12-13 Akim Demaille <akim@epita.fr>
1796
1797 * src/closure.c (closure): Use nrules instead of playing tricks
1798 with BITS_PER_WORD.
1799
1800 2001-12-13 Akim Demaille <akim@epita.fr>
1801
1802 * src/print.c (print_actions): Output the handling of `$' as the
1803 traces do: shifting the token EOF. Before EOF was treated as a
1804 nonterminal.
1805 * tests/regression.at: Adjust some tests.
1806 * src/print_graph.c (print_core): Complete the set of items via
1807 closure. The next-to-final and final states are still unsatisfying,
1808 but that's to be addressed elsewhere.
1809 No longer output the rule numbers, but do output the state number.
1810 A single loop for the shifts + gotos is enough, but picked a
1811 distinct color for each.
1812 (print_graph): Initialize and finalize closure.
1813
1814 2001-12-13 Akim Demaille <akim@epita.fr>
1815
1816 * src/reader.c (readgram): Remove dead code, an strip useless
1817 braces.
1818 (get_type): Remove, unused.
1819
1820 2001-12-12 Akim Demaille <akim@epita.fr>
1821
1822 * src/complain.h, src/complain.c: Remove error_one_per_line, rely
1823 on that of lib/error.c.
1824
1825 2001-12-12 Akim Demaille <akim@epita.fr>
1826
1827 Some hosts don't like `/' in includes.
1828
1829 * src/system.h: Include libgettext.h without qualifying the path.
1830 * src/Makefile.am (INCLUDES): Add $(top_srcdir)/intl, remove
1831 $(top_srcdir).
1832
1833 2001-12-11 Marc Autret <autret_m@epita.fr>
1834
1835 * src/output.c (output_parser): Remove useless muscle.
1836
1837 2001-12-11 Marc Autret <autret_m@epita.fr>
1838
1839 * src/bison.simple: Remove #line just before %%epilogue. It
1840 is now handled in ...
1841 * src/reader.c (read_additionnal_code): Add the output of a
1842 #line for the epilogue.
1843
1844 2001-12-10 Marc Autret <autret_m@epita.fr>
1845
1846 * src/reader.c (copy_definition): Re-use CPP-outed code which
1847 replace precedent remove.
1848 * src/bison.simple: Remove #line before %%prologue because
1849 %%input-line is wrong at this time.
1850
1851 2001-12-10 Marc Autret <autret_m@epita.fr>
1852
1853 * src/reader.c (symbols_output): Clean up.
1854 * src/output.c (output_gram, output): Clean up.
1855
1856 2001-12-10 Akim Demaille <akim@epita.fr>
1857
1858 * src/lalr.c (initialize_lookaheads): New. Extracted from...
1859 * src/LR0.c (set_state_table): here.
1860 * src/lalr.c (lalr): Call it.
1861
1862 2001-12-10 Akim Demaille <akim@epita.fr>
1863
1864 * src/state.h (shifts): Remove the `number' member: shifts are
1865 attached to state, hence no longer need to be labelled with a
1866 state number.
1867
1868 2001-12-10 Akim Demaille <akim@epita.fr>
1869
1870 Now that states have a complete set of members, the linked list of
1871 shifts is useless: just fill directly the state's shifts member.
1872
1873 * src/state.h (shifts): Remove the `next' member.
1874 * src/LR0.c (first_state, last_state): Remove.
1875 Adjust the callers.
1876 (augment_automaton): Don't look for the shifts that must be added
1877 a shift on EOF: it is those of the state we looked for! But now,
1878 since shifts are attached, it is no longer needed to looking
1879 merely by its id: its number.
1880
1881 2001-12-10 Akim Demaille <akim@epita.fr>
1882
1883 * src/LR0.c (augment_automaton): Better variable locality.
1884 Remove an impossible branch: if there is a state corresponding to
1885 the start symbol being shifted, then there is shift for the start
1886 symbol from the initial state.
1887
1888 2001-12-10 Akim Demaille <akim@epita.fr>
1889
1890 * src/LR0.c (augment_automaton): Call `insert_eof_shifting_state'
1891 only when appropriate: when insert_start_shifting_state' is not
1892 invoked.
1893 * tests/regression.at (Rule Line Numbers): Adjust.
1894
1895 2001-12-10 Akim Demaille <akim@epita.fr>
1896
1897 * src/LR0.c (augment_automaton): Now that all states have shifts,
1898 merge the two cases addition shifts to the initial state.
1899
1900 2001-12-10 Akim Demaille <akim@epita.fr>
1901
1902 * src/lalr.c (set_state_table): Move to...
1903 * src/LR0.c: here.
1904 * src/lalr.c (lalr): Don't call it...
1905 * src/LR0.c (generate_states): do it.
1906 * src/LR0.h (first_state): Remove, only the table is used.
1907
1908 2001-12-10 Akim Demaille <akim@epita.fr>
1909
1910 * src/LR0.h (first_shift, first_reduction): Remove.
1911 * src/lalr.c: Don't use first_shift: find shifts through the
1912 states.
1913
1914 2001-12-10 Akim Demaille <akim@epita.fr>
1915
1916 * src/LR0.c: Attach shifts to states as soon as they are
1917 computed.
1918 * src/lalr.c (set_state_table): Instead of assigning shifts to
1919 state, just assert that the mapping was properly done.
1920
1921 2001-12-10 Akim Demaille <akim@epita.fr>
1922
1923 * src/LR0.c (insert_start_shift): Rename as...
1924 (insert_start_shifting_state): this.
1925 (insert_eof_shifting_state, insert_accepting_state): New.
1926 (augment_automaton): Adjust.
1927 Better locality of the variables.
1928 When looking if the start_symbol is shifted from the initial
1929 state, using `while (... symbol != start_symbol ...)' sounds
1930 better than `while (... symbol < start_symbol ...)': If fail
1931 to see how the order between symbols could be relevant!
1932
1933 2001-12-10 Akim Demaille <akim@epita.fr>
1934
1935 * src/getargs.h: Don't declare `spec_name_prefix' and
1936 `spec_file_prefix', declared by src/files.h.
1937 * src/files.c, src/files.h: Default for spec_name_prefix is "yy".
1938 * src/muscle_tab.c (muscle_init): Default prefix to NULL.
1939 * src/output.c (prepare): Adjust.
1940 * src/reader.c (symbols_output): Likewise.
1941 * src/vmsgetargs.c: Vaguely adjust, but who cares?
1942
1943 2001-12-10 Akim Demaille <akim@epita.fr>
1944
1945 * src/muscle_tab.c (muscle_init): NULL is a better default than
1946 `"0"'.
1947
1948 2001-12-10 Akim Demaille <akim@epita.fr>
1949
1950 * src/reader.c (reader): Calling symbols_output once is enough.
1951
1952 2001-12-10 Akim Demaille <akim@epita.fr>
1953
1954 Now that states have a complete set of members, the linked list of
1955 reductions is useless: just fill directly the state's reductions
1956 member.
1957
1958 * src/state.h (struct reductions): Remove member `number' and
1959 `next'.
1960 * src/LR0.c (first_reduction, last_reduction): Remove.
1961 (save_reductions): Don't link the new reductions, store them in
1962 this_state.
1963 * src/lalr.c (set_state_table): No need to attach reductions to
1964 states, it's already done.
1965 * src/output.c (output_actions): No longer free the shifts, then
1966 the reductions, then the states: free all the states and their
1967 members.
1968
1969 2001-12-10 Akim Demaille <akim@epita.fr>
1970
1971 * src/options.c (OPTN, DRTV, BOTH): New.
1972 (option_table): Use them.
1973
1974 * src/muscle_tab.c: Don't include xalloc.h and string.h: that's
1975 the job of system.h.
1976 * src/options.c: Don't include stdio.h and xalloc.h for the same
1977 reasons.
1978
1979 2001-12-10 Akim Demaille <akim@epita.fr>
1980
1981 * src/output.c (output, prepare): Make sure the values of the
1982 muscles `action' and `prologue' are 0-terminated.
1983
1984 2001-12-10 Akim Demaille <akim@epita.fr>
1985
1986 Clean up GCC warnings.
1987
1988 * src/reader.c (copy_action): `buf' is not used.
1989 (parse_skel_decl): Be static.
1990 * src/muscle_tab.c (mhash1, mhash2, muscle_insert): Preserve `const'.
1991 * src/options.h (create_long_option_table): Have a real prototype.
1992 * lib/hash.c, lib/hash.h (hash_insert, hash_insert_at, hash_delete)
1993 (hash_delete_at): Return const void *.
1994 Adjust casts to preserve the const.
1995
1996 2001-12-10 Akim Demaille <akim@epita.fr>
1997
1998 * configure.in: Require 2.52g.
1999 M4 is not needed, but AUTOM4TE is.
2000 * m4/m4.m4: Remove.
2001 * tests/Makefile.am: Adjust.
2002
2003 2001-12-10 Akim Demaille <akim@epita.fr>
2004
2005 One structure for states is enough, even though theoretically
2006 there are LR(0) states and LALR(1) states.
2007
2008 * src/lalr.h (state_t): Remove.
2009 (state_table): Be state_t **, not state_t *.
2010 * src/state.h (core, CORE_ALLOC): Rename as...
2011 (state_t, STATE_ALLOC): this.
2012 Add the LALR(1) members: shifts, reductions, errs.
2013 * src/LR0.c (state_table): Rename as...
2014 (state_hash): this, to avoid name clashes with the global
2015 `state_table'.
2016 * src/print_graph.c, src/LR0.c, src/LR0.h, src/conflicts.c
2017 * src/lalr.c, src/lalr.h, src/output.c, src/print.c: Adjust.
2018
2019 2001-12-10 Akim Demaille <akim@epita.fr>
2020
2021 Bison dumps core on bash.y.
2022 Reported by Pascal Bart.
2023
2024 * src/warshall.c (bitmatrix_print): New.
2025 (TC): Use it.
2026 When performing a transitive closure R(i, j) && R(j, k) => R(i, k),
2027 j must be the outer loop.
2028 * tests/regression.at (Broken Closure): New.
2029
2030 2001-12-05 Akim Demaille <akim@epita.fr>
2031
2032 * tests/atlocal.in (CPPFLAGS): Do not leave a space between -I and
2033 its argument.
2034 Reported by Peter Hámorský.
2035
2036 2001-12-05 Akim Demaille <akim@epita.fr>
2037
2038 * src/conflicts.c (err_table): Remove.
2039 (resolve_sr_conflict): Adjust.
2040 * src/lalr.h (state_t.reduction_table, state_t.shift_table):
2041 Rename as...
2042 (state_t.reductions, state_t.shifts): this.
2043
2044 2001-12-05 Akim Demaille <akim@epita.fr>
2045
2046 * src/reduce.c (reduce_grammar_tables): No longer disable the
2047 removal of useless rules via CPP but via `if (0)', so that the
2048 compiler still check the code is valid.
2049 For instance, it should have noticed `rline' no longer exists: use
2050 the `line' member of rule_t.
2051 * src/gram.c (dummy, rline): Remove, unused.
2052
2053 2001-12-05 Akim Demaille <akim@epita.fr>
2054
2055 * src/output.c (pack_vector): Use assert, not berror.
2056 * src/main.c (berror): Remove, unused.
2057
2058 2001-12-05 Akim Demaille <akim@epita.fr>
2059
2060 New experimental feature: if --verbose --trace output all the
2061 items of a state, not only its kernel.
2062
2063 * src/print.c (print_core): If `trace_flag', then invoke closure
2064 before outputting the items of the state (print_core is no longer
2065 a correct name them).
2066 (print_results): Invoke new_closure/free_closure if needed.
2067
2068 2001-12-05 Akim Demaille <akim@epita.fr>
2069
2070 * src/LR0.c (new_itemsets): Use nshifts only, not shiftcount.
2071 * src/closure.c, src/closure.h (itemsetsize): Rename as...
2072 (nitemset): for consistency with the rest of the project.
2073
2074 2001-12-05 Akim Demaille <akim@epita.fr>
2075
2076 * src/closure.c (print_closure): Improve.
2077 (closure): Use it for printing input and output.
2078
2079 2001-12-05 Akim Demaille <akim@epita.fr>
2080
2081 * src/closure.c (FIRSTS, FDERIVES): Adjust to reality: they are
2082 indexed by nonterminals.
2083
2084 2001-12-05 Akim Demaille <akim@epita.fr>
2085
2086 * src/warshall.c (TC, RTC): De-obsfucate (source reduced to 22% of
2087 what it was!).
2088 * src/warshall.h: Remove accidental duplication of the content.
2089
2090 2001-12-05 Akim Demaille <akim@epita.fr>
2091
2092 * src/closure.c (set_fderives): De-obfuscate.
2093
2094 2001-12-05 Akim Demaille <akim@epita.fr>
2095
2096 * src/closure.c (print_firsts, print_fderives): De-obfuscate.
2097
2098 2001-12-05 Akim Demaille <akim@epita.fr>
2099
2100 * src/closure.c (set_firsts): De-obfuscate.
2101
2102 2001-12-05 Akim Demaille <akim@epita.fr>
2103
2104 * src/output.c (action_row): De-obfuscate
2105 using the good o' techniques: arrays not pointers, variable
2106 locality, BITISSET, RESETBIT etc.
2107
2108 2001-12-05 Akim Demaille <akim@epita.fr>
2109
2110 Pessimize the code to simplify it: from now on, all the states
2111 have a valid SHIFTS, which NSHIFTS is possibly 0.
2112
2113 * src/LR0.c (shifts_new): Be global and move to..
2114 * src/state.c, src/state.h: here.
2115 * src/conflicts, src/lalr.c, src/output.c, src/print.c,
2116 * src/print_graph: Adjust.
2117
2118 2001-12-05 Akim Demaille <akim@epita.fr>
2119
2120 * src/state.h (SHIFT_DISABLE, SHIFT_IS_DISABLED): New.
2121 * src/conflicts.c: Use it.
2122 Restore a few missing `if (!SHIFT_IS_DISABLED)' which were
2123 incorrectly ``simplified''.
2124
2125 2001-12-05 Akim Demaille <akim@epita.fr>
2126
2127 * src/conflicts.c (flush_shift, resolve_sr_conflict): De-obfuscate
2128 using the good o' techniques: arrays not pointers, variable
2129 locality, BITISSET, RESETBIT etc.
2130
2131 2001-12-05 Akim Demaille <akim@epita.fr>
2132
2133 * src/state.h (SHIFT_SYMBOL): New.
2134 * src/conflicts.c: Use it to deobfuscate.
2135
2136 2001-12-05 Akim Demaille <akim@epita.fr>
2137
2138 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts)
2139 (print_reductions): De-obfuscate using the good o' techniques:
2140 arrays not pointers, variable locality, BITISSET.
2141
2142 2001-12-05 Akim Demaille <akim@epita.fr>
2143
2144 * src/conflicts.c (print_reductions): Arrays, not pointers.
2145 Use BITISSET.
2146
2147 2001-12-05 Akim Demaille <akim@epita.fr>
2148
2149 * src/conflicts.c (print_reductions): Pessimize, but clarify.
2150
2151 2001-12-05 Akim Demaille <akim@epita.fr>
2152
2153 * src/conflicts.c (print_reductions): Improve variable locality.
2154
2155 2001-12-05 Akim Demaille <akim@epita.fr>
2156
2157 * src/conflicts.c (print_reductions): Pessimize, but clarify.
2158
2159 2001-12-05 Akim Demaille <akim@epita.fr>
2160
2161 * src/conflicts.c (print_reductions): Improve variable locality.
2162
2163 2001-12-05 Akim Demaille <akim@epita.fr>
2164
2165 * src/state.h (SHIFT_IS_ERROR, SHIFT_IS_GOTO, SHIFT_IS_SHIFT): New.
2166 * src/lalr.c: Use them.
2167
2168 2001-12-05 Akim Demaille <akim@epita.fr>
2169
2170 * src/LR0.c (augment_automaton): Formatting changes.
2171 Better variable locality.
2172
2173 2001-12-05 Akim Demaille <akim@epita.fr>
2174
2175 * src/lalr.c (matrix_print): New.
2176 (transpose): Use it.
2177 Use arrays instead of pointers.
2178
2179 2001-12-05 Akim Demaille <akim@epita.fr>
2180
2181 * src/lalr.c (maxrhs): Move to...
2182 * src/gram.c, src/gram.h (ritem_longest_rhs): here.
2183 * src/lalr.c (build_relations): Adjust.
2184
2185 2001-12-05 Akim Demaille <akim@epita.fr>
2186
2187 * src/lalr.c (transpose): Free the memory allocated to the
2188 argument, as it is replaced by the results by the unique caller.
2189 (build_relations): Merely invoke transpose: it handles the memory
2190 deallocation.
2191 Improve variable locality.
2192 Avoid variables used as mere abbreviations.
2193 (compute_lookaheads): Use arrays instead of pointers.
2194
2195 2001-12-05 Akim Demaille <akim@epita.fr>
2196
2197 * src/lalr.c (initialize_F): Improve variable locality.
2198 Avoid variables used as mere abbreviations.
2199
2200 2001-12-05 Akim Demaille <akim@epita.fr>
2201
2202 * src/derives.c (print_derives): Display the ruleno.
2203 * src/lalr.c (initialize_F, transpose): Better variable locality
2204 to improve readability.
2205 Avoid variables used as mere abbreviations.
2206
2207 2001-12-05 Akim Demaille <akim@epita.fr>
2208
2209 * src/lalr.c (traverse): Use arrays instead of pointers.
2210
2211 2001-12-05 Akim Demaille <akim@epita.fr>
2212
2213 * src/nullable.c (set_nullable): Use a for loop to de-obfuscate
2214 the handling of squeue.
2215 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
2216
2217 2001-12-05 Akim Demaille <akim@epita.fr>
2218
2219 Because useless nonterminals are now kept alive (instead of being
2220 `destroyed'), we now sometimes examine them, and store information
2221 related to them. Hence we need to know their number, and adjust
2222 memory allocations.
2223
2224 * src/reduce.c, src/reduce.h (nuseless_nonterminals): No longer
2225 static.
2226 * src/LR0.c (allocate_itemsets): The memory allocated to
2227 `symbol_count' was used for two different purpose: once to count
2228 the number of occurrences of each symbol, and later reassigned to
2229 `shift_symbol', containing the symbol that can be shifted from a
2230 given state.
2231 Deobfuscate, i.e., allocate, use and free `symbol_count' here
2232 only, and...
2233 (new_itemsets): Allocate `shift_symbol' here.
2234 (allocate_itemsets): symbol_count includes useless nonterminals.
2235 Make room for them.
2236 (free_storage): Use `free', not `XFREE', for pointers that cannot
2237 be null.
2238
2239 2001-12-05 Akim Demaille <akim@epita.fr>
2240
2241 * src/nullable.c (set_nullable): Deobfuscate the handling of
2242 ritem.
2243 `symbol >= 0' is wrong now, use `rule_table[ruleno].useful'.
2244
2245 2001-12-05 Akim Demaille <akim@epita.fr>
2246
2247 * src/gram.c, src/gram.h (ritem_print): New.
2248 * src/gram.c (dummy): Remove, now there is actual code in gram.c.
2249 (This useless function was defined only to work around VMS linkers
2250 that can't handle compilation units with variables only).
2251 * src/reduce.c (dump_grammar): Use it to trace the construction of
2252 ritem.
2253
2254 2001-12-04 Paul Eggert <eggert@twinsun.com>
2255
2256 * src/bison.simple (union yyalloc): Change member names
2257 to be the same as the stack names.
2258 (yyparse): yyptr is now union yyalloc *, not char *.
2259 (YYSTACK_RELOCATE): Likewise. This avoids a GCC warning,
2260 and may generate better code on some machines.
2261 (yystpcpy): Use prototype if __STDC__ is defined, not just
2262 if __cplusplus is defined.
2263
2264 2001-11-30 Akim Demaille <akim@epita.fr>
2265
2266 * configure.in (WARNING_CFLAGS): Add -Werror when possible.
2267 (CFLAGS): Do not include the WARNING_CFLAGS here, since GNU
2268 Gettext doesn't compile cleanly, and dies with -Werror.
2269 * src/Makefile.am, lib/Makefile.am, tests/atlocal.in (CFLAGS):
2270 Include WARNING_CFLAGS here.
2271 * lib/xstrdup.c: Include xalloc.h, so that xstrdup be declared
2272 before being defined.
2273
2274 2001-11-27 Paul Eggert <eggert@twinsun.com>
2275
2276 * lib/quotearg.h (quotearg_n, quotearg_n_style):
2277 First arg is int, not unsigned.
2278 * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
2279 (SIZE_MAX, UINT_MAX): New macros.
2280 (quotearg_n_options): Abort if N is negative.
2281 Avoid overflow check on hosts where size_t is 64 bits and int
2282 is 32 bits, as overflow is impossible there.
2283 Fix off-by-one typo that caused unnecessary reallocation.
2284
2285 2001-11-29 Paul Eggert <eggert@twinsun.com>
2286
2287 Name space cleanup in generated parser.
2288
2289 * doc/bison.texinfo (Bison Parser): Discuss system headers
2290 and their effect on the user name space.
2291
2292 * src/bison.simple:
2293 (YYSTACK_ALLOC, YYSTACK_FREE, union yyalloc, YYSTACK_GAP_MAX,
2294 YYSTACK_BYTES, YYSTACK_RELOCATE): Do not define unless necessary,
2295 i.e. unless ! defined (yyoverflow) || defined (YYERROR_VERBOSE).
2296
2297 (YYSIZE_T): New macro. Use it instead of size_t, to avoid infringing
2298 on user names when possible.
2299
2300 (YYSTACK_USE_ALLOCA): Do not define; just use any existing defn.
2301 Simplify test for whather <alloca.h> exists.
2302
2303 (<stdlib.h>): Include if we will use malloc, and if standard C or C++.
2304
2305 (<stdio.h>): Include if YYDEBUG.
2306
2307 (yymemcpy): Renamed from __yy_memcpy. Do not define unless
2308 ! defined (yyoverflow) && ! defined (yymemcpy).
2309
2310 (yymemcpy, yyparse): Rename local variables as needed so that
2311 they all begin with 'yy'.
2312
2313 (yystrlen, yystpcpy): New functions.
2314
2315 (YY_DECL_NON_LSP_VARIABLES): Renamed from _YY_DECL_VARIABLES.
2316 All uses changed.
2317
2318 (yyparse): size_t -> YYSIZE_T. Use yystrlen and yystpcpy
2319 instead of relying on string.h functions. Use YYSTACK_ALLOC
2320 and YYSTACK_FREE instead of malloc and free.
2321
2322 2001-11-30 Akim Demaille <akim@epita.fr>
2323
2324 * src/bison.simple (YYSTYPE, YYLTYPE): Move their definitions
2325 before their first uses.
2326 (YYBISON, YYPURE): Move to the top of the output.
2327
2328 2001-11-30 Akim Demaille <akim@epita.fr>
2329
2330 * tests/reduce.at (Useless Nonterminals): Fix.
2331
2332 2001-11-30 Akim Demaille <akim@epita.fr>
2333
2334 * src/bison.simple (YYSTACK_FREE): Use `do {;} while (0)' as empty
2335 if body instead of `;' to pacify GCC's warnings.
2336
2337 2001-11-30 Akim Demaille <akim@epita.fr>
2338
2339 Instead of mapping the LHS of unused rules to -1, keep the LHS
2340 valid, but flag the rules as invalid.
2341
2342 * src/gram.h (rule_t): `useful' is a new member.
2343 * src/print.c (print_grammar): Adjust.
2344 * src/derives.c (set_derives): Likewise.
2345 * src/reader.c (packgram, reduce_output): Likewise.
2346 * src/reduce.c (reduce_grammar_tables): Likewise.
2347 * tests/reduce.at (Underivable Rules, Useless Rules): New.
2348
2349 2001-11-30 Akim Demaille <akim@epita.fr>
2350
2351 * src/reduce.c (reduce_output): Formatting changes.
2352 * src/print.c (print_results, print_grammar): Likewise.
2353 * tests/regression.at (Rule Line Numbers)
2354 (Solved SR Conflicts, Unresolved SR Conflicts): Adjust.
2355
2356 2001-11-30 Akim Demaille <akim@epita.fr>
2357
2358 * src/reduce.c (nonterminals_reduce): Instead of throwing away
2359 useless nonterminals, move them at the end of the symbol arrays.
2360 (reduce_output): Adjust.
2361 * tests/reduce.at (Useless Nonterminals): Adjust.
2362
2363 2001-11-30 Akim Demaille <akim@epita.fr>
2364
2365 * src/reduce.c: Various comment/formatting changes.
2366 (nonterminals_reduce): New, extracted from...
2367 (reduce_grammar_tables): here.
2368 (reduce_grammar): Call nonterminals_reduce.
2369
2370 2001-11-29 Paul Eggert <eggert@twinsun.com>
2371
2372 * src/bison.simple (YYSTACK_REALLOC): Remove.
2373 (YYSTACK_ALLOC): Resurrect this macro, with its old meaning.
2374 (YYSTACK_FREE, YYSTACK_GAP_MAX, YYSTACK_BYTES, YYSTACK_RELOCATE):
2375 New macros.
2376 (union yyalloc): New type.
2377 (__yy_memcpy): Last arg is size_t, not unsigned int, to remove
2378 an arbitrary restriction on hosts where size_t is wider than int.
2379
2380 (yyparse): Don't dump core if alloca or malloc fails; instead, report
2381 a parser stack overflow. Allocate just one block of memory for all
2382 three stacks, instead of allocating three blocks; this typically is
2383 faster and reduces fragmentation.
2384
2385 Do not limit the number of items in the stack to a value that fits
2386 in 'int', as this is an arbitrary limit on hosts with 64-bit
2387 size_t and 32-bit int.
2388
2389 2001-11-29 Marc Autret <autret_m@epita.fr>
2390
2391 * tests/calc.at [AT_DATA_CALC_Y]: Use %error-verbose instead
2392 of defining YYERROR_VERBOSE.
2393 [AT_DATA]: $4 is now out of C declarations in the prologue.
2394
2395 2001-11-28 Marc Autret <autret_m@epita.fr>
2396
2397 * src/reader.c (parse_dquoted_param): New.
2398 (parse_skel_decl): Use it.
2399 * src/lex.h: Add its prototype.
2400 * src/lex.c (literalchar): Become not static.
2401
2402 2001-11-28 Marc Autret <autret_m@epita.fr>
2403
2404 * src/output.h: And put its extern declaration here.
2405 * src/output.c (error_verbose): Define here.
2406 (prepare): Echo name modification.
2407 * src/getargs.h: Clean its extern declaration.
2408 * src/getargs.c (error_verbose_flag): Remove.
2409 (getargs): Remove case 'e'.
2410 * src/options.c (option_table): 'error-verbose' is now seen as simple
2411 percent option.
2412 Include output.h.
2413
2414 * src/reader.c (read_declarations): Remove case tok_include.
2415 (parse_include_decl): Remove.
2416 * src/lex.h (token_t): Remove tok_include.
2417 * src/options.c (option_table): 'include' is now a simple command line
2418 option.
2419
2420 2001-11-28 Marc Autret <autret_m@epita.fr>
2421
2422 * src/bison.simple: Adjust muscle names.
2423 * src/muscle_tab.c (muscle_init): Also rename the muscles.
2424 * src/output.c (prepare): s/_/-/ for the muscles names.
2425 (output_parser): When scanning for a muscle, allow '-' instead of '_'.
2426
2427 2001-11-28 Marc Autret <autret_m@epita.fr>
2428
2429 * src/bison.simple: Fix debug.
2430 [YYERROR_VERBOSE]: Re-integrate as an internal macro.
2431
2432 2001-11-28 Akim Demaille <akim@epita.fr>
2433
2434 * src/LR0.c (shifts_new): New.
2435 (save_shifts, insert_start_shift, augment_automaton): Use it.
2436
2437 2001-11-28 Akim Demaille <akim@epita.fr>
2438
2439 * src/closure.c (closure): `b' and `ruleno' denote the same value:
2440 keep ruleno only.
2441
2442 2001-11-28 Akim Demaille <akim@epita.fr>
2443
2444 * src/closure.c (closure): Instead of looping over word in array
2445 then bits in words, loop over bits in array.
2446
2447 2001-11-28 Akim Demaille <akim@epita.fr>
2448
2449 * src/closure.c (closure): No longer optimize the special case
2450 where all the bits of `ruleset[r]' are set to 0, to make the code
2451 clearer.
2452
2453 2001-11-28 Akim Demaille <akim@epita.fr>
2454
2455 * src/closure.c (closure): `r' and `c' are new variables, used to
2456 de-obfuscate accesses to RULESET and CORE.
2457
2458 2001-11-28 Akim Demaille <akim@epita.fr>
2459
2460 * src/reduce.c (reduce_print): Use ngettext.
2461 (dump_grammar): Improve the trace accuracy.
2462
2463 2001-11-28 Akim Demaille <akim@epita.fr>
2464
2465 * src/reduce.c (dump_grammar): Don't translate trace messages.
2466
2467 2001-11-28 Akim Demaille <akim@epita.fr>
2468
2469 * tests/reduce.at (Useless Terminals, Useless Nonterminals): New.
2470 * src/reduce.c (reduce_grammar_tables): Do not free useless tags,
2471 as all tags are free'ed afterwards.
2472 From Enrico Scholz.
2473
2474 2001-11-27 Paul Eggert <eggert@twinsun.com>
2475
2476 * src/bison.simple (YYSTACK_REALLOC): Fix typo that caused us to
2477 use alloca when we didn't want to, and vice versa.
2478
2479 2001-11-27 Marc Autret <autret_m@epita.fr>
2480
2481 * src/muscle_tab.c (muscle_init): Remove 'verbose' muscle
2482 initialization.
2483 * src/output.c (prepare): Remove its update.
2484
2485 2001-11-27 Marc Autret <autret_m@epita.fr>
2486
2487 * tests/torture.at [AT_DATA]: Remove YYERROR_VERBOSE definition.
2488 Use %error-verbose.
2489
2490 2001-11-27 Marc Autret <autret_m@epita.fr>
2491
2492 * src/bison.simple: Remove YYERROR_VERBOSE using.
2493 Use %%error_verbose.
2494 (yyparse): Likewise.
2495 * src/output.c (prepare): Give its final value.
2496 * src/muscle_tab.c (muscle_init): Init new muscle 'error_verbose'.
2497 * src/getargs.h: Add its extern declaration.
2498 * src/getargs.c (error_verbose_flag): New int.
2499 (getargs): Update to catch new case.
2500 * src/options.c (option_table): 'error-verbose' is a new option.
2501 (shortopts): Update.
2502
2503 2001-11-27 Akim Demaille <akim@epita.fr>
2504
2505 * src/system.h: Use intl/libgettext.h.
2506 * src/Makefile.am (INCLUDES): Add -I $(top_srcdir).
2507
2508 2001-11-27 Akim Demaille <akim@epita.fr>
2509
2510 * tests/torture.at (Exploding the Stack Size with Malloc):
2511 s/YYSTACK_USE_ALLOCA_ALLOCA/YYSTACK_USE_ALLOCA/.
2512
2513 2001-11-27 Akim Demaille <akim@epita.fr>
2514
2515 * src/files.c: Include error.h.
2516 Reported by Hans Aberg.
2517
2518 2001-11-26 Marc Autret <autret_m@epita.fr>
2519
2520 * src/reader.c (parse_include_decl): New, not yet implemented.
2521 (read_declarations): Add case tok_include.
2522 * src/getargs.h (include): Add its extern definition.
2523 * src/getargs.c (include): New const char *.
2524 (getargs): Add case '-I'.
2525 * src/options.c (option_table): Add include as command line and
2526 percent option.
2527 * src/lex.h (token_t): Add tok_include.
2528
2529 2001-11-26 Akim Demaille <akim@epita.fr>
2530
2531 * src/reader.c (readgram): Make sure rules for mid-rule actions
2532 have a lineno equal to that of their host rule.
2533 Reported by Hans Aberg.
2534 * tests/regression.at (Rule Line Numbers): New.
2535
2536 2001-11-26 Akim Demaille <akim@epita.fr>
2537
2538 * src/LR0.c (allocate_itemsets): kernel_size contains ints, not
2539 size_ts.
2540
2541 2001-11-26 Akim Demaille <akim@epita.fr>
2542
2543 * src/complain.c, src/complain.h (error): Remove, provided by
2544 lib/error.[ch].
2545
2546 2001-11-26 Akim Demaille <akim@epita.fr>
2547
2548 * src/reader.c (read_declarations): Don't abort on tok_illegal,
2549 issue an error message.
2550 * tests/regression.at (Invalid %directive): New.
2551 Reported by Hans Aberg.
2552
2553 2001-11-26 Akim Demaille <akim@epita.fr>
2554
2555 * configure.in: Invoke AC_FUNC_OBSTACK and AC_FUNC_ERROR_AT_LINE.
2556 * lib/Makefile.am (libbison_a_SOURCES): Adjust.
2557
2558 2001-11-26 Akim Demaille <akim@epita.fr>
2559
2560 * src/conflicts.c (conflicts_print): Don't complain at all when
2561 there are no reduce/reduce conflicts, and as many shift/reduce
2562 conflicts as expected.
2563 * tests/regression.at (%expect right): Adjust.
2564
2565 2001-11-23 Akim Demaille <akim@epita.fr>
2566
2567 * lib/alloca.c: Update, from fileutils.
2568
2569 2001-11-23 Akim Demaille <akim@epita.fr>
2570
2571 * lib/Makefile.am (libbison_a_LIBADD): Add @ALLOCA@.
2572
2573 2001-11-23 Akim Demaille <akim@epita.fr>
2574
2575 * src/system.h: Include alloca.h.
2576 * src/main.c (main) [C_ALLOCA]: Call alloca (0).
2577
2578 2001-11-23 Akim Demaille <akim@epita.fr>
2579
2580 * src/print_graph.c (print_actions): Remove `rule', unused.
2581 * src/LR0.c (kernel_size): Contain `int' instead of `size_t' to
2582 pacify GCC's signed < unsigned warnings.
2583 * src/closure.c (itemsetsize): Likewise.
2584 * src/reader.c (symbol_list_new): Static.
2585
2586 2001-11-23 Akim Demaille <akim@epita.fr>
2587
2588 Attaching lineno to buckets is stupid, since only one copy of each
2589 symbol is kept, only the line of the first occurrence is kept too.
2590
2591 * src/symtab.h, src/symtab.c (bucket): Remove the line member.
2592 * src/reader.c (rline_allocated): Remove, unused.
2593 (symbol_list): Have a `line' member.
2594 (symbol_list_new): New.
2595 (readgram): Use it.
2596 * src/print.c (print_grammar): Output the rule line numbers.
2597 * tests/regression.at (Solved SR Conflicts)
2598 (Unresolved SR Conflicts): Adjust.
2599 Reported by Hans Aberg.
2600
2601 2001-11-22 Marc Autret <autret_m@epita.fr>
2602
2603 * src/bison.simple [YYERROR_VERBOSE]: Force its value to be 1 or 0.
2604
2605 2001-11-22 Marc Autret <autret_m@epita.fr>
2606
2607 * src/muscle_tab.c (muscle_init): Remove initialization of
2608 skeleton muscle.
2609 * src/output.c (output_master_parser): Do it here.
2610
2611 2001-11-20 Akim Demaille <akim@epita.fr>
2612
2613 * po/sv.po: New.
2614 * configure.in (ALL_LINGUAS): Adjust.
2615 * po/POTFILE.in: Remove `nullable.c' and `derives.c' which no
2616 longer contains strings to translate.
2617
2618 2001-11-19 Akim Demaille <akim@epita.fr>
2619
2620 * src/conflicts.c (conflicts_print): Add a missing \n.
2621
2622 2001-11-19 Akim Demaille <akim@epita.fr>
2623
2624 * src/nullable.c (nullable_print): New.
2625 (set_nullable): Call it when tracing.
2626 Better locality of variables.
2627
2628 2001-11-19 Akim Demaille <akim@epita.fr>
2629
2630 * src/print.c (print_actions): Better locality of variables.
2631
2632 2001-11-19 Akim Demaille <akim@epita.fr>
2633
2634 * src/derives.c (print_derives): Fix and enrich.
2635 * src/closure.c (print_fderives): Likewise.
2636
2637 2001-11-19 Akim Demaille <akim@epita.fr>
2638
2639 * src/closure.c (itemsetend): Remove, replaced with...
2640 (itemsetsize): new.
2641
2642 2001-11-19 Akim Demaille <akim@epita.fr>
2643
2644 * src/LR0.c (kernel_end): Remove, replaced with...
2645 (kernel_size): new.
2646
2647 2001-11-19 Akim Demaille <akim@epita.fr>
2648
2649 * src/conflicts.c (set_conflicts): Use arrays instead of pointers
2650 to clarify.
2651
2652 2001-11-19 Akim Demaille <akim@epita.fr>
2653
2654 * src/closure.c (closure): Use arrays instead of pointers to clarify.
2655
2656 2001-11-19 Akim Demaille <akim@epita.fr>
2657
2658 * src/closure.c, src/derives.c, src/nullable.c: Adjust various
2659 trace messages.
2660 * src/LR0.c: Likewise.
2661 (allocate_itemsets): Use arrays instead of pointers to clarify.
2662
2663 2001-11-19 Akim Demaille <akim@epita.fr>
2664
2665 * src/getargs.c (statistics_flag): Replace with...
2666 (trace_flag): New.
2667 (longopts): Accept --trace instead of --statistics.
2668 * src/getargs.h, src/options.c: Adjust.
2669 * src/LR0.c, src/closure.c, src/derives.c, src/nullable.c,
2670 * src/reduce.c: Use trace_flags instead of the CPP conditional TRACE.
2671
2672 2001-11-19 Akim Demaille <akim@epita.fr>
2673
2674 * src/LR0.c (new_itemsets, get_state): Use more arrays and fewer
2675 pointers to clarify the code.
2676 (save_reductions, save_shifts): Factor common parts of alternatives.
2677
2678 2001-11-19 Akim Demaille <akim@epita.fr>
2679
2680 * src/LR0.c (new_state, get_state): Complete TRACE code.
2681 * src/closure.c: Include `reader.h' to get `tags', needed by the
2682 trace code.
2683 Rename the conditional DEBUG as TRACE.
2684 Output consistently TRACEs to stderr, not stdout.
2685 * src/derives.c: Likewise.
2686 * src/reduce.c: (inaccessable_symbols): Using if is better style
2687 than goto.
2688 Use `#if TRACE' instead of `#if 0' for tracing code.
2689
2690 2001-11-19 Akim Demaille <akim@epita.fr>
2691
2692 * src/system.h (LIST_FREE, shortcpy): New.
2693 * src/LR0.c: Use them.
2694 * src/output.c (free_itemsets, free_reductions, free_shifts):
2695 Remove, replaced by LIST_FREE.
2696
2697 2001-11-19 Akim Demaille <akim@epita.fr>
2698
2699 * src/state.h (CORE_ALLOC, SHIFTS_ALLOC, ERRS_ALLOC)
2700 (REDUCTIONS_ALLOC): New.
2701 * src/LR0.c, src/conflicts.c: Use them to de-obfuscate memory
2702 allocation.
2703
2704 2001-11-19 Akim Demaille <akim@epita.fr>
2705
2706 * src/LR0.c (new_state): Complete trace code.
2707 * src/nullable.c (set_nullable): Don't translate traces.
2708
2709 2001-11-19 Akim Demaille <akim@epita.fr>
2710
2711 * src/print_graph.c (print_core): Better locality of variables.
2712 * src/print.c (print_core): Likewise.
2713
2714 2001-11-19 Akim Demaille <akim@epita.fr>
2715
2716 * src/vcg.c: You do the output, so you are responsible of the
2717 handling of VCG syntax, in particular: use quotearg.
2718 * src/print_graph.c: Don't.
2719 (print_actions): Don't output the actions as part of the nodes,
2720 since that's the job of the edges.
2721 (print_state): Don't output by hand: fill the node description,
2722 and ask for its output.
2723
2724 2001-11-19 Akim Demaille <akim@epita.fr>
2725
2726 * src/bison.simple (yyparse): When verbosely reporting an error,
2727 no longer put additional quotes around token names.
2728 * tests/calc.at: Adjust.
2729
2730 2001-11-19 Akim Demaille <akim@epita.fr>
2731
2732 * src/symtab.h, src/symtab.c: `line' is a new member of `bucket'.
2733 * src/reader.c (record_rule_lines, rline, rline_allocated): Remove.
2734 * src/output.c: Adjust.
2735
2736 2001-11-19 Akim Demaille <akim@epita.fr>
2737
2738 * src/gram.h (rprec, rprecsym, rassoc): Remove, now part of...
2739 (rule_t): this.
2740 * src/conflicts.c, src/reader.c, src/reduce.c: Adjust.
2741
2742 2001-11-19 Akim Demaille <akim@epita.fr>
2743
2744 * src/gram.h (rule_t): New.
2745 (rule_table): New.
2746 (rrhs, rlhs): Remove, part of state_t.
2747 * src/print_graph.c, src/closure.c, src/conflicts.c, src/derives.c,
2748 * src/lalr.c, src/nullable.c, src/output.c, src/print.c,
2749 * src/reader.c, src/reduce.c: Adjust.
2750
2751 2001-11-19 Akim Demaille <akim@epita.fr>
2752
2753 * src/reader.c (symbols_output): New, extracted from...
2754 (packsymbols): Here.
2755 (reader): Call it.
2756
2757 2001-11-19 Akim Demaille <akim@epita.fr>
2758
2759 * src/lalr.c (set_maxrhs, maxrhs): Remove, replaced with...
2760 (maxrhs): this new function.
2761
2762 2001-11-19 Akim Demaille <akim@epita.fr>
2763
2764 * src/lalr.c (F): New macro to access the variable F.
2765 Adjust.
2766
2767 2001-11-19 Akim Demaille <akim@epita.fr>
2768
2769 * src/lalr.h (LA): New macro to access the variable LA.
2770 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2771 * src/lalr.c: Adjust.
2772
2773 2001-11-19 Akim Demaille <akim@epita.fr>
2774
2775 * src/lalr.c (initialize_LA): Only initialize LA. Let...
2776 (set_state_table): handle the `lookaheads' members.
2777
2778 2001-11-19 Akim Demaille <akim@epita.fr>
2779
2780 * src/lalr.h (lookaheads): Removed array, whose contents is now
2781 a member of...
2782 (state_t): this structure.
2783 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2784 Adjust.
2785
2786 2001-11-19 Akim Demaille <akim@epita.fr>
2787
2788 * src/lalr.h (consistent): Removed array, whose contents is now
2789 a member of...
2790 (state_t): this structure.
2791 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2792 Adjust.
2793
2794 2001-11-19 Akim Demaille <akim@epita.fr>
2795
2796 * src/lalr.h (reduction_table, shift_table): Removed arrays, whose
2797 contents are now members of...
2798 (state_t): this structure.
2799 * src/output.c, src/lalr.c, src/print_graph.c, src/conflicts.c:
2800 Adjust.
2801
2802 2001-11-19 Akim Demaille <akim@epita.fr>
2803
2804 * src/lalr.h (state_t): New.
2805 (state_table): Be a state_t * instead of a core **.
2806 (accessing_symbol): Remove, part of state_t.
2807 * src/lalr.c: Adjust.
2808 (set_accessing_symbol): Merge into...
2809 (set_state_table): this.
2810 * src/print_graph.c, src/conflicts.c: Adjust.
2811
2812 2001-11-14 Akim Demaille <akim@epita.fr>
2813
2814 * tests/calc.at, tests/output.at, tests/regression.at,
2815 * tests/testsuite.at, tests/torture.at: Rely on Autotest 2.52g:
2816 now the tests are run in private dirs, therefore AC_CLEANUP and
2817 family can be simplified to 0-ary.
2818 * tests/atlocal.in: Now that we run `elsewhere' than in tests/,
2819 use abs. path to find config.h.
2820 * tests/calc.at (AT_CHECK_CALC): Don't try to check the compiler's
2821 stderr, there can be way too much random noise.
2822 Instead pass -Werror to GCC and rely on the exit status.
2823 Reported by Wolfram Wagner.
2824
2825 2001-11-14 Akim Demaille <akim@epita.fr>
2826
2827 * src/bison.simple (yyparse): Let yyls1, yyss1 and yyvs1 be
2828 defined only if yyoverflow is defined, to avoid `warning: unused
2829 variable `yyvs1''.
2830 Reported by The Test Suite.
2831
2832 2001-11-14 Akim Demaille <akim@epita.fr>
2833
2834 * src/print.c: Include reduce.h.
2835 Reported by Hans Aberg.
2836
2837 2001-11-14 Akim Demaille <akim@epita.fr>
2838
2839 * src/lex.c, src/lex.h (token_buffer, unlexed_token_buffer):
2840 Revert a previous patch: these are really const.
2841 * src/conflicts.c (conflict_report): Additional useless pair of
2842 braces to pacify GCC's warnings for `if () if () {} else {}'.
2843 * src/lex.c (parse_percent_token): Replace equal_offset with
2844 arg_offset.
2845 arg is const.
2846 Be sure to strdup `arg' when used, since there is no reason for
2847 token_buffer not to change.
2848
2849 2001-11-14 Akim Demaille <akim@epita.fr>
2850
2851 * src/system.h (EXIT_SUCCESS, EXIT_FAILURE): Ensure a proper
2852 definition.
2853 * src/main.c (main): Use them.
2854 Suggested by Hans Aberg.
2855
2856 2001-11-12 Akim Demaille <akim@epita.fr>
2857
2858 * src/system.h (ngettext): Now that we use ngettext, be sure to
2859 provide a default definition when NLS are not used.
2860
2861 2001-11-12 Akim Demaille <akim@epita.fr>
2862
2863 * doc/bison.texinfo: Use `$' as shell prompt, not `%'.
2864 Use @kbd to denote user input.
2865 (Language and Grammar): ANSIfy the example.
2866 Adjust its layout for info/notinfo.
2867 (Location Tracking Calc): Output error messages to stderr.
2868 Output locations in a more GNUtically correct way.
2869 Fix a couple of Englishos.
2870 Adjust @group/@end group pairs.
2871
2872 2001-11-12 Akim Demaille <akim@epita.fr>
2873
2874 %expext was not functioning at all.
2875
2876 * src/conflicts.c (expected_conflicts): Set to -1.
2877 (conflict_report): Use ngettext.
2878 (conflicts_print): Check %expect and make its violation an error.
2879 * doc/bison.texinfo (Expect Decl): Adjust.
2880 * configure.in (AM_GNU_GETTEXT): Ask for ngettext.
2881 * tests/regression.at (%expect not enough, %expect right)
2882 (%expect too much): New.
2883
2884 2001-11-12 Akim Demaille <akim@epita.fr>
2885
2886 * tests/regression.at (Conflicts): Rename as...
2887 (Unresolved SR Conflicts): this.
2888 (Solved SR Conflicts): New.
2889
2890 2001-11-12 Akim Demaille <akim@epita.fr>
2891
2892 * src/reduce.c (print_results): Rename as...
2893 (reduce_output): This.
2894 Output to OUT, passed as argument, instead of output_obstack.
2895 (dump_grammar): Likewise.
2896 (reduce_free): New.
2897 Also free V1.
2898 (reduce_grammar): No longer call reduce_output, since...
2899 * src/print.c (print_results): do it.
2900 * src/main.c (main): Call reduce_free;
2901
2902 2001-11-12 Akim Demaille <akim@epita.fr>
2903
2904 * src/conflicts.c (print_reductions): Accept OUT as argument.
2905 Output to it, not to output_obstack.
2906 * src/print.c (print_actions): Adjust.
2907
2908 2001-11-12 Akim Demaille <akim@epita.fr>
2909
2910 * src/conflicts.c (count_sr_conflicts, count_rr_conflicts): Return
2911 the result instead of using...
2912 (src_total, rrc_total, src_count, rrc_count): Remove.
2913 (any_conflicts): Remove.
2914 (print_conflicts): Split into...
2915 (conflicts_print, conflicts_output): New.
2916 * src/conflicts.h: Adjust.
2917 * src/main.c (main): Invoke both conflicts_output and conflicts_print.
2918 * src/print.c (print_grammar): Issue `\n' between two rules.
2919 * tests/regression.at (Conflicts): New.
2920 Reported by Tom Lane.
2921
2922 2001-11-12 Akim Demaille <akim@epita.fr>
2923
2924 * tests/regression.at (Invalid input): Remove, duplicate with
2925 ``Invalid input: 1''.
2926
2927 2001-11-12 Akim Demaille <akim@epita.fr>
2928
2929 * tests/torture.at (AT_DATA_STACK_TORTURE)
2930 (Exploding the Stack Size with Alloca)
2931 (Exploding the Stack Size with Malloc): New.
2932
2933 2001-11-12 Akim Demaille <akim@epita.fr>
2934
2935 * src/bison.simple (YYSTACK_REALLOC): New.
2936 (yyparse) [!yyoverflow]: Use it and free the old stack.
2937 Reported by Per Allansson.
2938
2939 2001-11-12 Pascal Bart <pascal.bart@epita.fr>
2940
2941 * src/bison.simple: Define type yystype instead of YYSTYPE, and
2942 define CPP macro, which substitute YYSTYPE by yystype.
2943 * src/reader.c (parse_union_decl): Output yystype/YYSTYPE as we do
2944 with yyltype/YYLTYPE. This allows inclusion of the generated
2945 header within the parser if the compiler, such as GGC, accepts
2946 multiple equivalent #defines.
2947 From Akim.
2948
2949 2001-11-05 Akim Demaille <akim@epita.fr>
2950
2951 * src/reader.c (symbols_output): New, extracted from...
2952 (packsymbols): here.
2953 (reader): Adjust.
2954
2955 2001-11-05 Akim Demaille <akim@epita.fr>
2956
2957 * src/lex.c (parse_percent_token): s/quotearg/quote/.
2958
2959 2001-11-05 Akim Demaille <akim@epita.fr>
2960
2961 * tests/regression.at (AT_TEST_CPP_GUARD_H): Adjust the clean up
2962 pattern.
2963
2964 2001-11-05 Akim Demaille <akim@epita.fr>
2965
2966 * src/options.h (struct option_table_struct): set_flags is void*.
2967 * src/options.c (longopts): Support `--output' and `%output'.
2968 (usage): Adjust.
2969 * src/lex.h (tok_setopt): Remove, replaced with...
2970 (tok_intopt, tok_stropt): these new guys.
2971 * src/lex.c (getopt.h): Not needed.
2972 (token_buffer, unlexed_token_buffer): Not const.
2973 (percent_table): Promote `-' over `_' in directive names.
2974 Active `%name-prefix', `file-prefix', and `output'.
2975 (parse_percent_token): Accept possible arguments to directives.
2976 Promote `-' over `_' in directive names.
2977
2978 2001-11-04 Akim Demaille <akim@epita.fr>
2979
2980 * doc/bison.texinfo (Decl Summary): Split the list into
2981 `directives for grammars' and `directives for bison'.
2982 Sort'em.
2983 Add description of `%name-prefix', `file-prefix', and `output'.
2984 Promote `-' over `_' in directive names.
2985 (Bison Options): s/%locactions/%locations/. Nice Freudian slip.
2986 Simplify the description of `--name-prefix'.
2987 Promote `-' over `_' in directive names.
2988 Promote `--output' over `--output-file'.
2989 Fix the description of `--defines'.
2990 * tests/output.at: Exercise %file-prefix and %output.
2991
2992 2001-11-02 Akim Demaille <akim@epita.fr>
2993
2994 * doc/refcard.tex: Update.
2995
2996 2001-11-02 Akim Demaille <akim@epita.fr>
2997
2998 * src/symtab.h (SUNDEF): New.
2999 * src/symtab.c (bucket_new): Init user_token_number to SUNDEF to
3000 stand for `uninitialized', instead of 0.
3001 * src/reader.c (packsymbols, parse_thong_decl): Adjust.
3002 * src/lex.c (lex): Adjust.
3003
3004 * tests/calc.at (_AT_DATA_CALC_Y): Declare a token for EOF.
3005 Number it 0.
3006 Let yylex return it instead of a plain 0.
3007 Reported by Dick Streefland.
3008
3009 2001-11-02 Akim Demaille <akim@epita.fr>
3010
3011 * tests/regression.at (Mixing %token styles): New test.
3012
3013 2001-11-02 Akim Demaille <akim@epita.fr>
3014
3015 * src/reader.c (parse_thong_decl): Formatting changes.
3016 (token_translations_init): New, extracted from...
3017 (packsymbols): Here.
3018 Adjust.
3019
3020 2001-11-01 Akim Demaille <akim@epita.fr>
3021
3022 * tests/regression.at (AT_TEST_CPP_GUARD_H): New.
3023 Check that `9foo.y' produces correct cpp guards.
3024 * src/files.c (compute_header_macro): Prepend `BISON_' to CPP
3025 guards.
3026 Reported by Wwp.
3027
3028 2001-11-01 Akim Demaille <akim@epita.fr>
3029
3030 * tests/regression.at (Invalid input: 2): New.
3031 * src/lex.c (unlexed_token_buffer): New.
3032 (lex, unlex): Adjust: when unlexing, be sure to save token_buffer
3033 too.
3034 Reported by Wwp.
3035
3036 2001-11-01 Akim Demaille <akim@epita.fr>
3037
3038 * tests/calc.at: Catch up with 1.30.
3039 * configure.in: Bump to 1.49a.
3040 Adjust to newer Autotest.
3041
3042 2001-10-19 Pascal Bart <pascal.bart@epita.fr>
3043
3044 * src/conflicts.c: Move global variables rrc_total and src_total ...
3045 (print_conflicts): here.
3046 * src/output.c (output): Free global variable user_toknums.
3047 * src/lex.c (token_obstack): Become static.
3048
3049 2001-10-18 Akim Demaille <akim@epita.fr>
3050
3051 * tests/atlocal.in (GCC): Add.
3052 * tests/calc.at: s/m4_match/m4_bmatch/.
3053 s/m4_patsubst/m4_bpatsubst/.
3054 (AT_CHECK_CALC): Check the compiler's stderr only if it's GCC.
3055 * configure.in: AC_SUBST(GCC).
3056
3057 2001-10-14 Marc Autret <autret_m@epita.fr>
3058
3059 * src/options.c (create_long_option_table): Fix.
3060
3061 2001-10-10 Akim Demaille <akim@epita.fr>
3062
3063 * src/bison.simple: Be sure to set YYSTACK_USE_ALLOCA.
3064
3065 2001-10-04 Akim Demaille <akim@epita.fr>
3066
3067 * src/reader.c (parse_union_decl): Push the caracters in
3068 union_obstack, not attrs_obstack.
3069
3070 2001-10-04 Akim Demaille <akim@epita.fr>
3071
3072 Merge in the branch 1.29.
3073
3074 * src/reader.c (packsymbols): Use a temporary obstack for
3075 `%%tokendef', since output_stack is already used elsewhere.
3076
3077 2001-10-02 Akim Demaille <akim@epita.fr>
3078
3079 Bump 1.29d.
3080
3081 2001-10-02 Akim Demaille <akim@epita.fr>
3082
3083 Version 1.29c.
3084
3085 2001-10-02 Akim Demaille <akim@epita.fr>
3086
3087 * tests/regression.at (Invalid CPP headers): New.
3088 From Alexander Belopolsky.
3089 * src/files.c (compute_header_macro): Map non alnum chars to `_'.
3090
3091 2001-10-02 Akim Demaille <akim@epita.fr>
3092
3093 * tests/regression.at (Invalid input): New.
3094 * src/lex.c (lex): Be sure to set `token_buffer' in any case.
3095 Reported by Shura.
3096
3097 2001-10-02 Akim Demaille <akim@epita.fr>
3098
3099 * tests/calc.at: Now that --debug works, the tests must be adjusted.
3100
3101 2001-10-02 Akim Demaille <akim@epita.fr>
3102
3103 * src/output.c (output_parser): Assert `skeleton'.
3104 * src/files.c (skeleton_find): Look harder for skeletons on DOSish
3105 systems.
3106 From Shura.
3107
3108 2001-10-01 Marc Autret <autret_m@epita.fr>
3109
3110 * src/lex.h: Echo modifications.
3111 * src/lex.c (unlex): Parameter is now token_t.
3112 From Hans Aberg.
3113
3114 2001-10-01 Marc Autret <autret_m@epita.fr>
3115
3116 * src/main.c: Include lex.h.
3117 From Hans Aberg.
3118
3119 2001-09-29 Akim Demaille <akim@epita.fr>
3120
3121 * src/getargs.c (longopts): `--debug' is `-t', not `-d'.
3122
3123 2001-09-28 Akim Demaille <akim@epita.fr>
3124
3125 * tests/testsuite.at: Update to newer Autotest.
3126 * tests/Makefile.am (EXTRA_DIST): bison is not to be shipped.
3127
3128 2001-09-27 Akim Demaille <akim@epita.fr>
3129
3130 Position independent wrapper.
3131
3132 * tests/bison: Remove.
3133 * tests/bison.in: New.
3134 * configure.in: Adjust.
3135
3136 2001-09-27 Paul Eggert <eggert@twinsun.com>
3137
3138 Port quotearg fixes from tar 1.13.24.
3139
3140 * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
3141 tm to be declared.
3142 (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
3143 (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
3144
3145 * m4/Makefile.am (EXTRA_DIST): Add mbrtowc.m4.
3146 * m4/mbrtowc.m4: New file.
3147 * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for mbsinit and stddef.h.
3148 Use jm_FUNC_MBRTOWC instead of AC_CHECK_FUNCS(mbrtowc).
3149
3150 2001-09-27 Akim Demaille <akim@epita.fr>
3151
3152 Bump to 1.29c.
3153
3154 2001-09-27 Akim Demaille <akim@epita.fr>
3155
3156 Version 1.29b.
3157
3158 2001-09-25 Akim Demaille <akim@epita.fr>
3159
3160 * src/system.h: Include `xalloc.h'.
3161 Remove it from the C files.
3162 * src/files.c (output_files): Free the obstacks.
3163 * src/lex.c (init_lex): Rename as...
3164 (lex_init): this.
3165 (lex_free): New.
3166 * src/main.c (main): Use it.
3167
3168 2001-09-24 Marc Autret <autret_m@epita.fr>
3169
3170 * src/vcg.c (open_edge, close_edge, open_node, close_node): Change
3171 to output informations in fout (FILE*).
3172 (open_graph, close_graph): Likewise.
3173 (output_graph, output_edge, output_node): Likewise.
3174 * src/vcg.h: Update function prototypes.
3175 * src/print_graph.c (print_graph): Open output graph file.
3176 (print_actions): Adjust.
3177 * src/files.h: Remove extern declaration.
3178 * src/files.c: Remove graph_obstack declaration.
3179 (open_files): Remove graph_obstack initialization.
3180 (output_files): Remove graph_obstack saving.
3181
3182 2001-09-24 Marc Autret <autret_m@epita.fr>
3183
3184 * src/files.c (compute_output_file_names): Fix.
3185
3186 2001-09-24 Marc Autret <autret_m@epita.fr>,
3187 Akim Demaille <akim@epita.fr>
3188
3189 * src/reader.c (reader): Remove call to free_symtab ().
3190 * src/main.c (main): Call it here.
3191 Include symtab.h.
3192 * src/conflicts.c (initialize_conflicts): Rename as...
3193 (solve_conflicts): this.
3194 * src/print.c (print_core, print_actions, print_state)
3195 (print_grammar): Dump to a file instead a `output_obstack'.
3196 (print_results): Dump `output_obstack', and then proceed with the
3197 FILE *.
3198 * src/files.c (compute_output_file_names, close_files): New.
3199 (output_files): Adjust.
3200 * src/main.c (main): Adjust.
3201
3202 2001-09-23 Marc Autret <autret_m@epita.fr>
3203
3204 * src/files.c (compute_header_macro): Computes header macro name
3205 from spec_defines_file when given.
3206
3207 2001-09-23 Marc Autret <autret_m@epita.fr>
3208
3209 * src/files.c (output_files): Add default extensions.
3210
3211 2001-09-22 Akim Demaille <akim@epita.fr>
3212
3213 * src/conflicts.c (finalize_conflicts): Rename as...
3214 (free_conflicts): this.
3215
3216 2001-09-22 Akim Demaille <akim@epita.fr>
3217
3218 * src/gram.c (gram_free): Rename back as...
3219 (dummy): this.
3220 (output_token_translations): Free `token_translations'.
3221 * src/symtab.c (free_symtab): Free the tag field.
3222
3223 2001-09-22 Akim Demaille <akim@epita.fr>
3224
3225 Remove `translations' as it is always set to true.
3226
3227 * src/gram.h: Adjust.
3228 * src/reader.c (packsymbols, parse_token_decl): Adjust
3229 * src/print.c (print_grammar): Adjust.
3230 * src/output.c (output_token_translations): Adjust.
3231 * src/lex.c (lex): Adjust.
3232 * src/gram.c: Be sure the set pointers to NULL.
3233 (dummy): Rename as...
3234 (gram_free): this.
3235
3236 2001-09-22 Akim Demaille <akim@epita.fr>
3237
3238 * configure.in: Invoke AM_LIB_DMALLOC.
3239 * src/system.h: Use dmalloc.
3240 * src/LR0.c: Be sure to have pointers initialized to NULL.
3241 (allocate_itemsets): Allocate kernel_items only if needed.
3242
3243 2001-09-22 Akim Demaille <akim@epita.fr>
3244
3245 * configure.in: Bump to 1.29b.
3246 * tests/Makefile.am (DISTCLEANFILES): Add package.m4.
3247 * tests/calc.at (_AT_DATA_CALC_Y): #undef malloc so that we don't
3248 need xmalloc.c in calc.y.
3249 From Pascal Bart.
3250
3251 2001-09-21 Akim Demaille <akim@epita.fr>
3252
3253 Version 1.29a.
3254 * Makefile.maint, config/config.guess, config/config.sub,
3255 * config/missing: Update from masters.
3256 * tests/Makefile.am ($(srcdir)/$(TESTSUITE)): No longer depend
3257 upon package.m4.
3258 * configure.in (ALL_LINGUAS): Add `tr'.
3259
3260 2001-09-21 Akim Demaille <akim@epita.fr>
3261
3262 * tests/Makefile.am (package.m4): Move to...
3263 ($(srcdir)/$(TESTSUITE)): here.
3264
3265 2001-09-20 Akim Demaille <akim@epita.fr>
3266
3267 * src/complain.c: No longer try to be standalone: use system.h.
3268 Don't assume __STDC__ is defined to 1. Just test if it is defined.
3269 * src/complain.h: Likewise.
3270 * src/reduce.c (useless_nonterminals, inaccessable_symbols):
3271 Remove the unused variable `n'.
3272 From Albert Chin-A-Young.
3273
3274 2001-09-18 Marc Autret <autret_m@epita.fr>
3275
3276 * doc/bison.1: Update.
3277 * doc/bison.texinfo (Bison Options): Update --defines and --graph
3278 descriptions.
3279 (Option Cross Key): Update.
3280 Add --graph.
3281
3282 2001-09-18 Marc Autret <autret_m@epita.fr>
3283
3284 * tests/regression.at: New test (comment in %union).
3285
3286 2001-09-18 Marc Autret <autret_m@epita.fr>
3287
3288 * src/reader.c (parse_union_decl): Do not output '/'. Let copy_comment
3289 do that.
3290 Reported by Keith Browne.
3291
3292 2001-09-18 Marc Autret <autret_m@epita.fr>
3293
3294 * tests/output.at: Add tests for --defines and --graph.
3295
3296 2001-09-18 Marc Autret <autret_m@epita.fr>
3297
3298 * tests/output.at: Removes tests of %{header,src}_extension features.
3299
3300 2001-09-18 Akim Demaille <akim@epita.fr>
3301
3302 * tests/Makefile.am (package.m4): New.
3303 * tests/calc.at (_AT_CHECK_CALC): Just run `calc input'.
3304 (_AT_CHECK_CALC_ERROR): Likewise.
3305 Factor the `, ' part of verbose error messages.
3306
3307 2001-09-18 Marc Autret <autret_m@epita.fr>
3308
3309 * src/getargs.c (longopts): Declare --defines and --graph as options
3310 with optional arguments.
3311 * src/files.h: Add extern declarations.
3312 * src/files.c (spec_graph_file, spec_defines_file): New.
3313 (output_files): Update.
3314 Remove CPP-outed code.
3315
3316 2001-09-18 Marc Autret <autret_m@epita.fr>
3317
3318 Turn off %{source,header}_extension feature.
3319
3320 * src/files.c (compute_exts_from_gf): Update.
3321 (compute_exts_from_src): Update.
3322 (output_files): CPP-out useless code.
3323 * src/files.h: Remove {header,source}_extension extern declarations.
3324 * src/reader.c (parse_dquoted_param): CPP-out.
3325 (parse_header_extension_decl): Remove.
3326 (parse_source_extension_decl): Remove.
3327 (read_declarations): Remove cases tok_{hdrext,srcext}.
3328 * src/lex.c (percent_table): Remove {header,source}_extension entries.
3329 * src/lex.h (token_t): Remove tok_hdrext and tok_srcext.
3330
3331 2001-09-10 Akim Demaille <akim@epita.fr>
3332
3333 * tests/output.at (AT_CHECK_BISON_FLAGS, AT_CHECK_BISON_PERCENT):
3334 (AT_CHECK_BISON_PERCENT_FLAGS): Merge into...
3335 (AT_CHECK_OUTPUT): this.
3336 Merely check ls' exit status, its output is useless.
3337
3338 2001-09-10 Akim Demaille <akim@epita.fr>
3339
3340 * tests/calc.at: Use m4_match.
3341 (_AT_DATA_CALC_Y): Check `yyin != NULL', not `stdin != NULL'.
3342
3343 2001-09-10 Marc Autret <autret_m@epita.fr>,
3344 Akim Demaille <akim@epita.fr>
3345
3346 * src/vcg.h (graph_s): color, textcolor, bordercolor are now
3347 enum color_e.
3348 * src/print_graph.c (print_graph): Initalize graph.layoutalgorithm
3349 to `normal'.
3350 * src/reader.c (parse_token_decl): Initialize token with tok_eof.
3351 * src/lex.h: Adjust prototype.
3352 (token_t): Add `tok_undef'.
3353 * src/lex.c (struct percent_table_struct): Retval is now a token_t.
3354 (parse_percent_token): Now returns token_t.
3355 Add default statement in switch.
3356 (lex): Separate `c' as an input variable, from the token_t result
3357 part.
3358 (unlexed): Is a token_t.
3359
3360 2001-09-10 Akim Demaille <akim@epita.fr>
3361
3362 * configure.in: Bump to 1.29a.
3363
3364 2001-09-07 Akim Demaille <akim@epita.fr>
3365
3366 Version 1.29.
3367
3368 2001-08-30 Akim Demaille <akim@epita.fr>
3369
3370 * tests/atgeneral.m4, tests/atconfig.in, tests/suite.at: Remove.
3371 * m4/atconfig.m4: Remove.
3372 * tests/testsuite.at, tests/atlocal.in, tests/output.at,
3373 * tests/bison: New.
3374 * tests/regression.at, tests/calc.at: Use m4_define, AT_BANNER,
3375 m4_if, m4_patsubst, and m4_regexp.
3376 * tests/calc.at (_AT_CHECK_CALC, _AT_CHECK_CALC_ERROR): Use an
3377 `input' file instead of echo.
3378
3379 2001-08-29 Akim Demaille <akim@epita.fr>
3380
3381 Bump to 1.28e.
3382
3383 2001-08-29 Akim Demaille <akim@epita.fr>
3384
3385 Version 1.28d.
3386
3387 2001-08-29 Paul Eggert <eggert@twinsun.com>
3388
3389 * src/bison.simple (yyparse): Don't take the address of an
3390 item before the start of an array, as that doesn't conform to
3391 the C Standard.
3392
3393 2001-08-29 Robert Anisko <anisko_r@epita.fr>
3394
3395 * doc/bison.texinfo (Location Tracking Calc): New node.
3396
3397 2001-08-29 Paul Eggert <eggert@twinsun.com>
3398
3399 * src/output.c (output): Do not define const, as this now
3400 causes more problems than it cures.
3401
3402 2001-08-29 Akim Demaille <akim@epita.fr>
3403
3404 * doc/bison.texinfo: Modernize `@node' and `@top' use: just name
3405 the nodes.
3406 Be sure to tag the `detailmenu'.
3407
3408 2001-08-29 Akim Demaille <akim@epita.fr>
3409
3410 * Makefile.maint (do-po-update): Wget refuses to overwrite files:
3411 download in a tmp dir.
3412
3413 2001-08-28 Marc Autret <autret_m@epita.fr>
3414
3415 * config/depcomp: New file.
3416
3417 2001-08-28 Marc Autret <autret_m@epita.fr>
3418
3419 * doc/bison.1 (mandoc): Adjust.
3420 From Juan Manuel Guerrero.
3421
3422 2001-08-28 Marc Autret <autret_m@epita.fr>
3423
3424 * src/print_graph.c (print_state): Fix.
3425
3426 2001-08-27 Marc Autret <autret_m@epita.fr>
3427
3428 * src/vcg.h (classname_s, infoname_s, node_s): Constify the
3429 char * members.
3430 Echo modifications to the functions prototypes.
3431 * src/vcg.c (add_classname, add_infoname): Adjust arguments.
3432
3433 2001-08-27 Marc Autret <autret_m@epita.fr>
3434
3435 * src/vcg.c: Include `xalloc.h'.
3436 (add_colorentry): New.
3437 (add_classname): New.
3438 (add_infoname): New.
3439 * src/vcg.h: Add new prototypes.
3440
3441 2001-08-27 Akim Demaille <akim@epita.fr>
3442
3443 * Makefile.maint: Sync. again with CVS Autoconf.
3444
3445 2001-08-27 Akim Demaille <akim@epita.fr>
3446
3447 * Makefile.maint: Formatting changes.
3448 (po-update, cvs-update, update): New targets.
3449 (AMTAR): Remove.
3450
3451 2001-08-27 Akim Demaille <akim@epita.fr>
3452
3453 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
3454 * Makefile.maint: Sync. with CVS Autoconf.
3455
3456 2001-08-27 Marc Autret <autret_m@epita.fr>
3457
3458 * src/vcg.h (struct infoname_s): New.
3459 (struct colorentry_s): New.
3460 (graph_s): New fields {vertical,horizontal}_order in structure.
3461 Add `infoname' field.
3462 Add `colorentry' field;
3463 * src/vcg_defaults.h (G_VERTICAL_ORDER): New.
3464 (G_HORIZONTAL_ORDER): New.
3465 (G_INFONAME): New.
3466 (G_COLORENTRY): New.
3467 * src/vcg.c (output_graph): Add output of {vertical,horizontal}_order.
3468 Add output of `infoname'.
3469 Add output of `colorentry'.
3470
3471 2001-08-27 Marc Autret <autret_m@epita.fr>
3472
3473 * src/reader.c (parse_dquoted_param): Rename variable `index' to `i'.
3474 This one shadowed a global parameter.
3475
3476 2001-08-24 Marc Autret <autret_m@epita.fr>
3477
3478 * src/print_graph.c (node_output_size): Declared POSIX `size_t' type,
3479 instead of `unsigned'.
3480 (print_state): Do not call obstack_object_size () in obstack_grow ()
3481 to avoid macro variables shadowing.
3482
3483 2001-08-23 Marc Autret <autret_m@epita.fr>
3484
3485 * src/lex.c (percent_table): Typo: s/naem/name/.
3486 Add graph option.
3487 Normalize new options declarations.
3488
3489 2001-08-20 Pascal Bart <pascal.bart@epita.fr>
3490
3491 * tests/suite.at: Exercise %header_extension and %source_extension.
3492
3493 2001-08-16 Marc Autret <autret_m@epita.fr>
3494
3495 * src/reader.c (parse_dquoted_param): New.
3496 (parse_header_extension_decl): Use it.
3497 (parse_source_extension_decl): Likewise.
3498
3499 2001-08-16 Marc Autret <autret_m@epita.fr>
3500
3501 * src/vcg.c: Remove includes of `complain.h' and `xalloc.h'.
3502 (get_xxxx_str): Use assert () instead of complain ().
3503 Remove return invokations in default cases.
3504 (get_decision_str): Modify default behaviour. Remove second argument.
3505 Echo modifications on calls.
3506 (output_graph): Fix.
3507
3508 2001-08-16 Marc Autret <autret_m@epita.fr>
3509
3510 * src/getargs.c (usage): Update with ``-g, --graph''.
3511
3512 2001-08-16 Marc Autret <autret_m@epita.fr>
3513
3514 * doc/bison.texinfo (Bison Options): Add items `-g', `--graph'.
3515 (Option Cross Key): Likewise.
3516 * doc/bison.1: Update.
3517
3518 2001-09-25 Pascal Bart <pascal.bart@epita.fr>
3519
3520 * src/output.c (output_master_parser): Don't finish action_obstack.
3521 (output_parser): Don't care about the muscle action, here.
3522 (prepare): Copy the action_obstack in the action muscle.
3523 (output): Free action_obstack.
3524
3525 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
3526
3527 * src/reader.c (parse_union_decl): Add new obstack union_obstack. Which
3528 will contain `%union' declaration.
3529 (parse_union_decl): Delete #line directive output.
3530 (parse_union_decl): Substitute /attrs_obstack/union_obstack for all
3531 informations about %union.
3532 (parse_union_decl): Copy the union_obstack in the muscle stype.
3533 * src/bison.simple: Add new #line directive.
3534 Add typdef %%stype YYSTYPE.
3535
3536 2001-09-23 Pascal Bart <pascal.bart@epita.fr>
3537
3538 * src/bison.simple: Add new `#line' directive.
3539
3540 2001-09-22 Pascal Bart <pascal.bart@epita.fr>
3541
3542 * src/bison.simple: New `#line' directive.
3543 * src/output.c (output_parser): Support new dynamic muscle input_line.
3544
3545 2001-09-22 Marc Autret <autret_m@epita.fr>
3546
3547 * src/output.c (output_master_parser): New.
3548 (output_parser): Be more re-entrant.
3549
3550 2001-09-21 Marc Autret <autret_m@epita.fr>
3551
3552 * src/reader.c (copy_definition, parse_union_decl): Update and use
3553 `linef' muscle.
3554 (copy_action): Likewise.
3555 Use obstack_1grow ().
3556 * src/muscle_tab.c (muscle_init): Add muscle `linef'.
3557
3558 2001-09-21 Marc Autret <autret_m@epita.fr>
3559
3560 * src/options.c (option_table): Adjust.
3561 * src/lex.c (parse_percent_token): Fix.
3562
3563 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
3564
3565 * src/options.c (symtab.h): Include it, need by lex.h.
3566
3567 2001-09-20 Pascal Bart <pascal.bart@epita.fr>
3568
3569 * src/lex.c (parse_percent_token): Change type of variable `tx', which
3570 is now an option_table_struct*.
3571 (option_strcmp): New function option_strcmp.
3572 (parse_percent_token): Call option_strcmp.
3573 * src/getargs.c (xalloc.h, options.h): Include it.
3574 (getargs): Call create_long_option_table.
3575 (getargs): Free longopts at the end of the function.
3576 (shortopts): Move in options.c.
3577 * src/options.c (create_long_option_table): New function. Convert
3578 information from option_table to option structure.
3579 * src/reader.c (options.h): Include it.
3580
3581 * src/Makefile.am: Adjust.
3582 * src/options.c (option_table): Create from longopts and percent_table.
3583 * src/getargs.c (longopts): Delete.
3584 * src/lex.c (struct percent_table_struct): Delete.
3585 (percent_table): Delete.
3586 (options.h): Include it.
3587 * src/options.c: Create.
3588 * src/options.h: Create.
3589 Declare enum opt_access_e.
3590 Define struct option_table_struct.
3591
3592 2001-09-20 Marc Autret <autret_m@epita.fr>
3593
3594 * doc/bison.texinfo: Adjust terminologies about prologue and epilogue
3595 sections of Bison.
3596
3597 2001-09-19 Pascal Bart <pascal.bart@epita.fr>
3598
3599 * src/bison.simple: s/%%filename/%%skeleton.
3600 * src/muscle_tab.c (getargs.h): Include it.
3601 (muscle_init): Insert new muscle skeleton.
3602
3603 2001-09-18 Pascal Bart <pascal.bart@epita.fr>
3604
3605 * src/output.c (output_parser): Delete unused variable actions_dumped.
3606
3607 2001-09-07 Pascal Bart <pascal.bart@epita.fr>
3608
3609 * src/output.c (output): Delete call to reader_output_yylsp.
3610 * src/reader.c (reader): Likewise.
3611 * src/reader.h: Delete declaration of reader_output_yylsp.
3612
3613 2001-09-02 Marc Autret <autret_m@epita.fr>
3614
3615 * src/reader.c: Include muscle_tab.h.
3616 (parse_union_decl): Update.
3617 (parse_macro_decl): Rename parse_muscle_decl.
3618 Update to use renamed functions and variable.
3619 (read_declarations, copy_action, read_additionnal_code, : Updated
3620 with correct variables and functions names.
3621 (packsymbols, reader): Likewise.
3622
3623 * src/reader.h (muscle_obstack): Extern declaration update.
3624
3625 * src/output.c: Include muscle_tab.h
3626 In all functions using macro_insert, change by using muscle_insert ().
3627 (macro_obstack): Rename muscle_obstack.
3628 Echo modifications in the whole file.
3629 (MACRO_INSERT_INT): Rename MUSCLE_INSERT_INT.
3630 (MACRO_INSERT_STRING): Rename MUSCLE_INSERT_STRING.
3631 (MACRO_INSERT_PREFIX): Rename MUSCLE_INSERT_PREFIX.
3632
3633 * src/muscle_tab.h: Update double inclusion macros.
3634 (macro_entry_s): Rename muscle_entry_s.
3635 Update prototypes.
3636
3637 * src/muscle_tab.c: Include muscle_tab.h.
3638 Rename macro_tabble to muscle_table.
3639 (mhash1, mhash2, mcmp): Use muscle_entry.
3640 (macro_init): Rename muscle_init. Update.
3641 (macro_insert): Rename muscle_insert. Update.
3642 (macro_find): Rename muscle_find. Update.
3643
3644 * src/main.c: Include muscle_tab.h.
3645 (main): Call muscle_init ().
3646 * src/Makefile.am (bison_SOURCES): Echo modifications.
3647
3648 2001-09-02 Marc Autret <autret_m@epita.fr>
3649
3650 Now the files macro_tab.[ch] are named muscle_tab.[ch].
3651
3652 * src/muscle_tab.c, src/muscle_tab.h: Add files.
3653
3654 2001-09-02 Marc Autret <autret_m@epita.fr>
3655
3656 * src/macrotab.c, src/macrotab.h: Remove.
3657
3658 2001-09-01 Pascal Bart <pascal.bart@epita.fr>
3659
3660 * src/reader.c (copy_guard): Use muscle to specify the `#line'
3661 filename.
3662
3663 2001-09-01 Marc Autret <autret_m@epita.fr>
3664
3665 * tests/calc.at (exp): Now, YYERROR_VERBOSE need to be set
3666 to an explicit value to activate the feature. We do it here.
3667
3668 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3669
3670 * src/output.c (prepare): Delete the `filename' muscule insertion.
3671 * src/reader.c (copy_action): Use `filename' muscule with `#line'.
3672 (parse_union_decl): Likewise.
3673 * src/macrotab.c (macro_init): Initialize filename by infile.
3674
3675 2001-08-31 Marc Autret <autret_m@epita.fr>
3676
3677 * src/bison.simple (YYLSP_NEEDED): New definition.
3678 * src/output.c (prepare): Add macro insertion of `locations_flag'
3679
3680 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3681
3682 * src/output.c (prepare): Delete insertion of previous muscles,
3683 and insert the `prefix' muscles.
3684 * src/macrotab.c (macro_init): Likewise.
3685 (macro_init): Initialization prefix directive by `yy'.
3686 * src/bison.simple: Substitute all %%yylex, %%yychar, %%yylval,
3687 %%yydebug, %%yyerror, %%yynerrs and %%yyparse by yylex, yychar,
3688 yylval, yydebug, yyerror, yynerrs and yyparse.
3689 New directive `#define' to substitute yydebug, ... with option
3690 name_prefix.
3691
3692 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3693
3694 * src/main.c (main): Standardize.
3695 * src/output.c (output_table_data, output_parser): Likewise.
3696 * src/macrotab.h, src/macrotab.c, src/bison.simple: Likewise.
3697
3698 2001-08-31 Pascal Bart <pascal.bart@epita.fr>, Marc Autret <autret_m@epita.fr>
3699
3700 * src/reader.c (read_additionnal_code): Rename %%user_code to
3701 %%epilogue.
3702 * src/output.c (output): Rename %%declarations to %%prologue.
3703 * src/bison.simple: Echo modifications.
3704
3705 2001-08-31 Marc Autret <autret_m@epita.fr>
3706
3707 * src/reader.c (readgram): CleanUp.
3708 (output_token_defines): Likewise.
3709 (packsymbols): Likewise.
3710 (reader): Likewise.
3711 * src/output.c (output): CPP-out useless code.
3712
3713 2001-08-31 Pascal Bart <pascal.bart@epita.fr>
3714
3715 * src/reader.c (reader): Delete obsolete call to function
3716 output_trailers and output_headers.
3717 * src/output.h: Remove obsolete functions prototypes of output_headers
3718 and output_trailers.
3719
3720 2001-08-30 Pascal Bart <pascal.bart@epita.fr>
3721
3722 * src/main.c: Include macrotab.h.
3723 * src/macrotab.h (macro_entry_s): Constify fields.
3724 Adjust functions prototypes.
3725 * src/macrotab.c (macro_insert): Constify key and value.
3726 (macro_find): Constify key.
3727 (macro_insert): Include 'xalloc.h'
3728 (macro_insert): Use XMALLOC.
3729 (macro_find): Constify return value.
3730 * src/output.c (output_table_data): Rename table to table_data.
3731 (output_parser): Constify macro_key, macro_value.
3732
3733 2001-08-30 Marc Autret <autret_m@epita.fr>
3734
3735 * src/reader.c (parse_skel_decl): New.
3736 (read_declarations): Add case `tok_skel', call parse_skel_decl ().
3737 * src/lex.h (token_t): New token `tok_skel'.
3738 * src/lex.c (percent_table): Add skeleton option entry.
3739 Standardize.
3740
3741 2001-08-29 Marc Autret <autret_m@epita.fr>
3742
3743 * src/bison.simple: Add %%user_code directive at the end.
3744 * src/reader.c (read_additionnal_code): New.
3745 (reader): Use it.
3746 * src/output.c (output_program): Remove.
3747 (output): Update.
3748
3749 2001-08-28 Marc Autret <autret_m@epita.fr>
3750
3751 * src/output.c (output_actions): Clean up.
3752 (output_gram): CPP-out useless code.
3753 * src/reader.c (reader): Clean up, CPP-out useless code.
3754
3755 2001-08-28 Pascal Bart <pascal.bart@epita.fr>
3756
3757 * src/output.c (output): Copy attrs_obstack in the '%%definitions'
3758 directive.
3759 * src/bison.simple: Add `%%definitions'.
3760
3761 2001-08-28 Marc Autret <autret_m@epita.fr>
3762
3763 * config/depcomp: New file.
3764
3765 2001-08-27 Paul Eggert <eggert@twinsun.com>
3766
3767 * src/bison.simple (yyparse): Don't take the address of an
3768 item before the start of an array, as that doesn't conform to
3769 the C Standard.
3770
3771 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3772
3773 * src/output.c (output): Remove the initialization of the macro
3774 obstack. It was done too late here.
3775
3776 * src/reader.c (parse_macro_decl): Fix. Use of the macro obstack was
3777 completely wrong.
3778 (reader): Initialize the macro obstack here, since we need it to grow
3779 '%define' directives.
3780
3781 * src/reader.h: Declare the macro obstack as extern.
3782
3783 2001-08-27 Robert Anisko <robert.anisko@epita.fr>
3784
3785 * src/output.c (output_parser): Fix. Store single '%' characters in
3786 the output obstack instead of throwing them away.
3787
3788 2001-08-27 Akim Demaille <akim@epita.fr>
3789
3790 * Makefile.am (AUTOMAKE_OPTIONS): 1.5.
3791
3792 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3793
3794 * lib/Makefile.am: Adjust.
3795
3796 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3797
3798 * src/bison.simple: Update and add '%%' directives.
3799
3800 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3801
3802 * src/reader.c (reader): Remove calls to 'output_headers' and
3803 'output_trailers'. Remove some C output.
3804 (readgram): Disable a piece of code that was writing a default
3805 definition for 'YYSTYPE'.
3806 (reader_output_yylsp): Remove.
3807 (packsymbols): Output token defintions to a macro.
3808 (copy_definition): Disable C output.
3809
3810 * src/reader.c (parse_macro_decl): New function used to parse macro
3811 declarations.
3812 (copy_string2): Put the body of copy_string into this new function.
3813 Add a parameter to let the caller choose whether he wants to copy the
3814 string delimiters or not.
3815 (copy_string): Be a simple call to copy_string2 with the last argument
3816 bound to true.
3817 (read_declarations): Add case for macro definition.
3818 (copy_identifier): New.
3819 (parse_macro_decl): Read macro identifiers using copy_identifier
3820 rather than lex.
3821
3822 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3823
3824 * src/output.c (prepare): Add prefixed names.
3825 (output_parser): Output semantic actions.
3826 (output_parser): Fix bug on '%%line' directives.
3827
3828 * src/output.c (output_headers): Remove. The C code printed by this
3829 function should now be in the skeletons.
3830 (output_trailers): Remove.
3831 (output): Disable call to 'reader_output_yylsp'.
3832 (output_rule_data): Do not output tables to the table obstack.
3833
3834 * src/output.c: Remove some C dedicated output.
3835 Improve the use of macro and output obstacks.
3836 (output_defines): Remove.
3837
3838 * src/output.c (output_token_translations): Associate 'translate'
3839 table with a macro. No output to the table obstack.
3840 (output_gram): Same for 'rhs' and 'prhs'.
3841 (output_stos): Same for 'stos'.
3842 (output_rule_data): Same for 'r1' and 'r2'.
3843 (token_actions): Same for 'defact'.
3844 (goto_actions): Same for 'defgoto'.
3845 (output_base): Same for 'pact' and 'pgoto'.
3846 (output_table): Same for 'table'.
3847 (output_check): Same for 'check'.
3848
3849 * src/output.c (output_table_data): New function.
3850 (output_short_table): Remove.
3851 (output_short_or_char_table): Remove.
3852
3853 * src/output.c (output_parser): Replace most of the skeleton copy code
3854 with something new. Skeletons are now processed character by character
3855 rather than line by line, and Bison looks for '%%' macros. This is the
3856 first step in making Bison's output process (a lot) more flexible.
3857 (output_parser): Use the macro table.
3858
3859 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3860
3861 * src/main.c (main): Initialize the macro table.
3862
3863 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3864
3865 * src/lex.c (percent_table): Add tok_define.
3866 * src/lex.h: Add tok_define.
3867
3868 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3869
3870 * src/macrotab.c: New file.
3871 * src/macrotab.h: New file.
3872 * src/Makefile.am: Update.
3873
3874 2001-08-25 Robert Anisko <robert.anisko@epita.fr>
3875
3876 * lib/hash.c: New file.
3877 * lib/hash.h: New file.
3878 * lib/Makefile.am: Update.
3879
3880 2001-08-15 Akim Demaille <akim@epita.fr>
3881
3882 Version 1.28c.
3883
3884 2001-08-15 Marc Autret <autret_m@epita.fr>
3885
3886 * src/reader.c (readgram): Indent output macro YYSTYPE.
3887 (packsymbols): Likewise.
3888 (output_token_defines): Likewise.
3889 * src/files.c: Standardize.
3890 (compute_header_macro): New.
3891 (defines_obstack_save): New. Use compute_header_macro.
3892 (output_files): Update. Use defines_obstack_save.
3893
3894 2001-08-15 Akim Demaille <akim@epita.fr>
3895
3896 * doc/bison.texinfo (Table of Symbols): Document
3897 YYSTACK_USE_ALLOCA.
3898
3899 2001-08-15 Akim Demaille <akim@epita.fr>
3900
3901 * missing: Update from CVS Automake.
3902 * config/config.guess, config/config.sub, config/texinfo.tex:
3903 Update from gnu.org.
3904
3905 2001-08-15 Akim Demaille <akim@epita.fr>
3906
3907 * Makefile.maint: Sync with CVS Autoconf.
3908
3909 2001-08-14 Pascal Bart <pascal.bart@epita.fr>
3910
3911 * doc/bison.texinfo: Include GNU Free Documentation License from
3912 `fdl.texi'.
3913 * doc/fdl.texi: Add to package.
3914
3915 2001-08-14 Marc Autret <autret_m@epita.fr>
3916
3917 Turn on %{source,header}_extension features.
3918
3919 * src/lex.c (percent_table): Un-CPP out header_extension and
3920 source_extension.
3921 * src/files.c (compute_exts_from_gf): Compare pointers with NULL.
3922 (compute_exts_from_src): Remove conditions. It restores priorities
3923 between options.
3924
3925 2001-08-14 Marc Autret <autret_m@epita.fr>
3926
3927 * src/files.c (compute_base_names): Add extensions computing when
3928 `--file-prefix' used.
3929 Standardize function calls.
3930
3931 2001-08-13 Marc Autret <autret_m@epita.fr>
3932
3933 * src/bison.simple (YYSTACK_USE_ALLOCA): Changed to allow users
3934 defining it (defined but null disables alloca).
3935
3936 2001-08-13 Marc Autret <autret_m@epita.fr>
3937
3938 * src/bison.simple (_yy_memcpy): CPP reformat.
3939
3940 2001-08-13 Pascal Bart <pascal.bart@epita.fr>
3941
3942 * tests/atconfig.in (CPPFLAGS): Fix.
3943
3944 2001-08-10 Pascal Bart <pascal.bart@epita.fr>
3945
3946 * doc/bison.texinfo: Include GNU General Public License from
3947 `gpl.texi'.
3948 * doc/gpl.texi: Add to package.
3949
3950 2001-08-10 Marc Autret <autret_m@epita.fr>
3951
3952 * src/print_graph.h: Fix.
3953 * src/reader.c (read_declarations): Use parse_header_extension_decl ().
3954
3955 2001-08-10 Akim Demaille <akim@epita.fr>
3956
3957 * src/system.h: Provide default declarations for stpcpy, strndup,
3958 and strnlen.
3959
3960 2001-08-10 Robert Anisko <anisko_r@epita.fr>
3961
3962 * doc/bison.texinfo (Locations): Update @$ stuff.
3963
3964 2001-08-09 Robert Anisko <anisko_r@epita.fr>
3965
3966 * src/bison.simple (YYLLOC_DEFAULT): Update.
3967 (yyparse): Adjust.
3968
3969 2001-08-08 Marc Autret <autret_m@epita.fr>
3970
3971 * doc/bison.texinfo: Change @samp{$<@dots{}>} to
3972 @samp{$<@dots{}>@var{n}} in Section Actions in Mid-Rule.
3973 Reported by Fabrice Bauzac.
3974
3975 2001-08-08 Marc Autret <autret_m@epita.fr>
3976
3977 * src/vcg_default.h: Use NULL instead of 0 to initialize pointers.
3978 * src/vcg.c (output_node): Fix.
3979 * src/vcg.h: Cleanup.
3980 * src/print_graph.c: Add comments.
3981 (node_output_size): New global variable. Simplify the formatting of
3982 the VCG graph output.
3983 (print_actions): Unused code is now used. It notifies the final state
3984 and no action states in the VCG graph. It also give the reduce actions.
3985 The `shift and goto' edges are red and the `go to state' edges are
3986 blue.
3987 Get the current node name and node_obstack by argument.
3988 (node_obstack): New variable.
3989 (print_state): Manage node_obstack.
3990 (print_core): Use node_obstack given by argument.
3991 A node is not only computed here but in print_actions also.
3992 (print_graph): CPP out useless code instead of commenting it.
3993
3994 2001-08-07 Pascal Bart <pascal.bart@epita.fr>
3995
3996 * tests/atconfig.in (CPPFLAGS): Fix.
3997
3998 2001-08-07 Akim Demaille <akim@epita.fr>
3999
4000 * src/print_graph.c (quote): New.
4001 (print_core): Use it.
4002
4003 2001-08-06 Akim Demaille <akim@epita.fr>, Marc Autret <autret_m@epita.fr>
4004
4005 * src/vcg.c (complain.h): Include it.
4006 Unepitaize `return' invocations.
4007 [NDEBUG] (main): Remove.
4008 * src/vcg.h (node_t, edge_t, graph_t): Constify the char * members.
4009 * src/files.c (open_files): Initialize graph_obstack.
4010 * src/print_graph.c (print_actions): CPP out useless code.
4011 (print_core): Don't output the last `\n' in labels.
4012 Use `quote'.
4013 * src/files.c (output_files): Output the VCG file.
4014 * src/main.c (main): Invoke print_graph ();
4015
4016 2001-08-06 Marc Autret <autret_m@epita.fr>
4017
4018 Automaton VCG graph output.
4019 Using option ``-g'' or long option ``--graph'', you can generate
4020 a gram_filename.vcg file containing a VCG description of the LALR (1)
4021 automaton of your grammar.
4022
4023 * src/main.c: Call to print_graph() function.
4024 * src/getargs.h: Update.
4025 * src/getargs.c (options): Update to catch `-g' and `--graph' options.
4026 (graph_flag): New flag.
4027 (longopts): Update.
4028 (getargs): Add case `g'.
4029 * src/files.c (graph_obstack): New obstack struct.
4030 (open_files): Initialize new obstack.
4031 (output_files): Saves graph_obstack if required.
4032 * src/files.h (graph_obstack): New extern declaration.
4033 * src/Makefile.am: Add new source files.
4034
4035 2001-08-06 Marc Autret <autret_m@epita.fr>
4036
4037 * src/print_graph.c, src/print_graph.h (graph): New.
4038 * src/vcg.h: New file.
4039 * src/vcg.c: New file, VCG graph handling.
4040
4041 2001-08-06 Marc Autret <autret_m@epita.fr>
4042
4043 Add of %source_extension and %header_extension which specify
4044 the source or/and the header output file extension.
4045
4046 * src/files.c (compute_base_names): Remove initialisation of
4047 src_extension and header_extension.
4048 (compute_exts_from_gf): Update.
4049 (compute_exts_from_src): Update.
4050 (output_files): Update.
4051 * src/reader.c (parse_header_extension_decl): New.
4052 (parse_source_extension_decl): New.
4053 (read_declarations): New case statements for the new tokens.
4054 * src/lex.c (percent_table): Add entries for %source_extension
4055 and %header_extension.
4056 * src/lex.h (token_e): New tokens tok_hdrext and tok_srcext.
4057
4058 2001-08-06 Marc Autret <autret_m@epita.fr>
4059
4060 * configure.in: Bump to 1.28c.
4061 * doc/bison.texinfo: Texinfo thingies.
4062
4063 2001-08-04 Pascal Bart <pascal.bart@epita.fr>
4064
4065 * tests/atconfig.in (CPPFLAGS): Add.
4066 * tests/calc.at (AT_CHECK): Use CPPFLAGS.
4067
4068 2001-08-03 Akim Demaille <akim@epita.fr>
4069
4070 Version 1.28b.
4071
4072 2001-08-03 Akim Demaille <akim@epita.fr>
4073
4074 * tests/Makefile.am (check-local): Ship testsuite.
4075 * tests/calc.at (_AT_DATA_CALC_Y): Prototype all the functions.
4076 Include `string.h'.
4077
4078 2001-08-03 Akim Demaille <akim@epita.fr>
4079
4080 * configure.in: Try using -Wformat when compiling.
4081
4082 2001-08-03 Akim Demaille <akim@epita.fr>
4083
4084 * configure.in: Bump to 1.28b.
4085
4086 2001-08-03 Akim Demaille <akim@epita.fr>
4087
4088 * src/complain.c: Adjust strerror_r portability issues.
4089
4090 2001-08-03 Akim Demaille <akim@epita.fr>
4091
4092 Version 1.28a.
4093
4094 2001-08-03 Akim Demaille <akim@epita.fr>
4095
4096 * src/getargs.c, src/getarg.h (skeleton)): Constify.
4097 * src/lex.c (literalchar): Avoid name clashes on `buf'.
4098 * src/getargs.c: Include complain.h.
4099 * src/files.c, src/files.h (skeleton_find): Avoid name clashes.
4100 * lib/quotearg.c, lib/quotearg.h: Update from fileutils 4.1.
4101
4102 2001-08-03 Akim Demaille <akim@epita.fr>
4103
4104 * src/reader.c (readgram): Display hidden chars in error messages.
4105
4106 2001-08-03 Akim Demaille <akim@epita.fr>
4107
4108 Update to gettext 0.10.39.
4109
4110 2001-08-03 Akim Demaille <akim@epita.fr>
4111
4112 * lib/strspn.c: New.
4113
4114 2001-08-01 Marc Autret <autret_m@epita.fr>
4115
4116 * doc/bison.texinfo: Update.
4117 * doc/bison.1 (mandoc): Update.
4118 * src/system.h (EXT_GUARD_C, EXT_STYPE_H): Remove .c and .h.
4119 * src/files.c: Support output files extensions computing.
4120 (src_extension): New static variable.
4121 (header_extension): New static variable.
4122 (tr): New function.
4123 (get_extension_index): New function, gets the index of an extension
4124 filename in a string.
4125 (compute_exts_from_gf): New function, computes extensions from the
4126 grammar file extension.
4127 (compute_exts_from_src): New functions, computes extensions from the
4128 C source file extension, file given by ``-o'' option.
4129 (compute_base_names): Update.
4130 (output_files): Update.
4131
4132 2001-08-01 Robert Anisko <anisko_r@epita.fr>
4133
4134 * doc/bison.texi: Document @$.
4135 (Locations): New section.
4136
4137 2001-07-18 Akim Demaille <akim@epita.fr>
4138
4139 * Makefile.maint, GNUmakefile: New, from Autoconf 2.52.
4140 * config/prev-version.txt, config/move-if-change: New.
4141 * Makefile.am: Adjust.
4142
4143 2001-07-08 Pascal Bart <pascal.bart@epita.fr>
4144
4145 * src/bison.simple (yyparse): Suppress warning `comparaison
4146 between signed and unsigned'.
4147
4148 2001-07-05 Pascal Bart <pascal.bart@epita.fr>
4149
4150 * src/getargs.h (raw_flag): Remove.
4151 * src/getargs.c: Die on `-r'/`--raw'.
4152 * src/lex.c (parse_percent_token): Die on `%raw'.
4153 * src/reader.c (output_token_defines): Suppress call to `raw_flag'.
4154 * tests/calc.at: Suppress test with option `--raw'.
4155
4156 2001-07-14 Akim Demaille <akim@epita.fr>
4157
4158 * config/: New.
4159 * configure.in: Require Autoconf 2.50.
4160 Update to gettext 0.10.38.
4161
4162 2001-03-16 Akim Demaille <akim@epita.fr>
4163
4164 * doc/bison.texinfo: ANSIfy the examples.
4165
4166 2001-03-16 Akim Demaille <akim@epita.fr>
4167
4168 * getargs.c (skeleton): New variable.
4169 (longopts): --skeleton is a new option.
4170 (shortopts, getargs): -S is a new option.
4171 * getargs.h: Declare skeleton.
4172 * output.c (output_parser): Use it.
4173
4174 2001-03-16 Akim Demaille <akim@epita.fr>
4175
4176 * m4/strerror_r.m4: New.
4177 * m4/error.m4: Run AC_FUNC_STRERROR_R.
4178 * lib/error.h, lib/error.c: Update.
4179
4180 2001-03-16 Akim Demaille <akim@epita.fr>
4181
4182 * src/getargs.c (longopts): Clean up.
4183
4184 2001-02-21 Akim Demaille <akim@epita.fr>
4185
4186 * src/reader.c (gensym): `gensym_count' is your own.
4187 Use a static buf to create the symbol name, as token_buffer is no
4188 longer a buffer.
4189
4190 2001-02-08 Akim Demaille <akim@epita.fr>
4191
4192 * src/conflicts.c (conflict_report): Be sure not to append to res
4193 between two calls, which could happen if both first sprintf were
4194 skipped, but not the first cp += strlen.
4195
4196 2001-02-08 Akim Demaille <akim@epita.fr>
4197
4198 * lib/memchr.c, lib/stpcpy.c, lib/strndup.c, lib/strnlen.c:
4199 New, from fileutils 4.0.37.
4200 * configure.in: Require Autoconf 2.49c. I took some time before
4201 making this decision. This is the only way out for portability
4202 issues in Bison, it would mean way too much duplicate effort to
4203 import in Bison features implemented in 2.49c since 2.13.
4204 AC_REPLACE_FUNCS and AC_CHECK_DECLS the functions above.
4205
4206 2001-02-02 Akim Demaille <akim@epita.fr>
4207
4208 * lib/malloc.c, lib/realloc.c: New, from the fileutils 4.0.37.
4209 * lib/xalloc.h, lib/xmalloc.c: Update.
4210
4211 2001-01-19 Akim Demaille <akim@epita.fr>
4212
4213 Get rid of the ad hoc handling of token_buffer in the scanner: use
4214 the obstacks.
4215
4216 * src/lex.c (token_obstack): New.
4217 (init_lex): Initialize it. No longer call...
4218 (grow_token_buffer): this. Remove it.
4219 Adjust all the places which used it to use the obstack.
4220
4221 2001-01-19 Akim Demaille <akim@epita.fr>
4222
4223 * src/lex.h: Rename all the tokens:
4224 s/\bENDFILE\b/tok_eof/g;
4225 s/\bIDENTIFIER\b/tok_identifier/g;
4226 etc.
4227 Let them be enums, not #define, to ease debugging.
4228 Adjust all the code.
4229
4230 2001-01-18 Akim Demaille <akim@epita.fr>
4231
4232 * src/lex.h (MAXTOKEN, maxtoken, grow_token_buffer): Remove, private.
4233 * src/lex.c (maxtoken, grow_token_buffer): Static.
4234
4235 2001-01-18 Akim Demaille <akim@epita.fr>
4236
4237 Since we now use obstacks, more % directives can be enabled.
4238
4239 * src/lex.c (percent_table): Also accept `%yacc',
4240 `%fixed_output_files', `%defines', `%no_parser', `%verbose', and
4241 `%debug'.
4242 Handle the actions for `%semantic_parser' and `%pure_parser' here,
4243 instead of returning a token.
4244 * src/lex.h (SEMANTIC_PARSER, PURE_PARSER): Remove, unused.
4245 * src/reader.c (read_declarations): Adjust.
4246 * src/files.c (open_files): Don't call `compute_base_names', don't
4247 compute `attrsfile' since they depend upon data which might be
4248 *in* the input file now.
4249 (output_files): Do it here.
4250 * src/output.c (output_headers): Document the fact that this patch
4251 introduces a guaranteed SEGV for semantic parsers.
4252 * doc/bison.texinfo: Document them.
4253 * tests/suite.at: Exercise these %options.
4254
4255 2000-12-20 Akim Demaille <akim@epita.fr>
4256
4257 Also handle the output file (--verbose) with obstacks.
4258
4259 * files.c (foutput): Remove.
4260 (output_obstack): New.
4261 Adjust all dependencies.
4262 * src/conflicts.c: Return a string.
4263 * src/system.h (obstack_grow_string): Rename as...
4264 (obstack_sgrow): this. Be ready to work with non literals.
4265 (obstack_fgrow4): New.
4266
4267 2000-12-20 Akim Demaille <akim@epita.fr>
4268
4269 * src/files.c (open_files): Fix the computation of short_base_name
4270 in the case of `-o foo.tab.c'.
4271
4272 2000-12-20 Akim Demaille <akim@epita.fr>
4273
4274 * src/reader.c (copy_string, copy_comment, copy_comment2, copy_at)
4275 (copy_dollar): Now that everything uses obstacks, get rid of the
4276 FILE * parameters.
4277
4278 2000-12-20 Akim Demaille <akim@epita.fr>
4279
4280 * src/files.c (open_files): Actually the `.output' file is based
4281 on the short_base_name, not base_name.
4282 * tests/suite.at (Checking output file names): Adjust.
4283
4284 2000-12-20 Akim Demaille <akim@epita.fr>
4285
4286 * src/bison.s1: Remove, we now use directly...
4287 * src/bison.simple: this.
4288 * src/Makefile.am: Use pkgdata instead of data.
4289
4290 2000-12-20 Akim Demaille <akim@epita.fr>
4291
4292 * src/files.c (guard_obstack): New.
4293 (open_files): Initialize it.
4294 (output_files): Dump it...
4295 * src/files.h: Export it.
4296 * src/reader.c (copy_guard): Use it.
4297
4298 2000-12-19 Akim Demaille <akim@epita.fr>
4299
4300 * src/files.c (outfile, defsfile, actfile): Removed as global
4301 vars.
4302 (open_files): Don't compute them.
4303 (output_files): Adjust.
4304 (base_name, short_base_name): Be global.
4305 Adjust dependencies.
4306
4307 2000-12-19 Akim Demaille <akim@epita.fr>
4308
4309 * src/files.c (strsuffix): New.
4310 (stringappend): Be just like strcat but allocate.
4311 (base_names): Eve out from open_files.
4312 Try to simplify the rather hairy computation of base_name and
4313 short_base_name.
4314 (open_files): Use it.
4315 * tests/suite.at (Checking output file names): New test.
4316
4317 2000-12-19 Akim Demaille <akim@epita.fr>
4318
4319 * src/system.h (obstack_grow_literal_string): Rename as...
4320 (obstack_grow_string): this.
4321 * src/output.c (output_parser): Recognize `%% actions' instead of
4322 `$'.
4323 * src/bison.s1: s/$/%% actions/.
4324 * src/bison.hairy: Likewise.
4325
4326 2000-12-19 Akim Demaille <akim@epita.fr>
4327
4328 * src/output.c (output_parser): Compute the `#line' lines when
4329 there are.
4330 * src/Makefile.am (bison.simple): Be a simple copy of bison.s1.
4331 Suggested by Hans Aberg.
4332
4333 2000-12-19 Akim Demaille <akim@epita.fr>
4334
4335 Let the handling of the skeleton files be local to the procedures
4336 that use it.
4337
4338 * src/files.c (xfopen, xfclose, skeleton_find, guardfile): No
4339 longer static.
4340 (fparser, open_extra_files): Remove.
4341 (open_files, output_files): Don't take care of fparser.
4342 * src/files.h: Adjust.
4343 * src/output.c (output_parser): Open and close the file to the
4344 skeleton.
4345 * src/reader.c (read_declarations): When %semantic_parser, open
4346 fguard.
4347
4348 2000-12-19 Akim Demaille <akim@epita.fr>
4349
4350 * src/file.h (BISON_SIMPLE, BISON_HAIRY): Move from here...
4351 * src/system.h (BISON_SIMPLE, BISON_HAIRY): ... to here.
4352
4353 2000-12-19 Akim Demaille <akim@epita.fr>
4354
4355 * src/files.c (open_files): Yipee! We no longer need all the code
4356 looking for `/tmp' since we have no tmp file.
4357
4358 2000-12-19 Akim Demaille <akim@epita.fr>
4359
4360 * src/system.h (EXT_TAB, EXT_OUTPUT, EXT_STYPE_H, EXT_GUARD_C):
4361 New macros.
4362 * src/files.c (open_files): Less dependency on MSDOS etc.
4363
4364 2000-12-14 Akim Demaille <akim@epita.fr>
4365
4366 * src/bison.s1 (YYLLOC_DEFAULT): New macro.
4367 Provide a default definition.
4368 Use it when executing the default @ action.
4369 * src/reader.c (reader_output_yylsp): No longer include
4370 `timestamp' and `text' in the default YYLTYPE.
4371
4372 2000-12-12 Akim Demaille <akim@epita.fr>
4373
4374 * src/reader.c (copy_definition, parse_union_decl, copy_action)
4375 (copy_guard): Quote the file names.
4376 Reported by Laurent Mascherpa.
4377
4378 2000-12-12 Akim Demaille <akim@epita.fr>
4379
4380 * src/output.c (output_headers, output_program, output): Be sure
4381 to escape special characters when outputting filenames.
4382 (ACTSTR_PROLOGUE, ACTSTR_EPILOGUE): Remove.
4383 (output_headers): Don't depend on them, Use ACTSTR.
4384
4385 2000-11-17 Akim Demaille <akim@epita.fr>
4386
4387 * lib/obstack.h: Formatting changes.
4388 (obstack_grow, obstack_grow0): Don't cast WHERE at all: it
4389 prevents type checking.
4390 (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
4391 cast the value to (void *): assigning a `foo *' to a `void *'
4392 variable is valid.
4393 (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
4394 * src/reader.c (parse_union_decl): Typo: use obstack_1grow to
4395 append characters.
4396
4397 2000-11-17 Akim Demaille <akim@epita.fr>
4398
4399 * tests/Makefile.am (suite.m4, regression.m4, calc.m4): Rename
4400 as...
4401 (suite.m4, regression.m4, calc.m4): these.
4402 * tests/atgeneral.m4: Update from CVS Autoconf.
4403
4404 2000-11-17 Akim Demaille <akim@epita.fr>
4405
4406 * tests/regression.m4 (%union and --defines): New test,
4407 demonstrating a current bug in the obstack implementation.
4408
4409 2000-11-17 Akim Demaille <akim@epita.fr>
4410
4411 * src/bison.s1 (_YY_DECL_VARIABLES, YY_DECL_VARIABLES): New
4412 macros.
4413 Use them to declare the variables which are global or local to
4414 `yyparse'.
4415
4416 2000-11-17 Akim Demaille <akim@epita.fr>
4417
4418 * acconfig.h: Remove, no longer used.
4419
4420 2000-11-07 Akim Demaille <akim@epita.fr>
4421
4422 * src: s/Copyright (C)/Copyright/g.
4423
4424 2000-11-07 Akim Demaille <akim@epita.fr>
4425
4426 * src/reader.c (reader): #define YYLSP_NEEDED to 1 instead of just
4427 defining.
4428 * src/bison.s1: s/#ifdef YYLSP_NEEDED/#if YYLSP_NEEDED/.
4429
4430 2000-11-07 Akim Demaille <akim@epita.fr>
4431
4432 * src/bison.s1 (YYLEX): Use #if instead of #ifdef.
4433 Merge in a single CPP if/else.
4434
4435 2000-11-07 Akim Demaille <akim@epita.fr>
4436
4437 * src/output.c (output): Remove useless variables.
4438 * lib/obstack.c (obstack_grow, obstack_grow0): Rename the second
4439 argument `data' for consistency with the prototypes.
4440 Qualify it `const'.
4441 (obstack_copy, obstack_copy0): Rename the second argument as
4442 `address' for consistency. Qualify it `const'.
4443 * lib/obstack.h (obstack_copy, obstack_copy0, obstack_grow)
4444 (obstack_grow0, obstack_ptr_grow, obstack_ptr_grow_fast): Qualify
4445 `const' their input argument (`data' or `address').
4446 Adjust the corresponding macros to include `const' in casts.
4447
4448 2000-11-03 Akim Demaille <akim@epita.fr>
4449
4450 * src/Makefile.am (INCLUDES): s/PFILE/BISON_SIMPLE/.
4451 s/PFILE1/BISON_HAIRY/.
4452 Adjust dependencies.
4453
4454 2000-11-03 Akim Demaille <akim@epita.fr>
4455
4456 For some reason, this was not applied.
4457
4458 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
4459 `unlink': it's no longer used.
4460
4461 2000-11-03 Akim Demaille <akim@epita.fr>
4462
4463 * src/files.c (skeleton_find): New function, eved out of...
4464 (open_files, open_extra_files): here.
4465
4466 2000-11-03 Akim Demaille <akim@epita.fr>
4467
4468 Don't use `atexit'.
4469
4470 * src/files.c (obstack_save): New function.
4471 (done): Rename as...
4472 (output_files): this.
4473 Use `obstack_save'.
4474 * src/main.c (main): Don't use `atexit' to register `done', since
4475 it no longer has to remove tmp files, just call `output_files'
4476 when there are no errors.
4477
4478 2000-11-02 Akim Demaille <akim@epita.fr>
4479
4480 * src/files.c [VMS]: No longer include `ssdef.h', no longer define
4481 `unlink': it's no longer used.
4482 * src/files.h: Formatting changes.
4483
4484 2000-11-02 Akim Demaille <akim@epita.fr>
4485
4486 Remove the last uses of mktemp and unlink/delete.
4487
4488 * src/files.c (fdefines, ftable): Removed.
4489 (defines_ostack, table_obstack): New.
4490 Adjust dependencies of the former into uses of the latter.
4491 * src/output.c (output_short_or_char_table, output_short_table):
4492 Convert to using obstacks.
4493 * src/reader.c (copy_comment2): Accept one FILE * and two
4494 obstacks.
4495 (output_token_defines, reader_output_yylsp): Use obstacks.
4496 * src/system.h (obstack_fgrow3): New.
4497
4498 2000-11-01 Akim Demaille <akim@epita.fr>
4499
4500 Change each use of `fattrs' into a use of `attrs_obstack'.
4501
4502 * src/reader.c (copy_at): Typo: s/yylloc/yyloc/.
4503 * src/files.c (fattrs): Remove.
4504 (attrs_obstack): New.
4505 Adjust all dependencies.
4506 (done): If SEMANTIC_PARSER, dump attrs_obstack into attrsfile.
4507
4508 2000-11-01 Akim Demaille <akim@epita.fr>
4509
4510 Introduce obstacks.
4511 Change each use of `faction' into a use of `action_obstack'.
4512
4513 * lib/obstack.h, lib/obstack.c: New files.
4514 * src/files.c (faction): Remove.
4515 (action_obstack): New.
4516 Adjust all dependencies.
4517
4518 2000-10-20 Akim Demaille <akim@epita.fr>
4519
4520 * lib/quote.h (PARAMS): New macro. Use it.
4521
4522 2000-10-16 Akim Demaille <akim@epita.fr>
4523
4524 * src/output.c (output_short_or_char_table): New function.
4525 (output_short_table, output_token_translations): Use it.
4526 (goto_actions): Use output_short_table.
4527
4528 2000-10-16 Akim Demaille <akim@epita.fr>
4529
4530 * src/symtab.c (bucket_new): New function.
4531 (getsym): Use it.
4532
4533 * src/output.c (output_short_table): New argument to display the
4534 comment associated with the table.
4535 Adjust dependencies.
4536 (output_gram): Use it.
4537 (output_rule_data): Nicer output layout for YYTNAME.
4538
4539 2000-10-16 Akim Demaille <akim@epita.fr>
4540
4541 * src/lex.c (read_typename): New function.
4542 (lex): Use it.
4543 * src/reader.c (copy_dollar): Likewise.
4544
4545 2000-10-16 Akim Demaille <akim@epita.fr>
4546
4547 * src/reader.c (copy_comment2): Expect the input stream to be on
4548 the `/' which is suspected to open a comment, instead of being
4549 called after `//' or `/*' was read.
4550 (copy_comment, copy_definition, parse_union_decl, copy_action)
4551 (copy_guard): Adjust.
4552
4553 2000-10-16 Akim Demaille <akim@epita.fr>
4554
4555 * src/reader.c (parse_expect_decl): Use `skip_white_space' and
4556 `read_signed_integer'.
4557
4558 2000-10-16 Akim Demaille <akim@epita.fr>
4559
4560 * src/reader.c (copy_dollar): New function.
4561 (copy_guard, copy_action): Use it.
4562
4563 2000-10-16 Akim Demaille <akim@epita.fr>
4564
4565 * lib/quote.h, lib/quote.c, lib/quotearg.h, lib/quotearg.c:
4566 * m4/prereq.m4, m4/c-bs-a.m4, m4/mbstate.m4:
4567 New files, from Fileutils 4.0.27.
4568 * src/main.c (printable_version): Remove.
4569 * src/lex.c, src/reader.c: Use `quote'.
4570
4571 2000-10-04 Akim Demaille <akim@epita.fr>
4572
4573 * lib/error.c, lib/error.h: New files, needed by xmalloc.c.
4574
4575 2000-10-04 Akim Demaille <akim@epita.fr>
4576
4577 * doc/bison.texinfo: Various typos spotted by Neil Booth.
4578
4579 2000-10-04 Akim Demaille <akim@epita.fr>
4580
4581 When a literal string is used to define two different tokens,
4582 `bison -v' segfaults.
4583 Reported by Piotr Gackiewicz, and fixed by Neil Booth.
4584
4585 * tests/regression.m4: New file.
4586 Include the core of the sample provided by Piotr Gackiewicz.
4587 * src/reader.c (parse_token_decl): Diagnose bad cases, and proceed
4588 properly.
4589
4590 2000-10-04 Akim Demaille <akim@epita.fr>
4591
4592 * src/reader.c (parse_expect_decl): Keep `count' within the size
4593 of `buffer'.
4594 From Neil Booth.
4595
4596 2000-10-02 Paul Eggert <eggert@twinsun.com>
4597
4598 * bison.s1 (yyparse): Assign the default value
4599 unconditionally, to avoid a GCC warning and make the parser a
4600 tad smaller.
4601
4602 2000-10-02 Akim Demaille <akim@epita.fr>
4603
4604 * src/getargs.c (getargs): Don't dump `--help' on unrecognized
4605 options.
4606
4607 2000-10-02 Akim Demaille <akim@epita.fr>
4608
4609 * src/derives.c, src/print.c, src/reduce.c: To ease the
4610 translation, move some `\n' out of the translated strings.
4611
4612 2000-10-02 Akim Demaille <akim@epita.fr>
4613
4614 The location tracking mechanism is precious for parse error
4615 messages. Nevertheless, it is enabled only when `@n' is used in
4616 the grammar, which is a different issue (you can use it in error
4617 message, but not in the grammar per se). Therefore, there should
4618 be another means to enable it.
4619
4620 * src/getargs.c (getargs): Support `--locations'.
4621 (usage): Report it.
4622 * src/getargs.h (locationsflag): Export it.
4623 * src/lex.c (percent_table): Support `%locations'.
4624 * src/reader.c (yylsp_needed): Remove this variable, now replaced
4625 with `locationsflag'.
4626 * doc/bison.texinfo: Document `--locations' and `%locations'.
4627 Sort the options.
4628 * tests/calc.m4: Test it.
4629
4630 For regularity of the names, replace each
4631 (nolineflag, toknumflag, rawtokenumflag, noparserflag): with...
4632 (no_lineflag, token_tableflag, rawflag, no_parserflag): this.
4633 In addition replace each `flag' with `_flag'.
4634
4635 2000-10-02 Akim Demaille <akim@epita.fr>
4636
4637 Also test parse error messages, including with YYERROR_VERBOSE.
4638
4639 * tests/calc.m4 (calc.y): Add support for `exp = exp' (non
4640 associative).
4641 Use it to check the computations.
4642 Use it to check `nonassoc' is honored.
4643 (AT_DATA_CALC_Y): Equip `calc.y' with YYERROR_VERBOSE when passed
4644 `--yyerror-verbose'.
4645 (_AT_CHECK_CALC): Adjust to this option.
4646 (_AT_CHECK_CALC_ERROR): New macro to check parse error messages.
4647
4648 2000-10-02 Akim Demaille <akim@epita.fr>
4649
4650 Test also `--verbose', `--defines' and `--name-prefix'. Testing
4651 the latter demonstrates a flaw in the handling of non debugging
4652 parsers introduced by myself on 2000-03-16: `#define yydebug 0'
4653 was used in order to simplify:
4654
4655 #if YYDEBUG
4656 if (yydebug)
4657 {
4658 ...
4659 }
4660 #endif
4661
4662 into
4663
4664 if (yydebug)
4665 {
4666 ...
4667 }
4668
4669 unfortunately this leads to a CPP conflict when
4670 `--name-prefix=foo' is used since it produces `#define yydebug
4671 foodebug'.
4672
4673 * src/bison.s1 [!YYDEBUG]: Do not define yydebug.
4674 (YYDPRINTF): New macro.
4675 Spread its use.
4676 * tests/calc.m4 (AT_CHECK_CALC): Do require a title, build it from
4677 the bison options.
4678 Also test `--verbose', `--defines' and `--name-prefix'.
4679
4680 2000-10-02 Akim Demaille <akim@epita.fr>
4681
4682 Improve the readability of the produced parsers.
4683
4684 * src/bison.s1: Formatting changes.
4685 Improve the comment related to the `$' mark.
4686 (yydefault): Don't fall through to `yyresume': `goto' there.
4687 * src/output.c (output_parser): When the `$' is met, skip the end
4688 of its line.
4689 New variable, `number_of_dollar_signs', to check there's exactly
4690 one `$' in the parser skeleton.
4691
4692 2000-10-02 Akim Demaille <akim@epita.fr>
4693
4694 * lib/xstrdup.c: New file, from the fileutils.
4695 * src/reader.c (parse_token_decl, get_type_name, parse_type_decl)
4696 (parse_assoc_decl, parse_thong_decl, get_type): Use `xstrdup'
4697 instead of strlen + xmalloc + strcpy.
4698 * src/symtab.c (copys): Remove, use xstrdup instead.
4699
4700 2000-10-02 Akim Demaille <akim@epita.fr>
4701
4702 * src/gram.h (associativity): New enum type which replaces the
4703 former CPP macros `RIGHT_ASSOC', `LEFT_ASSOC' and `NON_ASSOC' with
4704 `right_assoc', `left_assoc' and `non_assoc'.
4705 Adjust all dependencies.
4706 * src/reader.c: Formatting changes.
4707 (LTYPESTR): Don't define it, use it as a literal in
4708 `reader_output_yylsp'.
4709 * src/symtab.h (symbol_class): New enum type which replaces the
4710 former CPP macros `SUNKNOWN', `STOKEN and `SNTERM' with
4711 `sunknown', `stoken and `snterm'.
4712
4713 2000-10-02 Akim Demaille <akim@epita.fr>
4714
4715 * src/getargs.c (fixed_outfiles): Rename as...
4716 (yaccflag): for consistency and accuracy.
4717 Adjust dependencies.
4718
4719 2000-10-02 Akim Demaille <akim@epita.fr>
4720
4721 Use the more standard files `xalloc.h' and `xmalloc.c' instead of
4722 Bison's `allocate.c' and `alloc.h'. This patch was surprisingly
4723 difficult and introduced a lot of core dump. It turns out that
4724 Bison used an implementation of `xmalloc' based on `calloc', and
4725 at various places it does depend upon the initialization to 0. I
4726 have not tried to isolate the pertinent places, and all the former
4727 calls to Bison's `xmalloc' are now using `XCALLOC'. Someday,
4728 someone should address this issue.
4729
4730 * src/allocate.c, src/alloc.h, m4/bison-decl.m4: Remove.
4731 * lib/xmalloc.c, lib/xalloc.h, m4/malloc.m4, m4/realloc.m4: New
4732 files.
4733 Adjust dependencies.
4734 * src/warshall.h: New file.
4735 Propagate.
4736
4737 2000-10-02 Akim Demaille <akim@epita.fr>
4738
4739 Various anti-`extern in *.c' changes.
4740
4741 * src/system.h: Include `assert.h'.
4742
4743 2000-10-02 Akim Demaille <akim@epita.fr>
4744
4745 * src/state.h (nstates, final_state, first_state, first_shift)
4746 (first_reduction): Move their exportation from here...
4747 * src/LR0.h: to here.
4748 Adjust dependencies.
4749 * src/getargs.c (statisticsflag): New variable.
4750 Add support for `--statistics'.
4751 Adjust dependencies.
4752
4753 Remove a lot of now useless `extern' statements in most files.
4754
4755 2000-10-02 Akim Demaille <akim@epita.fr>
4756
4757 * src/LR0.h: New file.
4758 Propagate its use.
4759
4760 2000-10-02 Akim Demaille <akim@epita.fr>
4761
4762 * src/print.h: New file.
4763 Propagate its use.
4764 * src/print.c: Formatting and ordering changes.
4765 (verbose, terse): Replace with...
4766 (print_results): this new function.
4767 Adjust dependencies.
4768
4769 2000-10-02 Akim Demaille <akim@epita.fr>
4770
4771 * src/conflicts.c (conflict_report): New function.
4772 (conflict_log, verbose_conflict_log): Replace with...
4773 (print_conflicts): this function.
4774 Adjust dependencies.
4775 * src/conflicts.h: New file.
4776 Propagate its inclusion.
4777
4778 2000-10-02 Akim Demaille <akim@epita.fr>
4779
4780 * src/nullable.h: New file.
4781 Propagate its inclusion.
4782 * src/nullable.c: Formatting changes.
4783
4784 2000-10-02 Akim Demaille <akim@epita.fr>
4785
4786 * src/reduce.h: New file.
4787 Propagate its inclusion.
4788 * src/reduce.c: Topological sort and other formatting changes.
4789 (bool, TRUE, FALSE): Move their definition to...
4790 * src/system.h: here.
4791
4792 2000-10-02 Akim Demaille <akim@epita.fr>
4793
4794 * src/files.c: Formatting changes.
4795 (tryopen, tryclose, openfiles): Rename as...
4796 (xfopen, xfclose, open_files): this.
4797 (stringappend): static.
4798 * src/files.h: Complete the list of exported symbols.
4799 Propagate its use.
4800
4801 2000-10-02 Akim Demaille <akim@epita.fr>
4802
4803 * src/reader.h: New file.
4804 Propagate its use instead of tedious list of `extern' and
4805 prototypes.
4806 * src/reader.c: Formatting changes, topological sort,
4807 s/register//.
4808
4809 2000-10-02 Akim Demaille <akim@epita.fr>
4810
4811 * src/lex.h: Prototype `lex.c' exported functions.
4812 * src/reader.c: Adjust.
4813 * src/lex.c: Formatting changes.
4814 (safegetc): Rename as...
4815 (xgetc): this.
4816
4817 2000-10-02 Akim Demaille <akim@epita.fr>
4818
4819 * src/lalr.h: New file.
4820 Propagate its inclusion instead of prototypes and `extern'.
4821 * src/lalr.c: Formatting changes, topological sorting etc.
4822
4823 2000-10-02 Akim Demaille <akim@epita.fr>
4824
4825 * src/output.c (token_actions): Introduce a temporary array,
4826 YYDEFACT, that makes it possible for this function to use
4827 output_short_table.
4828
4829 2000-10-02 Akim Demaille <akim@epita.fr>
4830
4831 `user_toknums' is output as a `short[]' in `output.c', while it is
4832 defined as a `int[]' in `reader.c'. For consistency with the
4833 other output tables, `user_toknums' is now defined as a table of
4834 shorts.
4835
4836 * src/reader.c (user_toknums): Be a short table instead of an int
4837 table.
4838 Adjust dependencies.
4839
4840 Factor the short table outputs.
4841
4842 * src/output.c (output_short_table): New function.
4843 * src/output.c (output_gram, output_stos, output_rule_data)
4844 (output_base, output_table, output_check): Use it.
4845
4846 2000-10-02 Akim Demaille <akim@epita.fr>
4847
4848 * src/output.c (output): Topological sort of the functions, in
4849 order to get rid of the `static' prototypes.
4850 No longer use `register'.
4851 * src/output.h: New file.
4852 Propagate its inclusion in files explicitly prototyping functions
4853 from output.c.
4854
4855 2000-09-21 Akim Demaille <akim@epita.fr>
4856
4857 * src/atgeneral.m4: Update from Autoconf.
4858
4859 2000-09-21 Akim Demaille <akim@epita.fr>
4860
4861 * src/closure.h: New file.
4862 * src/closure.c: Formatting changes, topological sort over the
4863 functions, use of closure.h.
4864 (initialize_closure, finalize_closure): Rename as...
4865 (new_closure, free_closure): these. Adjust dependencies.
4866 * src/LR0.c: Formatting changes, topological sort, use of
4867 cloture.h.
4868 (initialize_states): Rename as...
4869 (new_states): this.
4870 * src/Makefile.am (noinst_HEADERS): Adjust.
4871
4872 2000-09-20 Akim Demaille <akim@epita.fr>
4873
4874 * src/acconfig.h: Don't protect config.h against multiple
4875 inclusion.
4876 Don't define PARAMS.
4877 * src/system.h: Define PARAMS.
4878 Remove some of the ad-hoc CPP magic for DOS, VMS etc.: this is the
4879 purpose of config.h. system.h must not try to fix wrong
4880 definitions in config.h.
4881
4882 2000-09-20 Akim Demaille <akim@epita.fr>
4883
4884 * src/derives.h: New file.
4885 * src/main.c, src/derives.h: Use it.
4886 Formatting changes.
4887 * src/Makefile.am (noinst_HEADERS): Adjust.
4888
4889 2000-09-20 Akim Demaille <akim@epita.fr>
4890
4891 * tests/atgeneral.m4: Update from Autoconf.
4892 * tests/calc.m4 (_AT_DATA_CALC_Y, AT_DATA_CALC_Y, _AT_CHECK_CALC)
4893 (AT_CHECK_CALC): New macros.
4894 Use these macros to test bison with options `', `--raw',
4895 `--debug', `--yacc', `--yacc --debug'.
4896
4897 2000-09-19 Akim Demaille <akim@epita.fr>
4898
4899 * src/output.c: Formatting changes.
4900 * src/machine.h: Remove, leaving its contents in...
4901 * src/system.h: here.
4902 Include stdio.h.
4903 Adjust all dependencies on stdio.h and machine.h.
4904 * src/getargs.h: New file.
4905 Let all `extern' declarations about getargs.c be replaced with
4906 inclusion of `getargs.h'.
4907 * src/Makefile.am (noinst_HEADERS): Adjust.
4908
4909 * tests/calc.m4 (yyin): Be initialized in main, not on the global
4910 scope.
4911 (yyerror): Returns void, not int.
4912 * doc/bison.texinfo: Formatting changes.
4913
4914 2000-09-19 Akim Demaille <akim@epita.fr>
4915
4916 * tests/calc.m4 (calc.y): Do not assign to stdin, as it's not
4917 portable.
4918
4919 2000-09-18 Akim Demaille <akim@epita.fr>
4920
4921 * configure.in: Append WARNING_CFLAGS to CFLAGS.
4922 * src/Makefile.am (INCLUDES): Don't.
4923 Be ready to fetch headers in lib/.
4924
4925 2000-09-18 Akim Demaille <akim@epita.fr>
4926
4927 * doc/bison.texinfo: Update the copyright.
4928 ANSIfy and GNUify the examples.
4929 Remove the old menu.
4930
4931 2000-09-18 Akim Demaille <akim@epita.fr>
4932
4933 First set of tests: use the `calc' example from the documentation.
4934
4935 * src/bison.s1 (yyparse): Condition the code using `yytname' which
4936 is defined only when YYDEBUG is.
4937 * m4/atconfig.m4 (AT_CONFIG): Adjust to Autoconf 2.13.
4938 * src/files.c (tryopen, tryclose): Formatting changes.
4939 Move to the top and be static.
4940 * src/reader.c (read_signed_integer): Likewise.
4941 * tests/calc.m4: New file.
4942 * Makefile.am, suite.m4: Adjust.
4943 * m4/atconfig.m4: Set BISON_SIMPLE and BISON_HAIRY.
4944
4945 2000-09-18 Akim Demaille <akim@epita.fr>
4946
4947 Add support for an Autotest test suite for Bison.
4948
4949 * m4/m4.m4, m4/atconfig.m4: New files.
4950 * m4/Makefile.am (EXTRA_DIST): Adjust.
4951 * tests/suite.m4, tests/Makefile.am, tests/atgeneral.m4: New
4952 files.
4953 * src/getargs.c: Display a more standard --version message.
4954 * src/reader.c (reader): Formatting changes.
4955 No longer depend upon VERSION_STRING.
4956 * configure.in: No longer use `dnl'.
4957 Set up the test suite and the new directory `tests/.
4958 (VERSION_STRING): Remove.
4959
4960 2000-04-14 Akim Demaille <akim@epita.fr>
4961
4962 * src/reader.c (copy_comment2): New function, same as former
4963 `copy_comment', but outputs into two FILE *.
4964 (copy_comment): Use it.
4965 (parse_union_decl): Use it.
4966 (get_type, parse_start_decl): Use the same `invalid' message.
4967 (parse_start_decl, parse_union_decl): Use the same `multiple'
4968 message.
4969 (parse_union_decl, copy_guard, copy_action): Use the same
4970 `unmatched' message.
4971 * m4/Makefile.am (EXTRA_DIST): Add `warning.m4'.
4972
4973 2000-03-31 Akim Demaille <akim@epita.fr>
4974
4975 * src/files.c (tryopen, tryclose): Move to the top.
4976 Be static.
4977
4978 2000-03-31 Akim Demaille <akim@epita.fr>
4979
4980 * src/main.c (main): Don't call `done', exit does it.
4981
4982 2000-03-31 Akim Demaille <akim@epita.fr>
4983
4984 * allocate.c: s/return (foo)/return foo/.
4985 * lalr.c: Likewise.
4986 * LR0.c: Likewise.
4987 * output.c: Likewise.
4988 * reader.c: Likewise.
4989 * symtab.c: Likewise.
4990 * vmsgetargs.c: Likewise.
4991
4992 2000-03-31 Akim Demaille <akim@epita.fr>
4993
4994 Clean up the error reporting functions.
4995
4996 * src/report.c: New file.
4997 * src/report.h: Likewise.
4998 * src/Makefile.am: Adjust.
4999 * m4/error.m4: New file.
5000 * m4/Makefile.am: Adjust.
5001 * configure.in (jm_PREREQ_ERROR): Call it.
5002 * src/main.c (int_to_string, banner, fatal_banner, warn_banner):
5003 Remove.
5004 (fatal, fatals): Remove. All callers use complain.c::fatal.
5005 (warn, warni, warns, warnss, warnss): Remove. All callers use
5006 complain.c::complain.
5007 (toomany): Remove, use fatal instead.
5008 * src/files.c (done): No argument, use complain_message_count.
5009 * src/main.c (main): Register `done' to `atexit'.
5010
5011 * src/getargs.c (usage): More `fputs', less `fprintf'.
5012
5013 2000-03-28 Akim Demaille <akim@epita.fr>
5014
5015 * lib/: New directory.
5016 * Makefile.am (SUBDIRS): Adjust.
5017 * configure.in: Adjust.
5018 (LIBOBJS): Although not used yet, AC_SUBST it, otherwise it's
5019 useless.
5020 * src/alloca.c: Moved to lib/.
5021 * src/getopt.c: Likewise.
5022 * src/getopt1.c: Likewise.
5023 * src/getopt.h: Likewise.
5024 * src/ansi2knr.c: Likewise.
5025 * src/ansi2knr.1: Likewise.
5026 * src/Makefile.am: Adjust.
5027 * lib/Makefile.am: New file.
5028
5029 2000-03-28 Akim Demaille <akim@epita.fr>
5030
5031 * src/getargs.c (usage): Refresh the help message.
5032
5033 2000-03-17 Akim Demaille <akim@epita.fr>
5034
5035 * src/getopt1.c: Updated from textutils 2.0e
5036 * src/getopt.c: Likewise.
5037 * src/getopt.h: Likewise.
5038
5039 2000-03-17 Akim Demaille <akim@epita.fr>
5040
5041 * src/Makefile.am (bison.simple): Fix the awk program: quote only
5042 the file name, not the whole `#line LINE FILE'.
5043
5044 2000-03-17 Akim Demaille <akim@epita.fr>
5045
5046 On syntax errors, report the token on which we choked.
5047
5048 * src/bison.s1 (yyparse): In the label yyerrlab, when
5049 YYERROR_VERBOSE, add yychar in msg.
5050
5051 2000-03-17 Akim Demaille <akim@epita.fr>
5052
5053 * src/reader.c (copy_at): New function.
5054 (copy_guard): Use it.
5055 (copy_action): Use it.
5056
5057 2000-03-17 Akim Demaille <akim@epita.fr>
5058
5059 Be kind to translators, save some useless translations.
5060
5061 * src/main.c (banner): New function.
5062 (fatal_banner): Use it.
5063 (warn_banner): Use it.
5064
5065 2000-03-17 Akim Demaille <akim@epita.fr>
5066
5067 * src/reader.c (copy_definition): Use copy_string and
5068 copy_comment. Removed now unused `match', `ended',
5069 `cplus_comment'.
5070 (copy_comment, copy_string): Moved, to be visible from
5071 copy_definition.
5072
5073 2000-03-17 Akim Demaille <akim@epita.fr>
5074
5075 * src/reader.c (copy_string): Declare `static inline'. No
5076 problems with inline, since it is checked by configure.
5077 (copy_comment): Likewise.
5078
5079 2000-03-17 Akim Demaille <akim@epita.fr>
5080
5081 * src/reader.c (packsymbols): Formatting changes.
5082
5083 2000-03-17 Akim Demaille <akim@epita.fr>
5084
5085 * src/reader.c (copy_comment): New function, factored out from:
5086 (copy_action): Use it. Removed now unused `match', `ended',
5087 `cplus_comment'.
5088 (copy_guard): Likewise.
5089
5090 2000-03-17 Akim Demaille <akim@epita.fr>
5091
5092 * src/reader.c (copy_string): New function, factored out from:
5093 (copy_action): Use it.
5094 (copy_guard): Likewise.
5095
5096 2000-03-17 Akim Demaille <akim@epita.fr>
5097
5098 Change the handling of @s so that they behave exactly like $s.
5099 There is now a pseudo variable @$ (readble and writable), location
5100 of the lhs of the rule (by default ranging from the location of
5101 the first symbol of the rhs, to the location of the last symbol,
5102 or, if the rhs is empty, YYLLOC).
5103
5104 * src/bison.s1 [YYLSP_NEEDED] (yyloc): New variable, twin of
5105 yyval.
5106 (yyparse): When providing a default semantic action, provide a
5107 default location action.
5108 (after the $): No longer change `*YYLSP', just stack YYLOC the
5109 same way you stack YYVAL.
5110 * src/reader.c (read_declarations): Use warns.
5111 (copy_guard, case '@'): Also recognize `@$', expanded as `YYLOC'.
5112 (copy_action, case '@'): Likewise.
5113 Use a standard error message, to save useless work from
5114 translators.
5115
5116 2000-03-17 Akim Demaille <akim@epita.fr>
5117
5118 * src/bison.s1: Formatting and cosmetics changes.
5119 * src/reader.c: Likewise.
5120 Update the Copyright notice.
5121
5122 2000-03-17 Akim Demaille <akim@epita.fr>
5123
5124 * src/bison.s1 (#line): All set to `#line' only, since the
5125 Makefile now handles them.
5126
5127 2000-03-16 Akim Demaille <akim@epita.fr>
5128
5129 * src/output.c (output_rule_data): Output the documentation of
5130 some of the tables.
5131 (Copyright notice): Update.
5132 Formatting changes.
5133
5134 2000-03-16 Akim Demaille <akim@epita.fr>
5135
5136 * src/bison.s1 [!YYDEBUG]: Define yydebug to 0. This allows to
5137 remove most `#if YYDEBUG != 0', since `if (yydebug)' is enough.
5138 One `#if YYDEBUG' remains, since it uses variables which are
5139 defined only if `YYDEBUG != 0'.
5140
5141 2000-03-16 Akim Demaille <akim@epita.fr>
5142
5143 * src/bison.s1 (yyparse): Reorganize the definitions of the stacks
5144 and related variables so that the similarities are highlighted.
5145
5146 2000-03-16 Akim Demaille <akim@epita.fr>
5147
5148 * src/bison.s1: Properly indent CPP directives.
5149
5150 2000-03-16 Akim Demaille <akim@epita.fr>
5151
5152 * src/bison.s1: Properly indent the `alloca' CPP section.
5153
5154 2000-03-16 Akim Demaille <akim@epita.fr>
5155
5156 Do not hard code values of directories in `configure.in'.
5157 Update the `configure' tool chain.
5158
5159 * configure.in (XPFILE, XPFILE1, LOCALEDIR): Remove, handled by
5160 src/makefile.am.
5161 (VERSION_STRING): Use the third arg of AC_DEFINE_UNQUOTED.
5162 (AC_OUTPUT): Add m4/Makefile.
5163 Bump to bison 1.28a, 1.29 has never been released.
5164 * acconfig.h (XPFILE, XPFILE1, LOCALEDIR): Remove, since they are
5165 handled via src/Makefile.am.
5166 (VERSION_STRING, PROTOTYPES, ENABLE_NLS, HAVE_CATGETS,
5167 HAVE_GETTEXT, HAVE_LC_MESSAGES, HAVE_STPCPY): Remove, handled by
5168 autoheader.
5169 * Makefile.am (SUBDIRS): Add m4.
5170 (ACLOCAL_AM_FLAGS): New variable.
5171 (AUTOMAKE_OPTIONS): Add check-news.
5172 * src/Makefile.am (bison.simple): Use awk to replace #line lines with
5173 the proper line number and file name.
5174 (DEFS): Propagate the location of bison library files and of the
5175 locale files.
5176 (INCLUDES): Added `-I ..' so that one can compile with srcdir !=
5177 builddir.
5178 * acinclude.m4: Remove, replaced by the directory m4.
5179 * m4/Makefile.am (EXTRA_DIST): New variable.
5180 * m4/gettext.m4: New file, from the fileutils.
5181 * m4/lcmessage.m4: Likewise
5182 * m4/progtest.m4: Likewise.
5183 * m4/bison-decl.m4: New file, extracted from former acinclude.m4.
5184
5185 2000-03-10 Akim Demaille <akim@epita.fr>
5186
5187 * src/closure.c:
5188 Formatting changes of various comments.
5189 Respect the GNU coding standards at various places.
5190 Don't use `_()' when no translation is needed.
5191
5192 1999-12-13 Jesse Thilo <jthilo@gnu.org>
5193
5194 * src/files.c:
5195 OS/2 honors TMPDIR environment variable.
5196
5197 1999-12-13 Jesse Thilo <jthilo@gnu.org>
5198
5199 * doc/bison.texinfo: Tweaked spelling and grammar.
5200 Updated ISBN.
5201 Removed reference to price of printed copy.
5202 Mention BISON_SIMPLE and BISON_HAIRY.
5203
5204 1999-12-13 Jesse Thilo <jthilo@gnu.org>
5205
5206 * configure.in, NEWS:
5207 Bison 1.29 released.
5208
5209 1999-10-27 Jesse Thilo <jthilo@gnu.org>
5210
5211 * doc/.cvsignore, doc/Makefile.am, doc/refcard.tex:
5212 Added reference card.
5213
5214 1999-07-26 Jesse Thilo <jthilo@gnu.org>
5215
5216 * po/ru.po: Added Russian translation.
5217
5218 1999-07-26 Jesse Thilo <jthilo@gnu.org>
5219
5220 * configure.in: Added Russian translation.
5221
5222 1999-07-06 Jesse Thilo <jthilo@gnu.org>
5223
5224 * configure.in, NEWS, README:
5225 Released version 1.28.
5226
5227 1999-06-14 Jesse Thilo <jthilo@gnu.org>
5228
5229 * src/system.h:
5230 Squashed redefinition warning on some systems.
5231
5232 * src/getargs.c, src/Makefile.am, src/reader.c, src/version.c:
5233 Have configure build version string instead of relying on ANSI string
5234 concatentation.
5235
5236 1999-06-14 Jesse Thilo <jthilo@gnu.org>
5237
5238 * po/POTFILES.in: Got rid of version.c.
5239
5240 1999-06-14 Jesse Thilo <jthilo@gnu.org>
5241
5242 * acconfig.h, configure.in:
5243 Have configure build version string instead of relying on ANSI string
5244 concatentation.
5245
5246 1999-06-08 Jesse Thilo <jthilo@gnu.org>
5247
5248 * doc/bison.1:
5249 Dropped mention of `+' for long-named options.
5250
5251 1999-05-30 Jesse Thilo <jthilo@gnu.org>
5252
5253 * src/files.c: Added <unistd.h> for unlink().
5254
5255 * src/Makefile.am, src/system.h:
5256 I18n fixes.
5257
5258 1999-05-30 Jesse Thilo <jthilo@gnu.org>
5259
5260 * README: Added a FAQ list.
5261
5262 * configure.in, acconfig.h:
5263 I18n fixes.
5264
5265 1999-05-30 Jesse Thilo <jthilo@gnu.org>
5266
5267 * doc/FAQ, doc/Makefile.am:
5268 Added a FAQ list.
5269
5270 1999-05-19 Jesse Thilo <jthilo@gnu.org>
5271
5272 * src/alloc.h, src/symtab.h, src/version.c:
5273 Protected inclusion of "config.h" with HAVE_CONFIG_H.
5274
5275 1999-04-18 Jesse Thilo <jthilo@gnu.org>
5276
5277 * src/.cvsignore, src/Makefile.am:
5278 Reorganized: sources in `src', documentation in `doc'.
5279
5280 * src/lex.c (literalchar):
5281 fixed the code for escaping double quotes (thanks
5282 Jonathan Czisny.)
5283
5284 1999-04-18 Jesse Thilo <jthilo@gnu.org>
5285
5286 * po/de.po, po/es.po, po/fr.po, po/nl.po, po/POTFILES.in:
5287 Adjusted paths to reflect directory reorganization.
5288
5289 1999-04-18 Jesse Thilo <jthilo@gnu.org>
5290
5291 * doc/.cvsignore, doc/Makefile.am:
5292 Reorganized: sources in `src', documentation in `doc'.
5293
5294 1999-04-18 Jesse Thilo <jthilo@gnu.org>
5295
5296 * configure.in:
5297 Updated AC_INIT file to reflect directory reorganization.
5298
5299 * configure.in, .cvsignore, Makefile.am, POTFILES.in:
5300 Reorganized: sources in `src', documentation in `doc'.
5301
5302 1999-04-13 Jesse Thilo <jthilo@gnu.org>
5303
5304 * src/allocate.c:
5305 Don't declare calloc() and realloc() if not necessary.
5306
5307 1999-04-13 Jesse Thilo <jthilo@gnu.org>
5308
5309 * configure.in, acconfig.h, acinclude.m4:
5310 Don't declare calloc() and realloc() if not necessary.
5311
5312 1999-03-23 Jesse Thilo <jthilo@gnu.org>
5313
5314 * po/.cvsignore: Added i18n support.
5315
5316 1999-03-23 Jesse Thilo <jthilo@gnu.org>
5317
5318 * acconfig.h, configure.in, Makefile.am:
5319 Added i18n support.
5320
5321 1999-03-22 Jesse Thilo <jthilo@gnu.org>
5322
5323 * src/bison.s1: Fixed #line numbers.
5324
5325 1999-03-15 Jesse Thilo <jthilo@gnu.org>
5326
5327 * po/es.po, po/fr.po, po/nl.po, po/de.po:
5328 Added PO files from Translation Project.
5329
5330 1999-03-03 Jesse Thilo <jthilo@gnu.org>
5331
5332 * Makefile.am:
5333 Added support for non-ANSI compilers (ansi2knr).
5334
5335 1999-02-16 Jesse Thilo <jthilo@gnu.org>
5336
5337 * configure.in: Bumped version number to 1.27.
5338
5339 * Makefile.am:
5340 Added `bison.simple' to list of files removed by `make distclean'.
5341
5342 1999-02-12 Jesse Thilo <jthilo@gnu.org>
5343
5344 * src/files.c, src/files.h:
5345 Defined locations of parser files in config.h instead of Makefile.
5346
5347 1999-02-12 Jesse Thilo <jthilo@gnu.org>
5348
5349 * acconfig.h, acinclude.m4, configure.in, Makefile.am:
5350 Defined locations of parser files in config.h instead of Makefile.
5351
5352 1999-02-09 Jesse Thilo <jthilo@gnu.org>
5353
5354 * Makefile.am:
5355 Removed inappropriate use of $< macro.
5356
5357 1999-02-05 Jesse Thilo <jthilo@gnu.org>
5358
5359 * po/Makefile.in.in, po/POTFILES.in:
5360 Add `po' directory skeleton.
5361
5362 1999-01-27 Jesse Thilo <jthilo@gnu.org>
5363
5364 * README: Document help-bison list.
5365
5366 * configure.in: Add check for mkstemp().
5367
5368 1999-01-20 Jesse Thilo <jthilo@gnu.org>
5369
5370 * src/conflicts.c, src/LR0.c, src/output.c, src/reader.c:
5371 Hush a few compiler warnings.
5372
5373 * src/files.c:
5374 Add tryclose(), which verifies that fclose was successful.
5375 Hush a couple of compiler warnings.
5376
5377 1999-01-20 Jesse Thilo <jthilo@gnu.org>
5378
5379 * Makefile.am, OChangeLog:
5380 ChangeLog is now automatically generated. Include the old version as
5381 OChangeLog.
5382
5383 1999-01-14 Jesse Thilo <jthilo@gnu.org>
5384
5385 * 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:
5386 Update FSF address.
5387
5388 1999-01-14 Jesse Thilo <jthilo@gnu.org>
5389
5390 * doc/bison.texinfo: Fix formatting glitch.
5391
5392 * doc/bison.texinfo: Update FSF address.
5393
5394 1999-01-14 Jesse Thilo <jthilo@gnu.org>
5395
5396 * acconfig.h: Update FSF address.
5397
5398 1999-01-08 Jesse Thilo <jthilo@gnu.org>
5399
5400 * src/system.h:
5401 Don't define PACKAGE here, since config.h defines it.
5402
5403 1998-12-30 Jesse Thilo <jthilo@gnu.org>
5404
5405 * src/reader.c: Update copyright date.
5406
5407 * src/main.c:
5408 Ditch sprintf to statically-sized buffers in fatal/warn functions in
5409 favor of output directly to stderr (avoids buffer overruns).
5410
5411 * src/reader.c: Some checks for premature EOF.
5412
5413 * 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:
5414 Use prototypes if the compiler understands them.
5415
5416 * src/files.c: Honor TMPDIR on Unix hosts.
5417 Use prototypes if the compiler understands them.
5418
5419 * src/reader.c:
5420 Fix a couple of buffer overrun bugs.
5421 Use prototypes if the compiler understands them.
5422
5423 * src/system.h: Include unistd.h and ctype.h.
5424 Use #ifdef instead of #if for NLS symbols.
5425
5426 1998-12-30 Jesse Thilo <jthilo@gnu.org>
5427
5428 * doc/bison.texinfo:
5429 Delete comment "consider using @set for edition number, etc..." since
5430 we now are doing so.
5431
5432 1998-12-30 Jesse Thilo <jthilo@gnu.org>
5433
5434 * configure.in:
5435 Use prototypes if the compiler understands them.
5436
5437 * NEWS: Document 1.26 highlights.
5438
5439 * Makefile.am: Require Automake 1.3 or later.
5440
5441 * acconfig.h:
5442 Use prototypes if the compiler understands them.
5443
5444 1998-12-29 Jesse Thilo <jthilo@gnu.org>
5445
5446 * src/version.c:
5447 Use VERSION symbol from automake for version number.
5448
5449 1998-12-29 Jesse Thilo <jthilo@gnu.org>
5450
5451 * acconfig.h, configure.in, version.cin:
5452 Use VERSION symbol from automake for version number.
5453
5454 1998-11-28 Jesse Thilo <jthilo@gnu.org>
5455
5456 * Makefile.am:
5457 Distribute original version of simple parser (bison.s1), not built
5458 version (bison.simple).
5459
5460 1998-11-28 Jesse Thilo <jthilo@gnu.org>
5461
5462 * doc/bison.texinfo: Add info dir entry.
5463
5464 * doc/bison.texinfo:
5465 Let automake put version number into documentation.
5466
5467 1998-11-26 Jesse Thilo <jthilo@gnu.org>
5468
5469 * src/bison.cld, src/build.com, src/vmshlp.mar:
5470 Add non-RCS files from /gd/gnu/bison.
5471
5472 1998-11-26 Jesse Thilo <jthilo@gnu.org>
5473
5474 * doc/bison.1:
5475 Document the BISON_HAIRY and BISON_SIMPLE variables.
5476
5477 1998-11-25 Jesse Thilo <jthilo@gnu.org>
5478
5479 * src/version.c: Build version.c automatically.
5480
5481 * src/reader.c:
5482 Fix token numbering (used to start at 258, not 257).
5483
5484 * src/system.h: Include config.h.
5485
5486 * src/getargs.c: Update bug report address.
5487
5488 * src/alloca.c, src/getopt1.c, src/getopt.c, src/getopt.h:
5489 Get latest copies of alloca.c, getopt.c, getopt.h, getopt1.c from gnu.org.
5490
5491 1998-11-25 Jesse Thilo <jthilo@gnu.org>
5492
5493 * Makefile.am:
5494 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
5495
5496 * configure.in, version.cin:
5497 Build version.c automatically.
5498
5499 * AUTHORS: Add AUTHORS file.
5500
5501 * README: Update bug report address.
5502
5503 * bison.simple:
5504 Rename bison.simple to bison.s1 (bison.simple is then built from bison.s1).
5505
5506 * configure.in, Makefile.am, Makefile.in, stamp-h.in:
5507 Add automake stuff.
5508
5509 1998-11-25 Jesse Thilo <jthilo@gnu.org>
5510
5511 * doc/bison.texinfo: Clean up some formatting.
5512
5513 1998-05-05 Richard Stallman <rms@gnu.org>
5514
5515 * doc/bison.texinfo:
5516 Explain better why to make a pure parser.
5517
5518 1998-01-05 Richard Stallman <rms@gnu.org>
5519
5520 * src/files.c (openfiles):
5521 [_WIN32 && !__CYGWIN32__] Use TEMP or Temp to
5522 find a temporary directory, if possible. Do not unlink files while
5523 they are open.
5524
5525 1997-08-25 Richard Stallman <rms@gnu.org>
5526
5527 * src/reader.c (stack_offset;):
5528 Change some warni to warns.
5529
5530 * src/lex.c (literalchar): Use warns, not warni.
5531
5532 1997-06-28 Richard Stallman <rms@gnu.org>
5533
5534 * src/bison.s1: Add a Bison version comment.
5535
5536 * src/main.c (fatal, warn, berror):
5537 Use program_name.
5538
5539 1997-06-28 Richard Stallman <rms@gnu.org>
5540
5541 * Makefile.in (bison_version): New variable.
5542 (dist): Use that variable.
5543 (bison.s1): Substitute the Bison version into bison.simple.
5544
5545 * bison.simple: Add a Bison version comment.
5546
5547 1997-06-18 Richard Stallman <rms@gnu.org>
5548
5549 * src/main.c (fatal, warn, berror):
5550 Make error messages standard.
5551 (toomany): Improve error message text.
5552
5553 * 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:
5554 new.h renamed to alloc.h.
5555
5556 1997-06-18 Richard Stallman <rms@gnu.org>
5557
5558 * Makefile.in: new.h renamed to alloc.h.
5559
5560 1997-05-24 Richard Stallman <rms@gnu.org>
5561
5562 * src/lex.c (literalchar):
5563 Fix the code for escaping \, " and '.
5564
5565 (lex): Avoid trouble when there are many chars
5566 to discard in a char literal with just several chars in it.
5567
5568 1997-05-17 Richard Stallman <rms@gnu.org>
5569
5570 * src/bison.s1:
5571 Use malloc, if using alloca is troublesome.
5572 (YYSTACK_USE_ALLOCA): New flag macro.
5573 Define it for some systems and compilers.
5574 (YYSTACK_ALLOC): New macro.
5575 (yyparse): Use YYSTACK_ALLOC to allocate stack.
5576 If it was malloc'd, free it.
5577
5578 1997-05-17 Richard Stallman <rms@gnu.org>
5579
5580 * bison.simple:
5581 Use malloc, if using alloca is troublesome.
5582 (YYSTACK_USE_ALLOCA): New flag macro.
5583 Define it for some systems and compilers.
5584 (YYSTACK_ALLOC): New macro.
5585 (yyparse): Use YYSTACK_ALLOC to allocate stack.
5586 If it was malloc'd, free it.
5587
5588 1997-04-23 Richard Stallman <rms@gnu.org>
5589
5590 * src/bison.s1:
5591 (alloca) [__hpux]: Always define as __builtin_alloca.
5592
5593 1997-04-23 Richard Stallman <rms@gnu.org>
5594
5595 * bison.simple:
5596 (alloca) [__hpux]: Always define as __builtin_alloca.
5597
5598 1997-04-22 Richard Stallman <rms@gnu.org>
5599
5600 * src/bison.s1:
5601 [__hpux]: Include alloca.h (right for HPUX 10)
5602 instead of declaring alloca (right for HPUX 9).
5603
5604 * src/bison.s1 (__yy_memcpy):
5605 Declare arg `count' as unsigned int.
5606 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
5607
5608 1997-04-22 Richard Stallman <rms@gnu.org>
5609
5610 * bison.simple:
5611 [__hpux]: Include alloca.h (right for HPUX 10)
5612 instead of declaring alloca (right for HPUX 9).
5613
5614 * bison.simple (__yy_memcpy):
5615 Declare arg `count' as unsigned int.
5616 (yyparse): Cast third arg to __yy_memcpy to unsigned int.
5617
5618 1997-01-03 Richard Stallman <rms@gnu.org>
5619
5620 * src/allocate.c: [__STDC__ or _MSC_VER]:
5621 Declare calloc and realloc to return void *.
5622
5623 1997-01-02 Richard Stallman <rms@gnu.org>
5624
5625 * src/system.h:
5626 [_MSC_VER]: Include stdlib.h and process.h.
5627 [_MSC_VER] (getpid): Define as macro--translate it to _getpid.
5628
5629 * src/main.c (main): Return FAILURE as a value.
5630 (printable_version): Declare arg as int, not char.
5631
5632 1997-01-02 Richard Stallman <rms@gnu.org>
5633
5634 * Makefile.in (dist):
5635 Explicitly check for symlinks, and copy them.
5636
5637 1996-12-19 Richard Stallman <rms@gnu.org>
5638
5639 * src/files.c:
5640 [_MSC_VER] (XPFILE, XPFILE1): Define, if not already defined.
5641
5642 1996-12-18 Paul Eggert <eggert@gnu.org>
5643
5644 * src/bison.s1 (yyparse):
5645 If __GNUC__ and YYPARSE_PARAM are both defined,
5646 declare yyparse to have a void * argument.
5647
5648 1996-12-18 Paul Eggert <eggert@gnu.org>
5649
5650 * bison.simple (yyparse):
5651 If __GNUC__ and YYPARSE_PARAM are both defined,
5652 declare yyparse to have a void * argument.
5653
5654 1996-12-17 Richard Stallman <rms@gnu.org>
5655
5656 * src/reduce.c (nbits): Add some casts.
5657
5658 1996-08-12 Richard Stallman <rms@gnu.org>
5659
5660 * src/bison.s1: Test _MSDOS as well as _MSDOS_.
5661
5662 1996-08-12 Richard Stallman <rms@gnu.org>
5663
5664 * bison.simple: Test _MSDOS as well as _MSDOS_.
5665
5666 1996-07-31 Richard Stallman <rms@gnu.org>
5667
5668 * src/bison.s1:
5669 [__sun && __i386]: Include alloca.h.
5670
5671 1996-07-31 Richard Stallman <rms@gnu.org>
5672
5673 * bison.simple:
5674 [__sun && __i386]: Include alloca.h.
5675
5676 1996-07-30 Richard Stallman <rms@gnu.org>
5677
5678 * src/bison.s1: Comment change.
5679
5680 * src/bison.s1: Test _MSDOS_, not MSDOS.
5681
5682 1996-07-30 Richard Stallman <rms@gnu.org>
5683
5684 * bison.simple: Comment change.
5685
5686 * bison.simple: Test _MSDOS_, not MSDOS.
5687
5688 1996-06-01 Richard Stallman <rms@gnu.org>
5689
5690 * 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:
5691 Insert `_' macro around many string constants.
5692
5693 * src/main.c:
5694 Insert `_' macro around many string constants.
5695
5696 (main): Call setlocale, bindtextdomain and textdomain.
5697
5698 * src/system.h: [HAVE_LOCALE_H]: Include locale.h.
5699 [! HAVE_LOCALE_H] (setlocale): Define as no-op.
5700 [ENABLE_NLS]: Include libintl.h.
5701 [ENABLE_NLS] (gettext): Define.
5702 [! ENABLE_NLS] (bintextdomain, textdomain, _): Consolation definitions.
5703 (N_, PACKAGE, LOCALEDIR): New macros.
5704
5705 1996-06-01 Richard Stallman <rms@gnu.org>
5706
5707 * POTFILES.in: New file.
5708
5709 * Makefile.in (allocate.o):
5710 Define target explicitly.
5711
5712 * Makefile.in (CFLAGS): Set to @CFLAGS@.
5713 (LDFLAGS): Set to @LDFLAGS@.
5714 (configure): Run autoconf only if preceding `cd' succeeds.
5715 (bison.s1): Redirect output to temporary file then move the
5716 temporary to the target, rather than redirecting directly to bison.s1.
5717 (clean): Remove config.status and config.log.
5718 (distclean): Don't remove config.status here.
5719
5720 1996-05-12 Richard Stallman <rms@gnu.org>
5721
5722 * src/bison.s1:
5723 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5724
5725 1996-05-12 Richard Stallman <rms@gnu.org>
5726
5727 * bison.simple:
5728 (__yy_memcpy) [__cplusplus]: Reorder declarations of variables f and t.
5729
5730 1996-05-11 Richard Stallman <rms@gnu.org>
5731
5732 * src/bison.s1 (__yy_memcpy):
5733 Really reorder the args, as was supposedly done on Feb 14 1995.
5734 (yyparse): Calls changed accordingly.
5735
5736 1996-05-11 Richard Stallman <rms@gnu.org>
5737
5738 * Makefile.in (dist): Don't use $(srcdir).
5739
5740 * bison.simple (__yy_memcpy):
5741 Really reorder the args, as was supposedly done on Feb 14 1995.
5742 (yyparse): Calls changed accordingly.
5743
5744 1996-01-27 Richard Stallman <rms@gnu.org>
5745
5746 * src/output.c (output_rule_data):
5747 Test YYERROR_VERBOSE in the conditional
5748 around the definition of ttyname.
5749
5750 1995-12-29 Richard Stallman <rms@gnu.org>
5751
5752 * src/bison.s1:
5753 Fix line numbers in #line commands.
5754
5755 1995-12-29 Richard Stallman <rms@gnu.org>
5756
5757 * bison.simple:
5758 Fix line numbers in #line commands.
5759
5760 1995-12-27 Richard Stallman <rms@gnu.org>
5761
5762 * src/bison.s1 (YYPARSE_PARAM_DECL):
5763 In C++, make it always null.
5764 (YYPARSE_PARAM_ARG): New macro.
5765 (yyparse): Use YYPARSE_PARAM_ARG.
5766
5767 1995-12-27 Richard Stallman <rms@gnu.org>
5768
5769 * bison.simple (YYPARSE_PARAM_DECL):
5770 In C++, make it always null.
5771 (YYPARSE_PARAM_ARG): New macro.
5772 (yyparse): Use YYPARSE_PARAM_ARG.
5773
5774 1995-11-29 Richard Stallman <rms@gnu.org>
5775
5776 * doc/bison.texinfo:
5777 Describe literal string tokens, %raw, %no_lines, %token_table.
5778
5779 1995-11-29 Daniel Hagerty <hag@gnu.org>
5780
5781 * doc/bison.texinfo: Fixed update date
5782
5783 1995-10-16 Richard Stallman <rms@gnu.org>
5784
5785 * src/version.c: Version 1.25.
5786
5787 1995-10-16 Richard Stallman <rms@gnu.org>
5788
5789 * NEWS: *** empty log message ***
5790
5791 1995-10-16 Richard Stallman <rms@gnu.org>
5792
5793 * doc/bison.1, doc/bison.rnh:
5794 Add new options.
5795
5796 1995-10-15 Richard Stallman <rms@gnu.org>
5797
5798 * src/vmsgetargs.c, src/getargs.c:
5799 Added -n, -k, and -raw switches.
5800 (noparserflag, toknumflag, rawtoknumflag): New variables.
5801
5802 * src/symtab.h (SALIAS):
5803 New #define for adding aliases to %token.
5804 (struct bucket): Added `alias' field.
5805
5806 * src/reduce.c (reduce_grammar):
5807 Revise error message.
5808 (print_notices): Remove final `.' from error message.
5809
5810 * src/reader.c (reader_output_yylsp):
5811 New function.
5812 (readgram): Use `#if 0' around code that accepted %command
5813 inside grammar rules: The documentation doesn't allow it,
5814 and it will fail since the %command processors scan for the next %.
5815 (parse_token_decl): Extended the %token
5816 declaration to allow a multi-character symbol as an alias.
5817 (parse_thong_decl): New function.
5818 (read_declarations): Added %thong declarations.
5819 (read_declarations): Handle NOOP to deal with allowing
5820 % declarations as another means to specify the flags.
5821 (readgram): Allow %prec prior to semantics embedded in a rule.
5822 (skip_to_char, read_declarations, copy_definition)
5823 (parse_token_decl, parse_start_decl, parse_type_decl)
5824 (parse_assoc_decl, parse_union_decl, parse_expect_decl)
5825 (get_type_name, copy_guard, copy_action, readgram)
5826 (get_type, packsymbols): Revised most error messages.
5827 Changed `fatal' to `warnxxx' to avoid aborting for error.
5828 Revised and use multiple warnxxx functions to avoid using VARARGS1.
5829 (read_declarations): Improve the error message for
5830 an invalid character. Do not abort.
5831 (read_declarations, copy_guard, copy_action): Use
5832 printable_version to avoid unprintable characters in printed output.
5833 (parse_expect_decl): Error if argument to %expect exceeds 10 digits.
5834 (parse_token_decl, parse_assoc_decl, parse_type_decl, get_type):
5835 Allow the type of a non-terminal can be given
5836 more than once, as long as all specifications give the same type.
5837
5838 * src/output.c:
5839 (output_headers, output_trailers, output, output_gram)
5840 (output_rule_data): Implement noparserflag variable.
5841 Implement toknumflag variable.
5842 (output): Call reader_output_yylsp to output LTYPESTR.
5843
5844 * src/main.c (main):
5845 If reader sees an error, don't process the grammar.
5846 (fatals): Updated to not use VARARGS1.
5847 (printable_version, int_to_string, warn, warni, warns, warnss)
5848 (warnsss): New error reporting functions. Avoid abort for error.
5849
5850 * src/lex.h:
5851 Added THONG and NOOP for alias processing.
5852 Added SETOPT for the new code that allows setting options with %flags.
5853
5854 * src/lex.c:
5855 Include getopt.h. Add some extern decls.
5856 (safegetc): New function to deal with EOF gracefully.
5857 (literalchar); new function to deal with reading \ escapes.
5858 (lex): Use literalchar.
5859 (lex): Implemented "..." tokens.
5860 (literalchar, lex, parse_percent_token): Made tokenbuffer
5861 always contain the token. This includes growing the token
5862 buffer while reading an integer.
5863 (parse_percent_token): Replaced if-else statement with percent_table.
5864 (parse_percent_token): Added % declarations as another
5865 way to specify the flags -n, -l, and -r. Also added hooks for
5866 -d, -k, -y, -v, -t, -p, -b, -o, but implementation requires
5867 major changes to files.c.
5868 (lex) Retain in the incoming stream a character following
5869 an incorrect '/'.
5870 (skip_white_space, lex): Revised most error messages
5871 and changed fatal to warn to avoid aborting.
5872 (percent_table): Added %thong declarations.
5873
5874 * src/gram.h: Comment changes.
5875
5876 * src/files.c (openfiles, open_extra_files, done):
5877 Add faction flag
5878 and actfile file. Handle noparserflag. Both for -n switch.
5879
5880 * src/conflicts.c (resolve_sr_conflict):
5881 Remove use of alloca.
5882
5883 1995-06-01 Jim Meyering <meyering@gnu.org>
5884
5885 * doc/bison.texinfo: *** empty log message ***
5886
5887 1995-05-06 Richard Stallman <rms@gnu.org>
5888
5889 * src/bison.s1: Comment change.
5890
5891 1995-05-06 Richard Stallman <rms@gnu.org>
5892
5893 * bison.simple: Comment change.
5894
5895 1995-05-03 Richard Stallman <rms@gnu.org>
5896
5897 * src/version.c: Version now 1.24.
5898
5899 * src/bison.s1: Change distribution terms.
5900
5901 * src/version.c: Version now 1.23.
5902
5903 1995-05-03 Richard Stallman <rms@gnu.org>
5904
5905 * doc/bison.texinfo:
5906 Rewrite "Conditions for Using Bison".
5907 Update version to 1.24.
5908
5909 1995-05-03 Richard Stallman <rms@gnu.org>
5910
5911 * bison.simple: Change distribution terms.
5912
5913 1995-02-23 Richard Stallman <rms@gnu.org>
5914
5915 * src/files.c: Test __VMS_POSIX as well as VMS.
5916
5917 1995-02-14 Jim Meyering <meyering@gnu.org>
5918
5919 * src/bison.s1 (__yy_memcpy):
5920 Renamed from __yy_bcopy to avoid
5921 confusion. Reverse FROM and TO arguments to be consistent with
5922 those of memcpy.
5923
5924 1995-02-14 Jim Meyering <meyering@gnu.org>
5925
5926 * bison.simple (__yy_memcpy):
5927 Renamed from __yy_bcopy to avoid
5928 confusion. Reverse FROM and TO arguments to be consistent with
5929 those of memcpy.
5930
5931 1994-11-10 David J. MacKenzie <djm@gnu.org>
5932
5933 * NEWS: reformat
5934
5935 * NEWS: New file.
5936
5937 * Makefile.in (DISTFILES): Include NEWS.
5938
5939 * Makefile.in (DISTFILES):
5940 Include install-sh, not install.sh.
5941
5942 * configure.in: Update to Autoconf v2 macro names.
5943
5944 1994-10-05 David J. MacKenzie <djm@gnu.org>
5945
5946 * Makefile.in: fix typo
5947
5948 * Makefile.in (prefix, exec_prefix):
5949 Let configure set them.
5950
5951 1994-09-28 David J. MacKenzie <djm@gnu.org>
5952
5953 * Makefile.in: Set datadir to $(prefix)/share.
5954
5955 1994-09-15 Richard Stallman <rms@gnu.org>
5956
5957 * src/bison.s1:
5958 Update copyright notice and GPL version.
5959
5960 1994-09-15 Richard Stallman <rms@gnu.org>
5961
5962 * bison.simple:
5963 Update copyright notice and GPL version.
5964
5965 1994-07-12 Richard Stallman <rms@gnu.org>
5966
5967 * src/reduce.c, src/reader.c:
5968 entered into RCS
5969
5970 1994-05-05 David J. MacKenzie <djm@gnu.org>
5971
5972 * Makefile.in: entered into RCS
5973
5974 1994-03-26 Richard Stallman <rms@gnu.org>
5975
5976 * src/bison.s1: entered into RCS
5977
5978 1994-03-26 Richard Stallman <rms@gnu.org>
5979
5980 * bison.simple: entered into RCS
5981
5982 1994-03-25 Richard Stallman <rms@gnu.org>
5983
5984 * src/main.c: entered into RCS
5985
5986 1994-03-24 Richard Stallman <rms@gnu.org>
5987
5988 * src/conflicts.c: entered into RCS
5989
5990 1994-01-02 Richard Stallman <rms@gnu.org>
5991
5992 * Makefile.in: *** empty log message ***
5993
5994 1993-11-21 Richard Stallman <rms@gnu.org>
5995
5996 * src/bison.s1: *** empty log message ***
5997
5998 1993-11-21 Richard Stallman <rms@gnu.org>
5999
6000 * doc/bison.texinfo: entered into RCS
6001
6002 * doc/bison.texinfo: *** empty log message ***
6003
6004 1993-11-21 Richard Stallman <rms@gnu.org>
6005
6006 * bison.simple: *** empty log message ***
6007
6008 1993-10-25 David J. MacKenzie <djm@gnu.org>
6009
6010 * doc/bison.texinfo: *** empty log message ***
6011
6012 1993-10-19 Richard Stallman <rms@gnu.org>
6013
6014 * src/bison.s1: *** empty log message ***
6015
6016 1993-10-19 Richard Stallman <rms@gnu.org>
6017
6018 * bison.simple: *** empty log message ***
6019
6020 1993-10-14 Richard Stallman <rms@gnu.org>
6021
6022 * src/bison.s1: *** empty log message ***
6023
6024 1993-10-14 Richard Stallman <rms@gnu.org>
6025
6026 * bison.simple: *** empty log message ***
6027
6028 1993-09-14 David J. MacKenzie <djm@gnu.org>
6029
6030 * doc/bison.texinfo: *** empty log message ***
6031
6032 1993-09-13 Noah Friedman <friedman@gnu.org>
6033
6034 * Makefile.in: *** empty log message ***
6035
6036 1993-09-10 Richard Stallman <rms@gnu.org>
6037
6038 * src/conflicts.c: *** empty log message ***
6039
6040 * src/system.h: entered into RCS
6041
6042 1993-09-10 Richard Stallman <rms@gnu.org>
6043
6044 * doc/bison.1: entered into RCS
6045
6046 1993-09-06 Noah Friedman <friedman@gnu.org>
6047
6048 * src/version.c: entered into RCS
6049
6050 1993-09-06 Noah Friedman <friedman@gnu.org>
6051
6052 * Makefile.in: *** empty log message ***
6053
6054 1993-07-30 David J. MacKenzie <djm@gnu.org>
6055
6056 * Makefile.in: *** empty log message ***
6057
6058 1993-07-24 Richard Stallman <rms@gnu.org>
6059
6060 * src/bison.s1: *** empty log message ***
6061
6062 1993-07-24 Richard Stallman <rms@gnu.org>
6063
6064 * bison.simple: *** empty log message ***
6065
6066 1993-07-08 David J. MacKenzie <djm@gnu.org>
6067
6068 * Makefile.in: *** empty log message ***
6069
6070 1993-07-04 Richard Stallman <rms@gnu.org>
6071
6072 * src/bison.s1: *** empty log message ***
6073
6074 1993-07-04 Richard Stallman <rms@gnu.org>
6075
6076 * bison.simple: *** empty log message ***
6077
6078 1993-06-26 David J. MacKenzie <djm@gnu.org>
6079
6080 * src/getargs.c: entered into RCS
6081
6082 1993-06-26 David J. MacKenzie <djm@gnu.org>
6083
6084 * doc/bison.texinfo: *** empty log message ***
6085
6086 * doc/bison.1: New file.
6087
6088 1993-06-25 Richard Stallman <rms@gnu.org>
6089
6090 * src/getargs.c: New file.
6091
6092 1993-06-16 Richard Stallman <rms@gnu.org>
6093
6094 * src/bison.s1: *** empty log message ***
6095
6096 1993-06-16 Richard Stallman <rms@gnu.org>
6097
6098 * bison.simple: *** empty log message ***
6099
6100 1993-06-03 Richard Stallman <rms@gnu.org>
6101
6102 * src/bison.s1: New file.
6103
6104 1993-06-03 Richard Stallman <rms@gnu.org>
6105
6106 * doc/bison.texinfo: *** empty log message ***
6107
6108 1993-06-03 Richard Stallman <rms@gnu.org>
6109
6110 * bison.simple: New file.
6111
6112 1993-05-19 Richard Stallman <rms@gnu.org>
6113
6114 * doc/bison.texinfo: New file.
6115
6116 1993-05-07 Noah Friedman <friedman@gnu.org>
6117
6118 * Makefile.in: *** empty log message ***
6119
6120 1993-04-28 Noah Friedman <friedman@gnu.org>
6121
6122 * src/reader.c: *** empty log message ***
6123
6124 1993-04-23 Noah Friedman <friedman@gnu.org>
6125
6126 * src/alloc.h: entered into RCS
6127
6128 1993-04-20 David J. MacKenzie <djm@gnu.org>
6129
6130 * src/version.c: *** empty log message ***
6131
6132 * src/files.c, src/allocate.c:
6133 entered into RCS
6134
6135 * src/reader.c: *** empty log message ***
6136
6137 * src/lex.c: entered into RCS
6138
6139 * src/conflicts.c: New file.
6140
6141 * src/symtab.c: entered into RCS
6142
6143 * src/alloc.h: New file.
6144
6145 * src/LR0.c: entered into RCS
6146
6147 1993-04-18 Noah Friedman <friedman@gnu.org>
6148
6149 * src/reader.c: New file.
6150
6151 * src/version.c: *** empty log message ***
6152
6153 1993-04-18 Noah Friedman <friedman@gnu.org>
6154
6155 * Makefile.in: *** empty log message ***
6156
6157 1993-04-17 Noah Friedman <friedman@gnu.org>
6158
6159 * Makefile.in: *** empty log message ***
6160
6161 1993-04-15 Richard Stallman <rms@gnu.org>
6162
6163 * src/main.c, src/files.c:
6164 New file.
6165
6166 1993-04-15 Noah Friedman <friedman@gnu.org>
6167
6168 * configure.in: entered into RCS
6169
6170 * configure.in: *** empty log message ***
6171
6172 * configure.in: New file.
6173
6174 1993-04-14 Richard Stallman <rms@gnu.org>
6175
6176 * Makefile.in: New file.
6177
6178 1993-04-13 Richard Stallman <rms@gnu.org>
6179
6180 * src/version.c: New file.
6181
6182 1993-03-25 Richard Stallman <rms@gnu.org>
6183
6184 * src/output.c: entered into RCS
6185
6186 1992-09-25 Richard Stallman <rms@gnu.org>
6187
6188 * configure.bat: entered into RCS
6189
6190 1992-06-22 Richard Stallman <rms@gnu.org>
6191
6192 * src/vmsgetargs.c: entered into RCS
6193
6194 1992-06-22 Richard Stallman <rms@gnu.org>
6195
6196 * doc/bison.rnh: entered into RCS
6197
6198 1992-04-20 David J. MacKenzie <djm@gnu.org>
6199
6200 * README: entered into RCS
6201
6202 1992-01-22 Richard Stallman <rms@gnu.org>
6203
6204 * src/machine.h: entered into RCS
6205
6206 1991-12-21 Richard Stallman <rms@gnu.org>
6207
6208 * src/lalr.c, src/closure.c:
6209 entered into RCS
6210
6211 1991-12-20 Richard Stallman <rms@gnu.org>
6212
6213 * src/state.h: entered into RCS
6214
6215 1991-12-18 Richard Stallman <rms@gnu.org>
6216
6217 * src/print.c, src/nullable.c, src/derives.c:
6218 entered into RCS
6219
6220 1991-11-03 David J. MacKenzie <djm@gnu.org>
6221
6222 * src/warshall.c, src/types.h, src/symtab.h, src/lex.h, src/gram.c, src/gram.h, src/files.h:
6223 entered into RCS
6224
6225 1988-09-09 Richard Stallman <rms@gnu.org>
6226
6227 * src/bison.hairy: entered into RCS
6228
6229 1987-12-16 Richard Stallman <rms@gnu.org>
6230
6231 * REFERENCES: entered into RCS
6232 -----
6233
6234 Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
6235
6236 This file is part of GNU Autoconf.
6237
6238 GNU Autoconf is free software; you can redistribute it and/or modify
6239 it under the terms of the GNU General Public License as published by
6240 the Free Software Foundation; either version 2, or (at your option)
6241 any later version.
6242
6243 GNU Autoconf is distributed in the hope that it will be useful,
6244 but WITHOUT ANY WARRANTY; without even the implied warranty of
6245 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
6246 GNU General Public License for more details.
6247
6248 You should have received a copy of the GNU General Public License
6249 along with autoconf; see the file COPYING. If not, write to
6250 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
6251 Boston, MA 02111-1307, USA.