GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
libraries
>
PACKRAT_PRETTY_PRINTER
+
Point of view
All features
ANY
PACKRAT_NON_TERMINAL
PACKRAT_TERMINAL
PACKRAT_AND
PACKRAT_CHOICE
PACKRAT_NOT
PACKRAT_REFERENCE
PACKRAT_SEQUENCE
All features
class PACKRAT_PRETTY_PRINTER
Summary
top
Direct parents
Inherit list:
PACKRAT_VISITOR
Insert list:
PACKRAT
Class invariant
top
stream
.is_connected
Overview
top
Creation features
{
ANY
}
make
(a_stream:
OUTPUT_STREAM
)
Features
{
PACKRAT_NON_TERMINAL
}
visit_non_terminal
(visited:
PACKRAT_NON_TERMINAL
)
{
PACKRAT_TERMINAL
}
visit_terminal
(visited:
PACKRAT_TERMINAL
)
{
PACKRAT_AND
}
visit_and
(visited:
PACKRAT_AND
)
{
PACKRAT_CHOICE
}
visit_choice
(visited:
PACKRAT_CHOICE
)
{
PACKRAT_NOT
}
visit_not
(visited:
PACKRAT_NOT
)
{
PACKRAT_REFERENCE
}
visit_reference
(visited:
PACKRAT_REFERENCE
)
{
PACKRAT_SEQUENCE
}
visit_sequence
(visited:
PACKRAT_SEQUENCE
)
{}
stream
:
OUTPUT_STREAM
make
(a_stream:
OUTPUT_STREAM
)
{}
accept_atom
(a_atom:
PARSE_ATOM
[
PACKRAT_PARSE_CONTEXT
])
Tune exports to your liking if need be
{}
one
:
INTEGER_8
zero_or_one
:
INTEGER_8
zero_or_more
:
INTEGER_8
one_or_more
:
INTEGER_8
seq
(a_primaries:
TRAVERSABLE
[
PACKRAT_PRIMARY
], a_how_many:
INTEGER_8
, a_tag:
ABSTRACT_STRING
, a_action:
PROCEDURE
[
TUPLE
]):
PACKRAT_ALTERNATIVE
ref
(a_atom_name:
ABSTRACT_STRING
):
PACKRAT_PRIMARY
visit_non_terminal
(visited:
PACKRAT_NON_TERMINAL
)
effective procedure
{
PACKRAT_NON_TERMINAL
}
top
require
visited /= Void
visit_terminal
(visited:
PACKRAT_TERMINAL
)
effective procedure
{
PACKRAT_TERMINAL
}
top
require
visited /= Void
visit_and
(visited:
PACKRAT_AND
)
effective procedure
{
PACKRAT_AND
}
top
require
visited /= Void
visit_choice
(visited:
PACKRAT_CHOICE
)
effective procedure
{
PACKRAT_CHOICE
}
top
require
visited /= Void
visit_not
(visited:
PACKRAT_NOT
)
effective procedure
{
PACKRAT_NOT
}
top
require
visited /= Void
visit_reference
(visited:
PACKRAT_REFERENCE
)
effective procedure
{
PACKRAT_REFERENCE
}
top
require
visited /= Void
visit_sequence
(visited:
PACKRAT_SEQUENCE
)
effective procedure
{
PACKRAT_SEQUENCE
}
top
require
visited /= Void
stream
:
OUTPUT_STREAM
writable attribute
{}
top
make
(a_stream:
OUTPUT_STREAM
)
effective procedure
{}
top
require
a_stream.is_connected
ensure
stream
= a_stream
accept_atom
(a_atom:
PARSE_ATOM
[
PACKRAT_PARSE_CONTEXT
])
effective procedure
{}
top
one
:
INTEGER_8
is 0
constant attribute
{}
top
zero_or_one
:
INTEGER_8
is 1
constant attribute
{}
top
zero_or_more
:
INTEGER_8
is 2
constant attribute
{}
top
one_or_more
:
INTEGER_8
is 3
constant attribute
{}
top
seq
(a_primaries:
TRAVERSABLE
[
PACKRAT_PRIMARY
], a_how_many:
INTEGER_8
, a_tag:
ABSTRACT_STRING
, a_action:
PROCEDURE
[
TUPLE
]):
PACKRAT_ALTERNATIVE
effective function
{}
top
require
a_primaries /= Void
a_how_many.in_range(
one
,
one_or_more
)
ref
(a_atom_name:
ABSTRACT_STRING
):
PACKRAT_PRIMARY
effective function
{}
top
require
a_atom_name /= Void