java.lang.Object
com.memoire.silk.SilkSchemeUtils
com.memoire.silk.SilkEnvironment
- public class SilkEnvironment
- extends SilkSchemeUtils
SilkEnvironments allow you to look up the value of a variable, given
its name. Keep a list of variables and values, and a pointer to
the parent environment. If a variable list ends in a symbol rather
than null, it means that symbol is bound to the remainder of the
values list.
|
Method Summary |
java.lang.Object |
define(java.lang.Object var,
java.lang.Object val)
Add a new variable,value pair to this environment. |
SilkEnvironment |
defPrim(java.lang.String name,
int id,
int minArgs)
|
SilkEnvironment |
defPrim(java.lang.String name,
int id,
int minArgs,
int maxArgs)
|
java.lang.Object |
lookup(java.lang.String symbol)
Find the value of a symbol, in this environment or a parent. |
(package private) boolean |
numberArgsOK(java.lang.Object vars,
java.lang.Object vals)
See if there is an appropriate number of vals for these vars. |
java.lang.Object |
set(java.lang.Object var,
java.lang.Object val)
Set the value of an existing variable |
| Methods inherited from class com.memoire.silk.SilkSchemeUtils |
chr, chr, cons, equal, eqv, error, first, inPort, length, list, list, listStar, listToString, listToVector, num, num, outPort, p, p, rest, reverse, second, setFirst, setRest, str, stringify, stringify, stringify, sym, third, truth, truth, vec, vectorToList, warn, write |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
vars
public java.lang.Object vars
vals
public java.lang.Object vals
parent
public SilkEnvironment parent
SilkEnvironment
public SilkEnvironment(java.lang.Object vars,
java.lang.Object vals,
SilkEnvironment parent)
- A constructor to extend an environment with var/val pairs.
SilkEnvironment
public SilkEnvironment()
- Construct an empty environment: no bindings.
lookup
public java.lang.Object lookup(java.lang.String symbol)
- Find the value of a symbol, in this environment or a parent.
define
public java.lang.Object define(java.lang.Object var,
java.lang.Object val)
- Add a new variable,value pair to this environment.
set
public java.lang.Object set(java.lang.Object var,
java.lang.Object val)
- Set the value of an existing variable
defPrim
public SilkEnvironment defPrim(java.lang.String name,
int id,
int minArgs)
defPrim
public SilkEnvironment defPrim(java.lang.String name,
int id,
int minArgs,
int maxArgs)
numberArgsOK
boolean numberArgsOK(java.lang.Object vars,
java.lang.Object vals)
- See if there is an appropriate number of vals for these vars.