public class Lambda extends Syntax
Modifier and Type | Field and Description |
---|---|
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 static void |
addParam(Declaration decl,
ScopeExp templateScope,
LambdaExp lexp,
Translator tr) |
Expression |
auxillaryRewrite(java.lang.Object body,
Translator tr) |
static boolean |
isAnnotationSymbol(java.lang.Object key) |
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) |
Expression |
rewriteForm(Pair form,
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 static final Keyword nameKeyword
public Expression defaultDefault
public void setKeywords(java.lang.Object optional, java.lang.Object rest, java.lang.Object key)
public Expression rewriteForm(Pair form, Translator tr)
rewriteForm
in class Syntax
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 static void addParam(Declaration decl, ScopeExp 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)