Package kawa.lang
Class Lambda
java.lang.Object
kawa.lang.Syntax
kawa.lang.Lambda
- All Implemented Interfaces:
gnu.kawa.format.Printable
,Named
The Syntax transformer that re-writes the lambda builtin.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Declaration
addParam
(Symbol name, TemplateScope templateScope, LambdaExp lexp, Translator tr) auxillaryRewrite
(Object body, Translator tr) static boolean
isAnnotationSymbol
(Object key) Object[]
parsePatternCar
(Pair patList, TemplateScope templateScope, LambdaExp lexp, Translator comp) void
void
rewrite
(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest) Higher-level constructor, that does the re-writing.rewrite
(Object obj, Translator tr) Re-write an expression that is an "application" of this Syntax object.static void
rewriteAnnotations
(Declaration decl, Translator tr) rewriteAttrs
(LambdaExp lexp, Object body, Translator tr) void
rewriteBody
(LambdaExp lexp, Object body, Translator tr) void
rewriteFormals
(LambdaExp lexp, Object formals, Translator tr, TemplateScope templateScopeRest) void
setKeywords
(Object optional, Object rest, Object key) skipAttrs
(LambdaExp lexp, Object body, Translator tr) Methods inherited from class kawa.lang.Syntax
getName, getSymbol, rewriteForm, scanForDefinitions, scanForm, setName, setName
-
Field Details
-
optionalKeyword
-
restKeyword
-
keyKeyword
-
bindParser
-
nameKeyword
-
defaultDefault
-
-
Constructor Details
-
Lambda
public Lambda()
-
-
Method Details
-
setKeywords
-
rewrite
Description copied from class:Syntax
Re-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
-
skipAttrs
-
rewriteBody
-
auxillaryRewrite
-
print
-
isAnnotationSymbol
-
rewriteAnnotations
-
parsePatternCar
public Object[] parsePatternCar(Pair patList, TemplateScope templateScope, LambdaExp lexp, Translator comp)
-