Package kawa.lang
Class PatternScope
- java.lang.Object
-
- gnu.mapping.PropertySet
-
- gnu.mapping.Procedure
-
- gnu.expr.Expression
-
- gnu.expr.ScopeExp
-
- gnu.expr.LetExp
-
- kawa.lang.PatternScope
-
- All Implemented Interfaces:
gnu.kawa.format.Printable
,Named
,SourceLocator
,SourceLocator
,Locator
public class PatternScope extends LetExp
Bindings from asyntax-case
/syntax-rules
pattern.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface gnu.text.SourceLocator
SourceLocator.Simple
-
-
Field Summary
Fields Modifier and Type Field Description Declaration
matchArray
Vector
pattern_names
Currently visible macro pattern names.StringBuffer
patternNesting
Nesting of currently visible macro pattern names.-
Fields inherited from class gnu.expr.LetExp
IS_BODY_SCOPE
-
Fields inherited from class gnu.expr.Expression
applyMethodExpression, flags, NEXT_AVAIL_FLAG, noExpressions, type, VALIDATED
-
Fields inherited from class gnu.mapping.Procedure
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
-
Fields inherited from class gnu.mapping.PropertySet
nameKey
-
-
Constructor Summary
Constructors Constructor Description PatternScope()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
pop(Translator tr)
static PatternScope
push(Translator tr)
-
Methods inherited from class gnu.expr.LetExp
apply, calculateType, compile, evalVariable, getBody, mustCompile, print, print, setBody, visit, visitChildren, visitInitializers
-
Methods inherited from class gnu.expr.ScopeExp
add, add, addDeclaration, addDeclaration, addDeclaration, clearCallList, countDecls, currentLambda, currentModule, duplicateDeclarationError, firstDecl, getDefine, getNoDefine, getOuter, getVarScope, isClassGenerated, lastDecl, lookup, lookup, nestedIn, nesting, popScope, remove, remove, replaceFollowing, setIndexes, setOuter, topLevel, toString
-
Methods inherited from class gnu.expr.Expression
applyMethodExpression, checkLiteralKeyword, compile, compile, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getEndColumn, getEndLine, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getStartColumn, getStartLine, getSystemId, getType, getTypeRaw, isSingleValue, isStableSourceLocation, makeWhile, maybeSetLine, neverReturns, numArgs, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLine, setLocation, setType, side_effects, validateApply, valueIfConstant
-
Methods inherited from class gnu.mapping.Procedure
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
-
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
-
-
-
-
Field Detail
-
pattern_names
public Vector pattern_names
Currently visible macro pattern names. For the i'th pattern variable, pattern_names.elementAt(i) is the name of the variable,
-
patternNesting
public StringBuffer patternNesting
Nesting of currently visible macro pattern names. For thei
'th pattern variable,(int) patternNesting.charAt(i)/2
is the nesting (in terms of number of ellipsis that indicate the variable is repeated). The low-order bit indicates that if matched value is thecar
of the value saved in thevars
array.
-
matchArray
public Declaration matchArray
-
-
Method Detail
-
push
public static PatternScope push(Translator tr)
-
pop
public static void pop(Translator tr)
-
-