exp
Class ConsSexp

java.lang.Object
  |
  +--exp.Sexp
        |
        +--exp.ConsSexp
Direct Known Subclasses:
List, NonAtomicTerm

public class ConsSexp
extends Sexp

ConsSexp Classe per le espressioni strutturate (coppie e liste)

Version:
7/12/1999
Author:
Marco Chiesi

Field Summary
protected  boolean isAList
          Indica se e' una lista o una coppia
protected  Sexp left
          Primo lemento
protected  Sexp right
          Secondo elemento
 
Fields inherited from class exp.Sexp
EOF, FALSE, NIL, TRUE
 
Constructor Summary
ConsSexp(Sexp e1, Sexp e2)
          Costruttore
 
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 changeVal(Sexp v)
          Modifica il valore di un binding
 Sexp dup()
          Creazione di un clone dell'espressione
 void insertVal(Sexp name, Sexp val)
          Inserisce un binding in un environment (effetto collaterale!)
 boolean isAtom()
          Implementazione dei metodi astratti di Sexp
 boolean isEq(Sexp e)
          Controlla l'uguaglianza tra espressioni
 boolean isList()
          Controlla se e' una lista
 boolean isNull()
          Controlla se la lista e' vuota
 java.lang.String separator()
           
 java.lang.String toSimpleString()
          Conversione a stringa
 java.lang.String toString()
           
 
Methods inherited from class exp.Sexp
accept2, append, assoc, atom, caar, cadr, car, cdar, cddr, cdr, cons, 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

isAList

protected boolean isAList
Indica se e' una lista o una coppia

left

protected Sexp left
Primo lemento

right

protected Sexp right
Secondo elemento
Constructor Detail

ConsSexp

public ConsSexp(Sexp e1,
                Sexp e2)
Costruttore
Method Detail

accept

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

isAtom

public boolean isAtom()
Implementazione dei metodi astratti di Sexp
Overrides:
isAtom in class Sexp

isNull

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

isList

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

separator

public java.lang.String separator()

isEq

public boolean isEq(Sexp e)
Description copied from class: Sexp
Controlla l'uguaglianza tra espressioni
Overrides:
isEq 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

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

changeVal

public void changeVal(Sexp v)
Modifica il valore di un binding

insertVal

public void insertVal(Sexp name,
                      Sexp val)
Inserisce un binding in un environment (effetto collaterale!)

dup

public Sexp dup()
         throws java.lang.CloneNotSupportedException
Description copied from class: Sexp
Creazione di un clone dell'espressione
Overrides:
dup in class Sexp