kawa.lang
Class SyntaxPattern
- Externalizable
public class SyntaxPattern
implements Externalizable
This encodes a pattern from a Scheem syntax-case or syntax-rules.
static Object[] | allocVars(int varCount, Object[] outer) - The compiler calls this method to implement syntax-case.
|
void | disassemble()
|
void | disassemble(java.io.PrintWriter ps, Translator tr)
|
static Object[] | getLiteralsList(Object list, SyntaxForm syntax, Translator tr) - Parse the literals list in a syntax-rules or syntax-case.
|
static boolean | literalIdentifierEq(Object id1, ScopeExp sc1, Object literal2)
|
static boolean | literalIdentifierEq(Object id1, ScopeExp sc1, Object id2, ScopeExp sc2)
|
boolean | match(Object obj, Object[] vars, int start_vars) - Match this Pattern against an Object.
|
boolean | match(Object obj, Object[] vars, int start_vars, int pc, SyntaxForm syntax)
|
void | readExternal(ObjectInput in)
|
int | varCount()
|
void | writeExternal(ObjectOutput out)
|
SyntaxPattern
public SyntaxPattern(Object pattern,
Object[] literal_identifiers,
Translator tr)
SyntaxPattern
public SyntaxPattern(String program,
Object[] literals,
int varCount)
allocVars
public static Object[] allocVars(int varCount,
Object[] outer)
The compiler calls this method to implement syntax-case.
disassemble
public void disassemble()
disassemble
public void disassemble(java.io.PrintWriter ps,
Translator tr)
getLiteralsList
public static Object[] getLiteralsList(Object list,
SyntaxForm syntax,
Translator tr)
Parse the literals list in a syntax-rules or syntax-case.
literalIdentifierEq
public static boolean literalIdentifierEq(Object id1,
ScopeExp sc1,
Object literal2)
literalIdentifierEq
public static boolean literalIdentifierEq(Object id1,
ScopeExp sc1,
Object id2,
ScopeExp sc2)
match
public boolean match(Object obj,
Object[] vars,
int start_vars)
Match this Pattern against an Object.
- match in interface Pattern
obj
- the Object to match againstvars
- the "pattern variable" values extracted from obj go herestart_vars
- where in vars to strt putting the varCount() values
- true iff the match succeeded.
match
public boolean match(Object obj,
Object[] vars,
int start_vars,
int pc,
SyntaxForm syntax)
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException