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