tom.library.sl
Class All
java.lang.Object
tom.library.sl.AbstractStrategy
tom.library.sl.AbstractStrategyCombinator
tom.library.sl.All
- All Implemented Interfaces:
- Strategy, Visitable
public class All
- extends AbstractStrategyCombinator
Strategy combinator with one strategy argument s
, that
applies this strategy s
to all children. If there exists one
child for which the strategy s
fails, All(s)
fails. Applying All
combinator to a constant always
succeeds and behaves like the Identity()
strategy.
All(s)[f(t1,...,tn)]=f(t1',...,tn')
if s[t1]=t1', ..., s[tn]=tn'
fails if there exists i
such that s[ti]
fails.
All(s)[c]=c
is c
is a constant
Note that this All is parallel in the sense that s is applied to every child
before changing the current subject.
If you are interested in a sequential behaviour, AllSeq
Field Summary |
static int |
ARG
|
Method Summary |
int |
visit(Introspector introspector)
Visit the current subject (found in the environment)
and place its result in the environment. |
|
visitLight(T any,
Introspector introspector)
Visit the subject any without managing any environment |
Methods inherited from class tom.library.sl.AbstractStrategyCombinator |
getChildAt, getChildCount, getChildren, getVisitor, getVisitors, initSubterm, initSubterm, initSubterm, initSubterm, initSubterm, setChildAt, setChildren |
Methods inherited from class tom.library.sl.AbstractStrategy |
getAncestor, getEnvironment, getPosition, getRoot, getSubject, init, init, setEnvironment, setRoot, setSubject, visit, visit, visit, visit, visitLight |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ARG
public static final int ARG
- See Also:
- Constant Field Values
All
public All(Strategy v)
visitLight
public final <T> T visitLight(T any,
Introspector introspector)
throws VisitFailure
- Visit the subject any without managing any environment
- Parameters:
any
- the subject to visitintrospector
- the introspector
- Returns:
- a Visitable
- Throws:
VisitFailure
- if visitLight fails
visit
public int visit(Introspector introspector)
- Visit the current subject (found in the environment)
and place its result in the environment.
Sets the environment flag to Environment.FAILURE in case of failure
- Parameters:
introspector
- the introspector
- Returns:
- 0 if success