machine grammar slots for elidable terminators
These rules all have the string "gap" in their names. Most of them have this
name_of_rule : terminal symbol erminal_symbol | terminal symbol erminal_symbol free_modifier_32 error
In plain language: the containing phrase of an elidable terminator
contains either the elidable terminator itself, optionally followed by
one or more free modifiers, or else nothing at all (because it is
Rules that follow this pattern:
Originally gap_450 was the only kind of gap, which is why it isn't called KU_gap_450.
Some rules don't allow free modifiers. In other words, they're on this
name_of_rule : terminal symbol erminal_symbol | error
- DOhU_gap_457 - This makes kind of sense, because DOhU is the terminator of a vocative, which can always be followed by additional vocatives.
- SEhU_gap_459 - A comment in the grammar says, "a free modifier on a discursive should be somewhere within the discursive."
- sub_gap_462 - This is the same as BOI_gap_461, except with no possibility of free modifiers. This is used when the BOI is itself part of a free modifier, specifically a MAI free modifier.
- TOI_gap_468 - A parenthesis is another kind of free modifier, and as such, we already know that it can be followed by another one.
- right_br_no_free_474 - This is a VEhO that terminates a subscript, which is itself a free modifier.
Another kind of "gap" rules are not for terminators, and implement
elision by some other means than YACC's "error" rule. In other words,
they're of this form:
name_of_rule : terminal symbol erminal_symbol | terminal symbol erminal_symbol free_modifier_32
This rule is called "gap" for historical reasons only.