gnu.expr
Class LetExp
java.lang.Object
gnu.mapping.Procedure
gnu.mapping.Procedure0
gnu.expr.Expression
gnu.expr.ScopeExp
gnu.expr.LetExp
- All Implemented Interfaces:
- Named, Printable
- Direct Known Subclasses:
- FluidLetExp, PatternScope, TemplateScope
public class LetExp
- extends ScopeExp
Class used to implement "let" syntax (and variants) for Scheme.
Methods inherited from class gnu.expr.ScopeExp |
add, add, addDeclaration, addDeclaration, addDeclaration, countDecls, currentLambda, currentModule, firstDecl, getDefine, getNoDefine, getVarScope, lookup, lookup, nesting, popScope, remove, remove, replaceFollowing, toString |
Methods inherited from class gnu.expr.Expression |
apply, apply0, compile, compileButFirst, compileNotePosition, compileWithPosition, compileWithPosition, eval, eval, getColumn, getFile, getFlag, getFlags, getLine, makeWhile, match0, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine |
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getName, getProperty, getSetter, getSymbol, match1, match2, match3, match4, matchN, maxArgs, minArgs, name, removeProperty, set0, set1, setN, setName, setProperty, setProperty, setSetter, setSymbol |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
inits
public Expression[] inits
body
public Expression body
LetExp
public LetExp(Expression[] i)
getBody
public Expression getBody()
setBody
public void setBody(Expression body)
compile
public void compile(Compilation comp,
Target target)
- Specified by:
compile
in class Expression
getType
public final Type getType()
- Description copied from class:
Expression
- Return the Type used to represent the values of this Expression.
- Overrides:
getType
in class Expression
walk
protected Expression walk(ExpWalker walker)
- Overrides:
walk
in class ScopeExp
walkChildren
protected void walkChildren(ExpWalker walker)
- Overrides:
walkChildren
in class Expression
print
public void print(OutPort out)
- Specified by:
print
in class Expression
print
public void print(OutPort out,
java.lang.String startTag,
java.lang.String endTag)