public class SyntaxPattern extends Pattern implements java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
static boolean |
printSyntaxPatternMatch
Control logging to standard error on successful pattern match.
|
static SimpleSymbol |
underscoreSymbol |
matchPatternMethod, typePattern
Constructor and Description |
---|
SyntaxPattern(java.lang.Object pattern,
java.lang.Object[] literal_identifiers,
Translator tr) |
SyntaxPattern(java.lang.String program,
java.lang.Object[] literals,
int varCount,
java.lang.String fileLine) |
Modifier and Type | Method and Description |
---|---|
static java.lang.Object[] |
allocVars(int varCount,
java.lang.Object[] outer)
The compiler calls this method to implement syntax-case.
|
void |
disassemble() |
void |
disassemble(java.io.PrintWriter ps,
Translator tr) |
static java.lang.Object[] |
getLiteralsList(java.lang.Object list,
SyntaxForm syntax,
Translator tr)
Parse the literals list in a syntax-rules or syntax-case.
|
static boolean |
literalIdentifierEq(java.lang.Object id1,
ScopeExp sc1,
java.lang.Object id2,
ScopeExp sc2) |
boolean |
match(java.lang.Object obj,
java.lang.Object[] vars,
int start_vars)
Match this Pattern against an Object.
|
boolean |
match(java.lang.Object obj,
java.lang.Object[] vars,
int start_vars,
int pc,
SyntaxForm syntax) |
void |
readExternal(java.io.ObjectInput in) |
java.lang.String |
toString() |
int |
varCount() |
void |
writeExternal(java.io.ObjectOutput out) |
public static final SimpleSymbol underscoreSymbol
public static boolean printSyntaxPatternMatch
public SyntaxPattern(java.lang.String program, java.lang.Object[] literals, int varCount, java.lang.String fileLine)
public SyntaxPattern(java.lang.Object pattern, java.lang.Object[] literal_identifiers, Translator tr)
public boolean match(java.lang.Object obj, java.lang.Object[] vars, int start_vars)
Pattern
public void disassemble()
public void disassemble(java.io.PrintWriter ps, Translator tr)
public boolean match(java.lang.Object obj, java.lang.Object[] vars, int start_vars, int pc, SyntaxForm syntax)
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.io.IOException
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException
readExternal
in interface java.io.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public static java.lang.Object[] allocVars(int varCount, java.lang.Object[] outer)
public static boolean literalIdentifierEq(java.lang.Object id1, ScopeExp sc1, java.lang.Object id2, ScopeExp sc2)
public static java.lang.Object[] getLiteralsList(java.lang.Object list, SyntaxForm syntax, Translator tr)
public java.lang.String toString()
toString
in class java.lang.Object