kawa.lang
public class Macro extends Syntax implements Printable, Externalizable
Field Summary | |
---|---|
Object | expander |
Constructor Summary | |
---|---|
Macro() | |
Macro(Macro old) Copy constructor. | |
Macro(Object name, Procedure expander) | |
Macro(Object name) |
Method Summary | |
---|---|
Object | expand(Object form, Translator tr) |
ScopeExp | getCapturedScope() |
boolean | isHygienic() |
static Macro | make(Declaration decl) |
static Macro | make(Object name, Procedure expander) |
static Macro | make(Object name, Procedure expander, Object instance) |
static Macro | makeNonHygienic(Object name, Procedure expander) |
static Macro | makeNonHygienic(Object name, Procedure expander, Object instance) |
void | print(Consumer out) |
void | readExternal(ObjectInput in) |
Expression | rewriteForm(Pair form, Translator tr) |
Expression | rewriteForm(Object form, Translator tr) |
void | scanForm(Pair st, ScopeExp defs, Translator tr) |
void | setCapturedScope(ScopeExp scope) |
void | setHygienic(boolean hygienic) |
String | toString() |
void | writeExternal(ObjectOutput out) |
Serial Data: Write the name followed by the expansion procedure, both using writeObject.