deferred class EIFFEL_NODE
Summary
Provides two basic operations: display for debug purposes, and generate for more generic node handling.
Any other operation should be provided by an external VISITOR.
See also: EIFFEL_NON_TERMINAL_NODE, EIFFEL_LIST_NODE, EIFFEL_TERMINAL_NODE, EIFFEL_IMAGE
Direct parents
Inherit list: VISITABLE
Insert list: EIFFEL_NODE_HANDLER
Known children
Inherit list: EIFFEL_LIST_NODE, EIFFEL_NON_TERMINAL_NODE, EIFFEL_TERMINAL_NODE
Overview
Features
{ANY}
{EIFFEL_GRAMMAR}
Basic operations
{EIFFEL_NODE_HANDLER}
{EIFFEL_NODE_HANDLER}
{EIFFEL_NON_TERMINAL_NODE, EIFFEL_LIST_NODE}
{}
{ANY}
parent: EIFFEL_NODE
writable attribute
{ANY}
the parent node
forgotten: FAST_ARRAY[EIFFEL_NODE]
writable attribute
{ANY}
used when this node is in a EIFFEL_LIST_NODE and nodes are between this node and the next one
deferred function
{ANY}
the name of the node in the grammar
ensure
source_line: INTEGER_32
deferred function
{ANY}
source_column: INTEGER_32
deferred function
{ANY}
source_index: INTEGER_32
deferred function
{ANY}
set_forgotten (a_forgotten: FAST_ARRAY[EIFFEL_NODE])
effective procedure
ensure
display (output: OUTPUT_STREAM, indent: INTEGER_32, p: STRING)
deferred procedure
Display the node in a tree fashion in the provided output stream
generate (o: OUTPUT_STREAM)
deferred procedure
Generate the node exactly as it was written, including blanks and forgotten nodes, onto the provided output stream
generate_forgotten (o: OUTPUT_STREAM)
effective procedure
set_parent (a_parent: EIFFEL_NODE)
effective procedure
require
  • a_parent /= Void
  • parent = Void
ensure
do_indent (output: OUTPUT_STREAM, indent: INTEGER_32, p: STRING)
effective procedure
{}
accept (visitor: VISITOR)
deferred procedure
{ANY}
Accept to be visited by the visitor.
require
  • visitor /= Void