1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
The following enumerations and types can be used by members of parser
classes generated by bic(). They are actually protected members inherited from
the parser's base class.
itemization(
it() bf(Base::ErrorRecovery_):nl()
This enumeration defines one values:
verb(
UNEXPECTED_TOKEN_
)
When the parsing process throws tt(UNEXPECTED_TOKEN_) the recovery
procedure is started (i.e., it is started whenever a syntactic error
is encountered or tt(ERROR)tt(()) is called).
The recovery procedure consists of (1) looking for the first state on
the state-stack having an error-production, followed by (2) handling
all state transitions that are possible without retrieving a terminal
token. Then, in the state requiring a terminal token and starting with
the initial unexpected token (3) all subsequent terminal tokens are
ignored until a token is retrieved which is a continuation token in
that state.
If the error recovery procedure fails (i.e., if no acceptable token is
ever encountered) error recovery falls back to the default recovery
mode: the parsing process terminates.
it() bf(Base::Return_):nl()
This enumeration defines two values:
verb(
PARSE_ACCEPT = 0,
PARSE_ABORT = 1
)
(which are also used as the tt(parse) function's return values).
)
When the tt(%polymorphic) directive is used:
itemization(
it() bf(Meta_::sizeofTag_):nl()
tt(sizeofTag_) defines the number of tags that were defined for
polymorphic semantic values.
)
|