Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

com.memoire.silk
Class SilkEnvironment  view SilkEnvironment download SilkEnvironment.java

java.lang.Object
  extended bycom.memoire.silk.SilkSchemeUtils
      extended bycom.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.


Field Summary
 SilkEnvironment parent
           
 java.lang.Object vals
           
 java.lang.Object vars
           
 
Fields inherited from class com.memoire.silk.SilkSchemeUtils
FALSE, ONE, TRUE, ZERO
 
Constructor Summary
SilkEnvironment()
          Construct an empty environment: no bindings.
SilkEnvironment(java.lang.Object vars, java.lang.Object vals, SilkEnvironment parent)
          A constructor to extend an environment with var/val pairs.
 
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
 

Field Detail

vars

public java.lang.Object vars

vals

public java.lang.Object vals

parent

public SilkEnvironment parent
Constructor Detail

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.

Method Detail

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.