machine grammar slots for elidable terminators

From Lojban
Jump to navigation Jump to search

These rules all have the string "gap" in their names. Most of them have this

general form:

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

elided).

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

form:

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.

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.