public class Macro extends Syntax implements Printable, java.io.Externalizable
Modifier and Type | Field and Description |
---|---|
java.lang.Object |
expander |
Constructor and Description |
---|
Macro() |
Macro(Macro old)
Copy constructor.
|
Macro(java.lang.Object name) |
Macro(java.lang.Object name,
Procedure expander) |
Modifier and Type | Method and Description |
---|---|
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) |
public Macro()
public Macro(Macro old)
public Macro(java.lang.Object name, Procedure expander)
public Macro(java.lang.Object name)
public ScopeExp getCapturedScope()
public void setCapturedScope(ScopeExp scope)
public static Macro make(Declaration decl)
public static Macro makeNonHygienic(java.lang.Object name, Procedure expander, java.lang.Object instance)
public final boolean isHygienic()
public final void setHygienic(boolean hygienic)
public Expression rewriteForm(Pair form, Translator tr)
rewriteForm
in class Syntax
public Expression rewriteForm(java.lang.Object form, Translator tr)
rewriteForm
in class Syntax
public java.lang.String toString()
toString
in class java.lang.Object
public void print(Consumer out)
public java.lang.Object expand(java.lang.Object form, Translator tr)
public void scanForm(Pair st, ScopeExp defs, Translator tr)
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