Package kawa.lang
Class Lambda
- java.lang.Object
-
- kawa.lang.Syntax
-
- kawa.lang.Lambda
-
-
Field Summary
Fields Modifier and Type Field Description BindDeclsbindParserExpressiondefaultDefaultObjectkeyKeywordstatic KeywordnameKeywordObjectoptionalKeywordObjectrestKeyword
-
Constructor Summary
Constructors Constructor Description Lambda()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected DeclarationaddParam(Symbol name, TemplateScope templateScope, LambdaExp lexp, Translator tr)ExpressionauxillaryRewrite(Object body, Translator tr)static booleanisAnnotationSymbol(Object key)Object[]parsePatternCar(Pair patList, TemplateScope templateScope, LambdaExp lexp, Translator comp)voidprint(Consumer out)voidrewrite(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest)Higher-level constructor, that does the re-writing.Expressionrewrite(Object obj, Translator tr)Re-write an expression that is an "application" of this Syntax object.static voidrewriteAnnotations(Declaration decl, Translator tr)ObjectrewriteAttrs(LambdaExp lexp, Object body, Translator tr)voidrewriteBody(LambdaExp lexp, Object body, Translator tr)voidrewriteFormals(LambdaExp lexp, Object formals, Translator tr, TemplateScope templateScopeRest)voidsetKeywords(Object optional, Object rest, Object key)ObjectskipAttrs(LambdaExp lexp, Object body, Translator tr)-
Methods inherited from class kawa.lang.Syntax
getName, getSymbol, rewriteForm, scanForDefinitions, scanForm, setName, setName
-
-
-
-
Method Detail
-
rewrite
public Expression rewrite(Object obj, Translator tr)
Description copied from class:SyntaxRe-write an expression that is an "application" of this Syntax object.
-
rewrite
public void rewrite(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest)
Higher-level constructor, that does the re-writing.- Parameters:
formals- the formal parameter list (or symbol)body- the body of the proceduretr- the (Scheme) Translator
-
rewriteFormals
public void rewriteFormals(LambdaExp lexp, Object formals, Translator tr, TemplateScope templateScopeRest)
-
addParam
protected Declaration addParam(Symbol name, TemplateScope templateScope, LambdaExp lexp, Translator tr)
-
rewriteAttrs
public Object rewriteAttrs(LambdaExp lexp, Object body, Translator tr)
-
skipAttrs
public Object skipAttrs(LambdaExp lexp, Object body, Translator tr)
-
rewriteBody
public void rewriteBody(LambdaExp lexp, Object body, Translator tr)
-
auxillaryRewrite
public Expression auxillaryRewrite(Object body, Translator tr)
-
print
public void print(Consumer out)
-
isAnnotationSymbol
public static boolean isAnnotationSymbol(Object key)
-
rewriteAnnotations
public static void rewriteAnnotations(Declaration decl, Translator tr)
-
parsePatternCar
public Object[] parsePatternCar(Pair patList, TemplateScope templateScope, LambdaExp lexp, Translator comp)
-
-