kawa.lang
Class Macro
java.lang.Object
kawa.lang.Syntax
kawa.lang.Macro
- All Implemented Interfaces:
- Named, Printable, java.io.Externalizable, java.io.Serializable
public class Macro
- extends Syntax
- implements Printable, java.io.Externalizable
- See Also:
- Serialized Form
Method Summary |
java.lang.Object |
expand(java.lang.Object form,
Translator tr)
|
ScopeExp |
getCapturedScope()
|
boolean |
isHygienic()
|
static Macro |
make(Declaration decl)
|
static Macro |
make(java.lang.Object name,
Procedure expander)
|
static Macro |
make(java.lang.Object name,
Procedure expander,
java.lang.Object instance)
|
static Macro |
makeNonHygienic(java.lang.Object name,
Procedure expander)
|
static Macro |
makeNonHygienic(java.lang.Object name,
Procedure expander,
java.lang.Object instance)
|
void |
print(Consumer out)
|
void |
readExternal(java.io.ObjectInput in)
|
Expression |
rewriteForm(java.lang.Object form,
Translator tr)
|
Expression |
rewriteForm(Pair form,
Translator tr)
|
void |
scanForm(Pair st,
ScopeExp defs,
Translator tr)
|
void |
setCapturedScope(ScopeExp scope)
|
void |
setHygienic(boolean hygienic)
|
java.lang.String |
toString()
|
void |
writeExternal(java.io.ObjectOutput out)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
expander
public java.lang.Object expander
Macro
public Macro()
Macro
public Macro(Macro old)
- Copy constructor.
Macro
public Macro(java.lang.Object name,
Procedure expander)
Macro
public Macro(java.lang.Object name)
getCapturedScope
public ScopeExp getCapturedScope()
setCapturedScope
public void setCapturedScope(ScopeExp scope)
make
public static Macro make(Declaration decl)
makeNonHygienic
public static Macro makeNonHygienic(java.lang.Object name,
Procedure expander)
makeNonHygienic
public static Macro makeNonHygienic(java.lang.Object name,
Procedure expander,
java.lang.Object instance)
make
public static Macro make(java.lang.Object name,
Procedure expander)
make
public static Macro make(java.lang.Object name,
Procedure expander,
java.lang.Object instance)
isHygienic
public final boolean isHygienic()
setHygienic
public final void setHygienic(boolean hygienic)
rewriteForm
public Expression rewriteForm(Pair form,
Translator tr)
- Overrides:
rewriteForm
in class Syntax
rewriteForm
public Expression rewriteForm(java.lang.Object form,
Translator tr)
- Overrides:
rewriteForm
in class Syntax
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
print
public void print(Consumer out)
- Specified by:
print
in interface Printable
- Overrides:
print
in class Syntax
expand
public java.lang.Object expand(java.lang.Object form,
Translator tr)
scanForm
public void scanForm(Pair st,
ScopeExp defs,
Translator tr)
- Overrides:
scanForm
in class Syntax
writeExternal
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
- Specified by:
writeExternal
in interface java.io.Externalizable
- Throws:
java.io.IOException
readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Specified by:
readExternal
in interface java.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException