public class Lambda extends Syntax
Modifier and Type | Field and Description |
---|---|
BindDecls |
bindParser |
Expression |
defaultDefault |
java.lang.Object |
keyKeyword |
static Keyword |
nameKeyword |
java.lang.Object |
optionalKeyword |
java.lang.Object |
restKeyword |
Constructor and Description |
---|
Lambda() |
Modifier and Type | Method and Description |
---|---|
protected Declaration |
addParam(Symbol name,
TemplateScope templateScope,
LambdaExp lexp,
Translator tr) |
Expression |
auxillaryRewrite(java.lang.Object body,
Translator tr) |
static boolean |
isAnnotationSymbol(java.lang.Object key) |
java.lang.Object[] |
parsePatternCar(Pair patList,
TemplateScope templateScope,
LambdaExp lexp,
Translator comp) |
void |
print(Consumer out) |
void |
rewrite(LambdaExp lexp,
java.lang.Object formals,
java.lang.Object body,
Translator tr,
TemplateScope templateScopeRest)
Higher-level constructor, that does the re-writing.
|
Expression |
rewrite(java.lang.Object obj,
Translator tr)
Re-write an expression that is an "application" of this Syntax object.
|
static void |
rewriteAnnotations(Declaration decl,
Translator tr) |
java.lang.Object |
rewriteAttrs(LambdaExp lexp,
java.lang.Object body,
Translator tr) |
void |
rewriteBody(LambdaExp lexp,
java.lang.Object body,
Translator tr) |
void |
rewriteFormals(LambdaExp lexp,
java.lang.Object formals,
Translator tr,
TemplateScope templateScopeRest) |
void |
setKeywords(java.lang.Object optional,
java.lang.Object rest,
java.lang.Object key) |
java.lang.Object |
skipAttrs(LambdaExp lexp,
java.lang.Object body,
Translator tr) |
getName, getSymbol, rewriteForm, scanForDefinitions, scanForm, setName, setName
public java.lang.Object optionalKeyword
public java.lang.Object restKeyword
public java.lang.Object keyKeyword
public BindDecls bindParser
public static final Keyword nameKeyword
public Expression defaultDefault
public void setKeywords(java.lang.Object optional, java.lang.Object rest, java.lang.Object key)
public Expression rewrite(java.lang.Object obj, Translator tr)
Syntax
public void rewrite(LambdaExp lexp, java.lang.Object formals, java.lang.Object body, Translator tr, TemplateScope templateScopeRest)
formals
- the formal parameter list (or symbol)body
- the body of the proceduretr
- the (Scheme) Translatorpublic void rewriteFormals(LambdaExp lexp, java.lang.Object formals, Translator tr, TemplateScope templateScopeRest)
protected Declaration addParam(Symbol name, TemplateScope templateScope, LambdaExp lexp, Translator tr)
public java.lang.Object rewriteAttrs(LambdaExp lexp, java.lang.Object body, Translator tr)
public java.lang.Object skipAttrs(LambdaExp lexp, java.lang.Object body, Translator tr)
public void rewriteBody(LambdaExp lexp, java.lang.Object body, Translator tr)
public Expression auxillaryRewrite(java.lang.Object body, Translator tr)
public void print(Consumer out)
public static boolean isAnnotationSymbol(java.lang.Object key)
public static void rewriteAnnotations(Declaration decl, Translator tr)
public java.lang.Object[] parsePatternCar(Pair patList, TemplateScope templateScope, LambdaExp lexp, Translator comp)