mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-15 23:33:03 +00:00
Improve some comments in parser table construction.
* src/LR0.c (new_itemsets): Explain sorting of itemset and kernel_base. (generate_states): Don't mention ruleset, which is internal to closure. * src/closure.c (closure): Explain sorting of core and itemset, which is required for this function to behave correctly. * src/closure.h (closure): Mention sorting.
This commit is contained in:
10
src/LR0.c
10
src/LR0.c
@@ -169,6 +169,10 @@ free_storage (void)
|
||||
| shifted. For each symbol in the grammar, kernel_base[symbol] |
|
||||
| points to a vector of item numbers activated if that symbol is |
|
||||
| shifted, and kernel_size[symbol] is their numbers. |
|
||||
| |
|
||||
| itemset is sorted on item number from ritem, which is sorted |
|
||||
| on rule number. Compute each kernel_base[symbol] with the |
|
||||
| same sort. |
|
||||
`---------------------------------------------------------------*/
|
||||
|
||||
static void
|
||||
@@ -351,10 +355,8 @@ generate_states (void)
|
||||
fprintf (stderr, "Processing state %d (reached by %s)\n",
|
||||
s->number,
|
||||
symbols[s->accessing_symbol]->tag);
|
||||
/* Set up ruleset and itemset for the transitions out of this
|
||||
state. ruleset gets a 1 bit for each rule that could reduce
|
||||
now. itemset gets a vector of all the items that could be
|
||||
accepted next. */
|
||||
/* Set up itemset for the transitions out of this state. itemset gets a
|
||||
vector of all the items that could be accepted next. */
|
||||
closure (s->items, s->nitems);
|
||||
/* Record the reductions allowed out of this state. */
|
||||
save_reductions (s);
|
||||
|
||||
Reference in New Issue
Block a user