kawa.lang

Class Lambda

Implemented Interfaces:
Named, Printable
Known Direct Subclasses:
lambda

public class Lambda
extends Syntax
implements Printable

The Syntax transformer that re-writes the lambda builtin.

Field Summary

Expression
defaultDefault
Object
keyKeyword
Object
optionalKeyword
Object
restKeyword

Method Summary

void
print(java.io.PrintWriter ps)
Expression
rewrite(Object obj, Translator tr)
void
rewrite(LambdaExp lexp, Object formals, Object body, Translator tr)
void
rewrite(LambdaExp lexp, Object formals, Object body, Translator tr, TemplateScope templateScopeRest)
Higher-level constructor, that does the re-writing.
Object
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)
Object
skipAttrs(LambdaExp lexp, Object body, Translator tr)

Methods inherited from class kawa.lang.Syntax

getName, getSymbol, print, rewrite, rewriteForm, rewriteForm, scanForDefinitions, scanForm, setName, setName

Field Details

defaultDefault

public Expression defaultDefault

keyKeyword

public Object keyKeyword

optionalKeyword

public Object optionalKeyword

restKeyword

public Object restKeyword

Method Details

print

public void print(java.io.PrintWriter ps)
Overrides:
print in interface Syntax

rewrite

public Expression rewrite(Object obj,
                          Translator tr)
Overrides:
rewrite in interface Syntax

rewrite

public void rewrite(LambdaExp lexp,
                    Object formals,
                    Object body,
                    Translator tr)

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 procedure
tr - the (Scheme) Translator

rewriteAttrs

public Object rewriteAttrs(LambdaExp lexp,
                           Object body,
                           Translator tr)

rewriteBody

public void rewriteBody(LambdaExp lexp,
                        Object body,
                        Translator tr)

rewriteFormals

public void rewriteFormals(LambdaExp lexp,
                           Object formals,
                           Translator tr,
                           TemplateScope templateScopeRest)

setKeywords

public void setKeywords(Object optional,
                        Object rest,
                        Object key)

skipAttrs

public Object skipAttrs(LambdaExp lexp,
                        Object body,
                        Translator tr)