Next: Completed and expected symbol instances, Previous: Nulled and expected symbol instances, Up: Event coincidence of symbol instances [Contents][Index]
A symbol instance cannot trigger both
a MARPA_EVENT_SYMBOL_COMPLETED
and a MARPA_EVENT_SYMBOL_PREDICTED
event at the same location.
Call the location, j.
Coincident events with the types
MARPA_EVENT_SYMBOL_COMPLETED
and MARPA_EVENT_SYMBOL_PREDICTED
cannot be triggered by a single symbol instance
because the symbol instances
for MARPA_EVENT_SYMBOL_COMPLETED
and MARPA_EVENT_SYMBOL_PREDICTED
cannot be zero-length;
the symbol instance for the MARPA_EVENT_SYMBOL_COMPLETED
must end at j; and
the symbol instance for the MARPA_EVENT_SYMBOL_PREDICTED
must start at j.
That is, if the
MARPA_EVENT_SYMBOL_COMPLETED symbol instance is
sym@c1-c2
and the
MARPA_EVENT_SYMBOL_PREDICTED symbol instance is
sym@p1-p2
we must have all of
c1<c2, because the length of
MARPA_EVENT_SYMBOL_COMPLETED symbol instance is non-zero;
c2=j, because the
MARPA_EVENT_SYMBOL_COMPLETED symbol instance must end at
j; and
j=p1, because the
MARPA_EVENT_SYMBOL_PREDICTED symbol instance must start at
j.
so that c1 < p1 and
the two instances
sym@c1-c2 and
sym@p1-p2
must be distinct.