class EFFECT_GRAMMAR_PRINTER
Summary
Direct parents
Inherit list: PACKRAT_VISITOR
Insert list: PACKRAT
Class invariant
Overview
out_in_tagged_out_memory
effective procedure
{ANY}
Append terse printable representation of current object in tagged_out_memory.
require
    • locked: tagged_out_locked
    • locked: tagged_out_locked
ensure
  • still_locked: tagged_out_locked
  • not_cleared: tagged_out_memory.count >= old tagged_out_memory.count
  • append_only: old tagged_out_memory.twin.is_equal(tagged_out_memory.substring(1, old tagged_out_memory.count))
visit_non_terminal (visited: PACKRAT_NON_TERMINAL)
effective procedure
require
  • visited /= Void
visit_terminal (visited: PACKRAT_TERMINAL)
effective procedure
require
  • visited /= Void
visit_and (visited: PACKRAT_AND)
effective procedure
require
  • visited /= Void
visit_choice (visited: PACKRAT_CHOICE)
effective procedure
require
  • visited /= Void
visit_not (visited: PACKRAT_NOT)
effective procedure
require
  • visited /= Void
visit_reference (visited: PACKRAT_REFERENCE)
effective procedure
require
  • visited /= Void
visit_sequence (visited: PACKRAT_SEQUENCE)
effective procedure
require
  • visited /= Void
effective procedure
{}
require
  • a_table /= Void
ensure
writable attribute
{}
buffer: STRING
writable attribute
{}
accept_atom (a_atom: PARSE_ATOM[PACKRAT_PARSE_CONTEXT])
effective procedure
{}
one: INTEGER_8
is 0
constant attribute
{}
zero_or_one: INTEGER_8
is 1
constant attribute
{}
zero_or_more: INTEGER_8
is 2
constant attribute
{}
one_or_more: INTEGER_8
is 3
constant attribute
{}
seq (a_primaries: TRAVERSABLE[PACKRAT_PRIMARY], a_how_many: INTEGER_8, a_tag: ABSTRACT_STRING, a_action: PROCEDURE[TUPLE]): PACKRAT_ALTERNATIVE
effective function
{}
require
ref (a_atom_name: ABSTRACT_STRING): PACKRAT_PRIMARY
effective function
{}
require
  • a_atom_name /= Void