+
Point of view
All features
class PACKRAT_PARSE_CONTEXT
Summary
Direct parents
Inherit list: PARSE_CONTEXT
Insert list: PACKRAT_INTERNAL, TRISTATE_VALUES
Class invariant
Overview
Creation features
{PACKRAT_PARSER}
Features
{ANY}
{PACKRAT_INTERNAL}
{PACKRAT_PRIMARY}
{}
{}
  • 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.
{ANY}
writable attribute
{ANY}
writable attribute
{ANY}
effective function
ensure
  • Result.is_set
restore (a_memo: PACKRAT_CONTEXT_MEMO)
effective procedure
require
  • a_memo.is_set
save_actions: COLLECTION[PARSE_ACTION]
effective function
ensure
restore_old_actions (old_actions: COLLECTION[PARSE_ACTION])
effective procedure
require
  • old_actions /= Void
ensure
pack (atom: PACKRAT_PRIMARY, index: INTEGER_32): PACKRAT_PACK
effective function
set_pack (atom: PACKRAT_PRIMARY, index: INTEGER_32, parsed: TRISTATE, position: PACKRAT_CONTEXT_MEMO): PACKRAT_PACK
effective function
require
  • not pack(atom, index).is_set
ensure
  • Result.is_equal(pack(atom, index))
  • Result.is_set
  • parsed.is_equal(no) implies Result.actions = Void
  • not parsed.is_equal(no) implies Result.actions = actions
make (a_buffer: MINI_PARSER_BUFFER, a_actions: COLLECTION[PARSE_ACTION])
effective procedure
{}
require
  • a_buffer /= Void
  • a_actions /= Void
ensure
atom name -> column -> (parsed, actions)
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.
yes: TRISTATE
effective function
{ANY}
effective function
{ANY}
maybe: TRISTATE
effective function
{ANY}