lisp
Class Environment

java.lang.Object
  |
  +--exp.Sexp
        |
        +--lisp.Environment

public class Environment
extends Sexp

Environment Classe che mette a disposizione metodi di utilita' relativi all'environment

Version:
28/12/1999
Author:
Marco Chiesi

Field Summary
static Sexp DUMMY_BIND
          Costante di binding finto per inizializzare l'environment locale (serve per implementare correttamente la setq)
static Sexp EMPTY_ENV
          Costante di environment vuoto
 
Fields inherited from class exp.Sexp
EOF, FALSE, NIL, TRUE
 
Constructor Summary
Environment()
          Costruttore di environment vuoto
Environment(Sexp names, Sexp vals)
          Costruttore con specifica dei binding
Environment(Sexp names, Sexp vals, OutputDevice msgOut)
          Costruttore con specifica di dispositivo di output
 
Method Summary
 void accept(SexpVisitor v)
          Specifica di un visitor
 Sexp car()
          Primo elemento di lista o coppia
 Sexp cdr()
          Secondo elemento di lista o coppia
 void extendEnv(Sexp name, Sexp val)
          Aggiunta di un simbolo all'environment globale
static Sexp extendEnv(Sexp name, Sexp val, Sexp en)
          Aggiunta in testa di un simbolo a un environment (globale o locale)
 boolean isAtom()
          Controlla se e' un atomo
 boolean isEq(Sexp e)
          Controlla l'uguaglianza tra espressioni
 boolean isList()
          Controlla se e' una lista
 boolean isNull()
          Controlla se la lista e' vuota
 void print(java.lang.String s)
          Scrittura di un messaggio in output
 void println(java.lang.String s)
          Scrittura di un messaggio in output con ritorno a capo
 Sexp searchInEnv(Sexp name)
          Ricerca di un simbolo nell'environment globale e restituzione del binding
static Sexp searchInEnv(Sexp e, Sexp en)
          Ricerca di un simbolo nell'environment e restituzione del binding
 java.lang.String toSimpleString()
          Conversione a stringa
 java.lang.String toString()
          Conversione a stringa con un binding per ogni linea
 
Methods inherited from class exp.Sexp
accept2, append, assoc, atom, caar, cadr, car, cdar, cddr, cdr, cons, dup, eq, isAnAtom, isAtom, isEq, isList, isNull, isPair, length, list1, list2, list3, list4, list5, listArray, member, pairList, selfEvaluating, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY_ENV

public static final Sexp EMPTY_ENV
Costante di environment vuoto

DUMMY_BIND

public static final Sexp DUMMY_BIND
Costante di binding finto per inizializzare l'environment locale (serve per implementare correttamente la setq)
Constructor Detail

Environment

public Environment()
Costruttore di environment vuoto

Environment

public Environment(Sexp names,
                   Sexp vals)
Costruttore con specifica dei binding

Environment

public Environment(Sexp names,
                   Sexp vals,
                   OutputDevice msgOut)
Costruttore con specifica di dispositivo di output
Method Detail

print

public void print(java.lang.String s)
Scrittura di un messaggio in output

println

public void println(java.lang.String s)
Scrittura di un messaggio in output con ritorno a capo

isNull

public boolean isNull()
Description copied from class: Sexp
Controlla se la lista e' vuota
Overrides:
isNull in class Sexp

isEq

public boolean isEq(Sexp e)
Description copied from class: Sexp
Controlla l'uguaglianza tra espressioni
Overrides:
isEq in class Sexp

isAtom

public boolean isAtom()
Description copied from class: Sexp
Controlla se e' un atomo
Overrides:
isAtom in class Sexp

isList

public boolean isList()
Description copied from class: Sexp
Controlla se e' una lista
Overrides:
isList in class Sexp

car

public Sexp car()
Description copied from class: Sexp
Primo elemento di lista o coppia
Overrides:
car in class Sexp

cdr

public Sexp cdr()
Description copied from class: Sexp
Secondo elemento di lista o coppia
Overrides:
cdr in class Sexp

toSimpleString

public java.lang.String toSimpleString()
Description copied from class: Sexp
Conversione a stringa
Overrides:
toSimpleString in class Sexp

accept

public void accept(SexpVisitor v)
Description copied from class: Sexp
Specifica di un visitor
Overrides:
accept in class Sexp

extendEnv

public static Sexp extendEnv(Sexp name,
                             Sexp val,
                             Sexp en)
Aggiunta in testa di un simbolo a un environment (globale o locale)

searchInEnv

public static Sexp searchInEnv(Sexp e,
                               Sexp en)
Ricerca di un simbolo nell'environment e restituzione del binding

extendEnv

public void extendEnv(Sexp name,
                      Sexp val)
Aggiunta di un simbolo all'environment globale

searchInEnv

public Sexp searchInEnv(Sexp name)
Ricerca di un simbolo nell'environment globale e restituzione del binding

toString

public java.lang.String toString()
Conversione a stringa con un binding per ogni linea
Overrides:
toString in class java.lang.Object