+
Point of view
All features
deferred class ABSTRACT_PARSER [C_ -> PARSE_CONTEXT]
Summary
Direct parents
Insert list: LOGGING, PARSER_FACET, TRISTATE_VALUES
Known children
Inherit list: DESCENDING_PARSER, PACKRAT_PARSER
Overview
Features
{ANY}
{}
{ANY}
{}
  • log: LOGGER
    There is one logger per concrete type; for performance reasons it is cached in each instance.
  • log_memory__0_: LOGGER
    The cached logger.
parse (buffer: MINI_PARSER_BUFFER, grammar: PARSE_TABLE[C_], start: STRING, a_actions: COLLECTION[PARSE_ACTION]): BOOLEAN
deferred function
{ANY}
Returns True if the parsing succeeded or definitely could not succeed, False if some more text could make it succeed.
require
  • a_actions /= Void
  • grammar.is_coherent
  • grammar.has(start)
ensure
  • a_actions.count >= old a_actions.count
  • not Result implies a_actions.count = old a_actions.count
eval (buffer: MINI_PARSER_BUFFER, grammar: PARSE_TABLE[C_], start: STRING): BOOLEAN
effective function
{ANY}
Returns True if the parsing succeeded or definitely could not succeed, False if some more text could make it succeed.
error: PARSE_ERROR
writable attribute
{ANY}
once function
{}
once function
{}
writable attribute
{}
save_actions
effective procedure
{}
ensure
restore_actions
effective procedure
{}
require ensure
new_free_actions: FAST_ARRAY[PARSE_ACTION]
effective function
{}
ensure
  • Result.is_empty
yes: TRISTATE
effective function
{ANY}
effective function
{ANY}
maybe: TRISTATE
effective function
{ANY}
log: LOGGER
effective function
{}
There is one logger per concrete type; for performance reasons it is cached in each instance.
ensure
  • Result /= Void
log_memory__0_: LOGGER
writable attribute
{}
The cached logger.
The ugly name is intentional. Don't use directly.