kawa.lang
Class PatternScope

java.lang.Object
  extended by gnu.mapping.PropertySet
      extended by gnu.mapping.Procedure
          extended by gnu.mapping.Procedure0
              extended by gnu.expr.Expression
                  extended by gnu.expr.ScopeExp
                      extended by gnu.expr.LetExp
                          extended by kawa.lang.PatternScope
All Implemented Interfaces:
Named, Printable, SourceLocator, org.xml.sax.Locator

public class PatternScope
extends LetExp

Bindings from a syntax-case/syntax-rules pattern.


Field Summary
 Declaration matchArray
           
 java.util.Vector pattern_names
          Currently visible macro pattern names.
 java.lang.StringBuffer patternNesting
          Nesting of currently visible macro pattern names.
 
Fields inherited from class gnu.expr.LetExp
body, inits
 
Fields inherited from class gnu.expr.ScopeExp
frameSize, id, outer
 
Fields inherited from class gnu.expr.Expression
flags, NEXT_AVAIL_FLAG, noExpressions
 
Constructor Summary
PatternScope()
           
 
Method Summary
static void pop(Translator tr)
           
static PatternScope push(Translator tr)
           
 
Methods inherited from class gnu.expr.LetExp
apply, compile, getBody, getType, mustCompile, print, print, setBody, walk, walkChildren, walkInitializers
 
Methods inherited from class gnu.expr.ScopeExp
add, add, addDeclaration, addDeclaration, addDeclaration, countDecls, currentLambda, currentModule, duplicateDeclarationError, firstDecl, getDefine, getNoDefine, getVarScope, lookup, lookup, nesting, popScope, remove, remove, replaceFollowing, setIndexes, toString
 
Methods inherited from class gnu.expr.Expression
apply0, compile, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumnNumber, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getSystemId, inline, isStableSourceLocation, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLocation, side_effects, valueIfConstant
 
Methods inherited from class gnu.mapping.Procedure0
apply1, apply2, apply3, apply4, applyN, numArgs
 
Methods inherited from class gnu.mapping.Procedure
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match1, match2, match3, match4, matchN, maxArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
 
Methods inherited from class gnu.mapping.PropertySet
getName, getProperty, getSymbol, removeProperty, setName, setProperty, setProperty, setSymbol
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

pattern_names

public java.util.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 java.lang.StringBuffer patternNesting
Nesting of currently visible macro pattern names. For the i'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 the car of the value saved in the vars array.


matchArray

public Declaration matchArray
Constructor Detail

PatternScope

public PatternScope()
Method Detail

push

public static PatternScope push(Translator tr)

pop

public static void pop(Translator tr)