Package kawa.lang
Class SyntaxPattern
java.lang.Object
kawa.lang.Pattern
kawa.lang.SyntaxPattern
- All Implemented Interfaces:
gnu.kawa.format.Printable
,Externalizable
,Serializable
This encodes a pattern from a Scheem syntax-case or syntax-rules.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic boolean
Control logging to standard error on successful pattern match.static final SimpleSymbol
Fields inherited from class kawa.lang.Pattern
matchPatternMethod, typePattern
-
Constructor Summary
ConstructorsConstructorDescriptionSyntaxPattern
(Object pattern, Object[] literal_identifiers, Translator tr) SyntaxPattern
(String program, Object[] literals, int varCount, String fileLine) -
Method Summary
Modifier and TypeMethodDescriptionstatic Object[]
The compiler calls this method to implement syntax-case.void
void
disassemble
(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 id2, ScopeExp sc2) boolean
Match this Pattern against an Object.boolean
match
(Object obj, Object[] vars, int start_vars, int pc, SyntaxForm syntax) void
toString()
int
varCount()
void
-
Field Details
-
underscoreSymbol
-
printSyntaxPatternMatch
public static boolean printSyntaxPatternMatchControl logging to standard error on successful pattern match.
-
-
Constructor Details
-
SyntaxPattern
-
SyntaxPattern
-
-
Method Details
-
varCount
public int varCount() -
match
Description copied from class:Pattern
Match this Pattern against an Object. -
disassemble
public void disassemble() -
disassemble
-
match
-
writeExternal
- Specified by:
writeExternal
in interfaceExternalizable
- Throws:
IOException
-
readExternal
- Specified by:
readExternal
in interfaceExternalizable
- Throws:
IOException
ClassNotFoundException
-
allocVars
The compiler calls this method to implement syntax-case. -
literalIdentifierEq
-
getLiteralsList
Parse the literals list in a syntax-rules or syntax-case. -
toString
-