GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
libraries
>
EIFFEL_NON_TERMINAL_NODE
+
Point of view
All features
ANY
EIFFEL_GRAMMAR
EIFFEL_NODE_HANDLER
EIFFEL_NON_TERMINAL_NODE
EIFFEL_LIST_NODE
All features
deferred class EIFFEL_NON_TERMINAL_NODE
Summary
top
Direct parents
Inherit list:
EIFFEL_NODE
Known children
Inherit list:
EIFFEL_NON_TERMINAL_NODE_IMPL
Overview
top
Features
{
ANY
}
name_at
(index:
INTEGER_32
):
FIXED_STRING
node_at
(index:
INTEGER_32
):
EIFFEL_NODE
valid_index
(index:
INTEGER_32
):
BOOLEAN
lower
:
INTEGER_32
upper
:
INTEGER_32
count
:
INTEGER_32
is_empty
:
BOOLEAN
source_line
:
INTEGER_32
source_column
:
INTEGER_32
source_index
:
INTEGER_32
{
EIFFEL_GRAMMAR
}
set
(index:
INTEGER_32
, node:
EIFFEL_NODE
)
{
ANY
}
parent
:
EIFFEL_NODE
the parent node
forgotten
:
FAST_ARRAY
[
EIFFEL_NODE
]
used when this node is in a
EIFFEL_LIST_NODE
and nodes are between this node and the next one
name
:
FIXED_STRING
the name of the node in the grammar
{
EIFFEL_GRAMMAR
}
set_forgotten
(a_forgotten:
FAST_ARRAY
[
EIFFEL_NODE
])
Basic operations
{
EIFFEL_NODE_HANDLER
}
display
(output:
OUTPUT_STREAM
, indent:
INTEGER_32
, p:
STRING
)
Display the node in a tree fashion in the provided
output
stream
generate
(o:
OUTPUT_STREAM
)
Generate the node exactly as it was written, including blanks and
forgotten
nodes, onto the provided
output
stream
{
EIFFEL_NODE_HANDLER
}
generate_forgotten
(o:
OUTPUT_STREAM
)
{
EIFFEL_NON_TERMINAL_NODE
,
EIFFEL_LIST_NODE
}
set_parent
(a_parent:
EIFFEL_NODE
)
{}
do_indent
(output:
OUTPUT_STREAM
, indent:
INTEGER_32
, p:
STRING
)
{
ANY
}
accept
(visitor:
VISITOR
)
Accept to be visited by the
visitor
.
name_at
(index:
INTEGER_32
):
FIXED_STRING
deferred function
{
ANY
}
top
require
valid_index
(index)
node_at
(index:
INTEGER_32
):
EIFFEL_NODE
deferred function
{
ANY
}
top
require
valid_index
(index)
valid_index
(index:
INTEGER_32
):
BOOLEAN
deferred function
{
ANY
}
top
ensure
definition:
Result = index >=
lower
and then index <=
upper
lower
:
INTEGER_32
deferred function
{
ANY
}
top
ensure
Result >= 0
upper
:
INTEGER_32
deferred function
{
ANY
}
top
ensure
Result >=
upper
- 1
count
:
INTEGER_32
deferred function
{
ANY
}
top
ensure
definition:
Result =
upper
-
lower
+ 1
is_empty
:
BOOLEAN
deferred function
{
ANY
}
top
ensure
definition:
Result =
count
= 0
source_line
:
INTEGER_32
effective function
{
ANY
}
top
source_column
:
INTEGER_32
effective function
{
ANY
}
top
source_index
:
INTEGER_32
effective function
{
ANY
}
top
set
(index:
INTEGER_32
, node:
EIFFEL_NODE
)
deferred procedure
{
EIFFEL_GRAMMAR
}
top
require
valid_index
(index)
ensure
node_at
(index) = node
parent
:
EIFFEL_NODE
writable attribute
{
ANY
}
top
the parent node
forgotten
:
FAST_ARRAY
[
EIFFEL_NODE
]
writable attribute
{
ANY
}
top
used when this node is in a
EIFFEL_LIST_NODE
and nodes are between this node and the next one
name
:
FIXED_STRING
deferred function
{
ANY
}
top
the name of the node in the grammar
ensure
name
/= Void
set_forgotten
(a_forgotten:
FAST_ARRAY
[
EIFFEL_NODE
])
effective procedure
{
EIFFEL_GRAMMAR
}
top
ensure
forgotten
= a_forgotten
display
(output:
OUTPUT_STREAM
, indent:
INTEGER_32
, p:
STRING
)
deferred procedure
{
EIFFEL_NODE_HANDLER
}
top
Display the node in a tree fashion in the provided
output
stream
generate
(o:
OUTPUT_STREAM
)
deferred procedure
{
EIFFEL_NODE_HANDLER
}
top
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
{
EIFFEL_NODE_HANDLER
}
top
set_parent
(a_parent:
EIFFEL_NODE
)
effective procedure
{
EIFFEL_NON_TERMINAL_NODE
,
EIFFEL_LIST_NODE
}
top
require
a_parent /= Void
parent
= Void
ensure
parent
= a_parent
do_indent
(output:
OUTPUT_STREAM
, indent:
INTEGER_32
, p:
STRING
)
effective procedure
{}
top
accept
(visitor:
VISITOR
)
deferred procedure
{
ANY
}
top
Accept to be visited by the
visitor
.
require
visitor /= Void