Next: The fully general input model, Previous: Advanced input models, Up: Advanced input models [Contents][Index]
In the
dense variable-length model of input,
one or more successful
calls of
marpa_r_alternative()
must be immediately previous
to every call to
marpa_r_earleme_complete()
.
Note that,
for a variable-length input model to be “dense”
according to this definition,
at least one successful call
of marpa_r_alternative()
must be immediately previous to each call to
marpa_r_earleme_complete()
.
Recall that, in this document, we say that a marpa_r_alternative()
call is
“immediately previous” to a
marpa_r_earleme_complete()
call
iff
that marpa_r_earleme_complete()
call is
the first
marpa_r_earleme_complete()
call after
the marpa_r_alternative()
call.
In the dense model of input,
after a successful call of
marpa_r_alternative()
,
the earleme variables are as follows:
max(old_f, old_c+length)
,
old_f
is the furthest earleme
before the call to marpa_r_alternative()
,
old_c
is the value of the current earleme
before the call to marpa_r_alternative()
, and
length
is the length of the token read.
marpa_r_alternative()
never changes the
latest or current earleme.
In the dense variable-length model of input, the following are also true:
marpa_r_earleme_complete()
mutator on the earleme variables
is the same as for the
basic models of input.
See The standard model of input.