gnu.expr
Class LetExp

java.lang.Object
  extended by gnu.mapping.Procedure
      extended by gnu.mapping.Procedure0
          extended by gnu.expr.Expression
              extended by gnu.expr.ScopeExp
                  extended by 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.


Field Summary
 Expression body
           
 Expression[] inits
           
 
Fields inherited from class gnu.expr.ScopeExp
id, outer
 
Fields inherited from class gnu.expr.Expression
flags, NEXT_AVAIL_FLAG, noExpressions
 
Constructor Summary
LetExp(Expression[] i)
           
 
Method Summary
 void compile(Compilation comp, Target target)
           
 Expression getBody()
           
 Type getType()
          Return the Type used to represent the values of this Expression.
 void print(OutPort out)
           
 void print(OutPort out, java.lang.String startTag, java.lang.String endTag)
           
 void setBody(Expression body)
           
protected  Expression walk(ExpWalker walker)
           
protected  void walkChildren(ExpWalker walker)
           
 
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.Procedure0
apply1, apply2, apply3, apply4, applyN, numArgs
 
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
 

Field Detail

inits

public Expression[] inits

body

public Expression body
Constructor Detail

LetExp

public LetExp(Expression[] i)
Method Detail

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)