kawa.lang

Class PatternScope

public class PatternScope extends LetExp

Bindings from a syntax-case/syntax-rules pattern.
Field Summary
DeclarationmatchArray
StringBufferpatternNesting
Nesting of currently visible macro pattern names.
Vectorpattern_names
Currently visible macro pattern names.
Constructor Summary
PatternScope()
Method Summary
static voidpop(Translator tr)
static PatternScopepush(Translator tr)

Field Detail

matchArray

public Declaration matchArray

patternNesting

public 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.

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,

Constructor Detail

PatternScope

public PatternScope()

Method Detail

pop

public static void pop(Translator tr)

push

public static PatternScope push(Translator tr)