Files
bison/tests
Akim Demaille 8eaddf326b multistart: turn start symbols into rules on $accept
Now that the parser can read several start symbols, let's process
them, and create the corresponding rules.

* src/parse-gram.y (grammar_declaration): Accept a list of start symbols.
* src/reader.h, src/reader.c (grammar_start_symbol_set): Rename as...
(grammar_start_symbols_set): this.

* src/reader.h, src/reader.c (start_flag): Replace with...
(start_symbols): this.
* src/reader.c (grammar_start_symbols_set): Build a list of start
symbols.
(switching_token, create_start_rules): New.
(check_and_convert_grammar): Use them to turn the list of start
symbols into a set of rules.
* src/reduce.c (nonterminals_reduce): Don't complain about $accept,
it's an internal detail.
(reduce_grammar): Complain about all the start symbols that don't
derive sentences.

* src/symtab.c (startsymbol, startsymbol_loc): Remove, replaced by
start_symbols.
symbols_pack): Move the check about the start symbols
to...
* src/symlist.c (check_start_symbols): here.
Adjust to multiple start symbols.
* tests/reduce.at (Empty Language): Generalize into...
(Bad start symbols): this.
2020-09-27 09:23:51 +02:00
..
2019-02-21 06:46:07 +01:00
2020-01-10 19:16:23 +01:00
2020-09-19 17:49:03 +02:00
2020-01-10 19:16:23 +01:00
2020-09-19 17:49:03 +02:00
2020-09-19 17:49:03 +02:00
2020-05-02 09:27:16 +02:00
2020-01-10 19:16:23 +01:00
2020-05-21 20:14:59 +02:00
2020-09-19 17:49:03 +02:00
2020-01-10 19:16:23 +01:00
2020-09-19 17:49:03 +02:00
2019-11-03 10:32:22 +01:00