+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ Make `make distcheck' work.
+
+ * lib/Makefile.am (INCLUDES): Add top_srcdir/intl, since hash uses
+ system.h which uses libgettext.h.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ * src/nullable.c (set_nullable): Useless rules must be skipped,
+ otherwise, since we range over their symbols, we might look at a
+ nonterminal which no longer ``exists'', i.e., it is not counted in
+ `nvars', hence we overflow our arrays.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ The header can also be produced directly, without any obstack!
+ Yahoo!
+
+ * src/files.c, src/files.h (defines_obstack): Remove.
+ (compute_header_macro): Global.
+ (defines_obstack_save): Remove.
+ * src/reader.c (parse_union_decl): No longer output to
+ defines_obstack: its content can be found in the `stype' muscle
+ anyway.
+ (output_token_translations): Merge into...
+ (symbols_output): this.
+ Rename as...
+ (symbols_save): this.
+ (reader): Adjust.
+ * src/output.c (header_output): New.
+ (output): Call it.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ * src/reader.c (parse_union_decl): Instead of handling two obstack
+ simultaneously, use one to define the `stype' muscle, and use the
+ value of the latter to fill defines_obstack.
+ (copy_comment): Remove.
+ (copy_comment2): Work for a single obstack.
+ Rename as...
+ (copy_comment): this.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ * src/lex.c, src/lex.h (xgetc): No longer static.
+ * src/reader.c (parse_union_decl): Revamp.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ Still making progress in separating Bison into (i) input, (ii)
+ process, (iii) output: now we can directly output the parser file
+ without using table_obstack at all.
+
+ * src/files.c, src/files.h (table_obstack): Bye bye.
+ (parser_file_name): New.
+ * src/files.c (compute_output_file_names): Compute it.
+ * src/output.c (actions_output, output_parser)
+ (output_master_parser): To a file instead of an obstack.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ Attach actions to rules, instead of pre-outputting them to
+ actions_obstack.
+
+ * src/gram.h (rule_t): action and action_line are new members.
+ * src/reader.c (symbol_list): Likewise.
+ (copy_action): Save the actions within the rule.
+ (packgram): Save them in rule_table.
+ * src/output.c (actions_output): New.
+ (output_parser): Use it on `%%actions'.
+ (output_rule_data): Don't free rule_table.
+ (output): Do it.
+ (prepare): Don't save the `action' muscle.
+ * src/bison.simple: s/%%action/%%actions/.
+
+2001-12-15 Akim Demaille <akim@epita.fr>
+
+ * src/reader.c (copy_action): When --yacc, don't append a `;'
+ to the user action: let it fail if lacking.
+ Suggested by Aharon Robbins and Tom Tromey.
+
+2001-12-14 Akim Demaille <akim@epita.fr>
+
+ * src/lex.c (literalchar): Simply return the char you decoded, non
+ longer mess around with obstacks and int pointers.
+ Adjust all callers.
+
2001-12-14 Akim Demaille <akim@epita.fr>
* src/lex.c (literalchar): Don't escape the special characters,