|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.erights.e.elang.evm.ParseNode | +--org.erights.e.elang.evm.ENode | +--org.erights.e.elang.evm.Pattern | +--org.erights.e.elang.evm.CdrPattern
Safe: BNF: listPattern "+" pattern This tries to match a list that's at least listPattern long by matching each sub-pattern against the corresponding listPattern elements, and matching rest-pattern against a list of the rest of the elements.
Field Summary | |
private static ClassDesc |
EListGuard
|
private Pattern |
myRest
|
private ListPattern |
myStart
|
Fields inherited from class org.erights.e.elang.evm.ENode |
|
Fields inherited from class org.erights.e.elang.evm.ParseNode |
NUM_PR, PR_ASSIGN, PR_CALL, PR_COMP, PR_EEXPR, PR_LISTPATT, PR_ORDER, PR_PATTERN, PR_PRIM, PR_START |
Constructor Summary | |
CdrPattern(SourceSpan optSpan,
ListPattern start,
Pattern rest)
Enabled: |
Method Summary | |
protected StaticScope |
computeStaticScope()
When staticScope() is first requested on a given node, it calls computeStaticScope() to do the actual computation, which is then remembered. |
boolean |
matchBind(ConstList args,
Object specimen,
FlexList bindings)
Enabled: |
String |
optName()
Enabled: |
void |
subPrintOn(TextWriter out,
int priority)
Enabled: |
(package private) void |
testMatch(EvalContext ctx,
Object specimen,
OneArgFunc optEjector)
If this pattern matches the specimen, add macthing bindings to the scope. |
Object |
welcome(ETreeVisitor visitor)
Enabled: |
Methods inherited from class org.erights.e.elang.evm.Pattern |
__printOn, substitute |
Methods inherited from class org.erights.e.elang.evm.ENode |
cleanCopy, copy, getOptPatternMap, getOptScopeMap, getPatternMap, getScopeMap, qbuild, setPatternMap, setScopeMap, staticScope, synEnv |
Methods inherited from class org.erights.e.elang.evm.ParseNode |
asText, getOptSpan, lnPrintOn, lnPrintOn, matchBind, matchBind, matchBind, printListOn, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private static final ClassDesc EListGuard
private final ListPattern myStart
private final Pattern myRest
Constructor Detail |
public CdrPattern(SourceSpan optSpan, ListPattern start, Pattern rest)
Method Detail |
public Object welcome(ETreeVisitor visitor)
welcome
in class ENode
protected StaticScope computeStaticScope()
ENode
computeStaticScope
in class ENode
public boolean matchBind(ConstList args, Object specimen, FlexList bindings)
matchBind
in interface MatchMaker
matchBind
in class ParseNode
public void subPrintOn(TextWriter out, int priority) throws IOException
subPrintOn
in class ParseNode
IOException
void testMatch(EvalContext ctx, Object specimen, OneArgFunc optEjector)
Pattern
Otherwise report the reason why not according to optEjector.
testMatch
in class Pattern
public String optName()
optName
in class Pattern
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |