Package kawa.lang
Class SyntaxPattern
- java.lang.Object
-
- kawa.lang.Pattern
-
- kawa.lang.SyntaxPattern
-
- All Implemented Interfaces:
gnu.kawa.format.Printable,Externalizable,Serializable
public class SyntaxPattern extends Pattern implements Externalizable
This encodes a pattern from a Scheem syntax-case or syntax-rules.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static booleanprintSyntaxPatternMatchControl logging to standard error on successful pattern match.static SimpleSymbolunderscoreSymbol-
Fields inherited from class kawa.lang.Pattern
matchPatternMethod, typePattern
-
-
Constructor Summary
Constructors Constructor Description SyntaxPattern(Object pattern, Object[] literal_identifiers, Translator tr)SyntaxPattern(String program, Object[] literals, int varCount, String fileLine)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Object[]allocVars(int varCount, Object[] outer)The compiler calls this method to implement syntax-case.voiddisassemble()voiddisassemble(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 booleanliteralIdentifierEq(Object id1, ScopeExp sc1, Object id2, ScopeExp sc2)booleanmatch(Object obj, Object[] vars, int start_vars)Match this Pattern against an Object.booleanmatch(Object obj, Object[] vars, int start_vars, int pc, SyntaxForm syntax)voidreadExternal(ObjectInput in)StringtoString()intvarCount()voidwriteExternal(ObjectOutput out)
-
-
-
Field Detail
-
underscoreSymbol
public static final SimpleSymbol underscoreSymbol
-
printSyntaxPatternMatch
public static boolean printSyntaxPatternMatch
Control logging to standard error on successful pattern match.
-
-
Method Detail
-
match
public boolean match(Object obj, Object[] vars, int start_vars)
Description copied from class:PatternMatch this Pattern against an Object.
-
disassemble
public void disassemble()
-
disassemble
public void disassemble(PrintWriter ps, Translator tr)
-
match
public boolean match(Object obj, Object[] vars, int start_vars, int pc, SyntaxForm syntax)
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
allocVars
public static Object[] allocVars(int varCount, Object[] outer)
The compiler calls this method to implement syntax-case.
-
literalIdentifierEq
public static boolean literalIdentifierEq(Object id1, ScopeExp sc1, Object id2, ScopeExp sc2)
-
getLiteralsList
public static Object[] getLiteralsList(Object list, SyntaxForm syntax, Translator tr)
Parse the literals list in a syntax-rules or syntax-case.
-
-