GNU
|
Liberty Eiffel
|
Automated Tests
|
Wiki
|
Savannah project
|
Debian packages
|
Documentation
>
libraries
>
PACKRAT_ALTERNATIVE
+
Point of view
All features
ANY
PACKRAT_INTERNAL
PACKRAT_VISITOR
All features
deferred class PACKRAT_ALTERNATIVE
Summary
top
Direct parents
Inherit list:
PACKRAT_PATTERN
Known children
Inherit list:
PACKRAT_LOOKAHEAD
,
PACKRAT_SEQUENCE
Overview
top
Features
{
ANY
}
infix "/"
(other: PACKRAT_ALTERNATIVE):
PACKRAT_PATTERN
{
ANY
}
is_coherent
:
BOOLEAN
{
PACKRAT_INTERNAL
}
set_default_tree_builders
(non_terminal_builder:
PROCEDURE
[
TUPLE 2
[
FIXED_STRING
,
TRAVERSABLE
[
FIXED_STRING
]]], terminal_builder:
PROCEDURE
[
TUPLE 2
[
FIXED_STRING
,
PARSER_IMAGE
]])
{
ANY
}
hash_code
:
INTEGER_32
The hash-code value of
Current
.
is_equal
(other: PACKRAT_ALTERNATIVE):
BOOLEAN
Is
other
attached to an object considered equal to current object?
positive_lookahead
: PACKRAT_ALTERNATIVE
prefix "@"
: PACKRAT_ALTERNATIVE
negative_lookahead
: PACKRAT_ALTERNATIVE
prefix "~"
: PACKRAT_ALTERNATIVE
{
ANY
}
accept
(visitor:
PACKRAT_VISITOR
)
Accept to be visited by the
visitor
.
{
PACKRAT_INTERNAL
}
parse
(context:
PACKRAT_PARSE_CONTEXT
):
TRISTATE
set_nt
(a_nt:
PACKRAT_NON_TERMINAL
)
nt
:
PACKRAT_NON_TERMINAL
set_paren
(a_paren:
BOOLEAN
)
{
PACKRAT_INTERNAL
,
PACKRAT_VISITOR
}
need_paren
:
BOOLEAN
{}
pack_parse
(context:
PACKRAT_PARSE_CONTEXT
):
TRISTATE
{}
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
}
yes
:
TRISTATE
no
:
TRISTATE
maybe
:
TRISTATE
infix "/"
(other: PACKRAT_ALTERNATIVE):
PACKRAT_PATTERN
effective function
{
ANY
}
top
require
other /= Void
is_coherent
:
BOOLEAN
deferred function
{
ANY
}
top
ensure
must_be_coherent:
Result
set_default_tree_builders
(non_terminal_builder:
PROCEDURE
[
TUPLE 2
[
FIXED_STRING
,
TRAVERSABLE
[
FIXED_STRING
]]], terminal_builder:
PROCEDURE
[
TUPLE 2
[
FIXED_STRING
,
PARSER_IMAGE
]])
deferred procedure
{
PACKRAT_INTERNAL
}
top
hash_code
:
INTEGER_32
effective function
{
ANY
}
top
The hash-code value of
Current
.
ensure
good_hash_value:
Result >= 0
is_equal
(other: PACKRAT_ALTERNATIVE):
BOOLEAN
effective function
{
ANY
}
top
Is
other
attached to an object considered equal to current object?
require
other /= Void
other /= Void
other /= Void
ensure
commutative:
generating_type = other.generating_type implies Result = other.is_equal(Current)
Result implies hash_code = other.hash_code
positive_lookahead
: PACKRAT_ALTERNATIVE
frozen
effective function
{
ANY
}
top
prefix "@"
: PACKRAT_ALTERNATIVE
effective function
{
ANY
}
top
negative_lookahead
: PACKRAT_ALTERNATIVE
frozen
effective function
{
ANY
}
top
prefix "~"
: PACKRAT_ALTERNATIVE
effective function
{
ANY
}
top
accept
(visitor:
PACKRAT_VISITOR
)
deferred procedure
{
ANY
}
top
Accept to be visited by the
visitor
.
require
visitor /= Void
parse
(context:
PACKRAT_PARSE_CONTEXT
):
TRISTATE
frozen
effective function
{
PACKRAT_INTERNAL
}
top
require
context /= Void
ensure
not Result.is_equal(
yes
) implies context.buffer.current_index = old context.buffer.current_index
set_nt
(a_nt:
PACKRAT_NON_TERMINAL
)
effective procedure
{
PACKRAT_INTERNAL
}
top
require
a_nt /= Void
ensure
nt
= a_nt
nt
:
PACKRAT_NON_TERMINAL
writable attribute
{
PACKRAT_INTERNAL
}
top
set_paren
(a_paren:
BOOLEAN
)
effective procedure
{
PACKRAT_INTERNAL
}
top
ensure
need_paren
= a_paren
need_paren
:
BOOLEAN
writable attribute
{
PACKRAT_INTERNAL
,
PACKRAT_VISITOR
}
top
pack_parse
(context:
PACKRAT_PARSE_CONTEXT
):
TRISTATE
deferred function
{}
top
require
context /= Void
ensure
not Result.is_equal(
yes
) implies context.buffer.current_index = old context.buffer.current_index
log
:
LOGGER
effective function
{}
top
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
{}
top
The cached logger.
The ugly name is intentional. Don't use directly.
yes
:
TRISTATE
effective function
{
ANY
}
top
no
:
TRISTATE
effective function
{
ANY
}
top
maybe
:
TRISTATE
effective function
{
ANY
}
top