Interpreter.Sexp
Class AtomSexp

java.lang.Object
  |
  +--Interpreter.Sexp.Sexp
        |
        +--Interpreter.Sexp.AtomSexp
Direct Known Subclasses:
DottedTermSexp, IdentSexp, NilSexp

public abstract class AtomSexp
extends Sexp

Un oggetto AtomSexp è una S-expression atomica.


Field Summary
protected  java.lang.String name
          Il nome dell'AtomSexp.
 
Fields inherited from class Interpreter.Sexp.Sexp
BEGIN_S, COUPLE_S, END_S, isAList, Lisp, nil, NIL_S, SEP_S, Separators
 
Constructor Summary
AtomSexp()
           
 
Method Summary
 Sexp append(Sexp Tail)
          Costruisce una concatenazione di Sexp.
 Sexp car()
          Lancia una eccezione incondizionatamente.
 Sexp cdr()
          Lancia una eccezione incondizionatamente.
 int count()
          Conta il numero di elementi di una lista.
 boolean equals(java.lang.Object s)
          Controlla se la stringa contenuta in questa Sexp è uguale alla stringa ottenuta applicando il metodo toString ad s.
 boolean equals(java.lang.String s)
          Controlla se la stringa contenuta in questa Sexp è uguale a s.
protected  Sexp reverse(Sexp Tail)
          Costruisce una lista invertita.
 java.lang.String toString()
          Restituisce la rappresentazione in forma di stringa.
 java.lang.String toString(java.lang.String[] sep, boolean personal)
          Restituisce la rappresentazione in forma di stringa.
 java.lang.String toStringInList(java.lang.String[] sep, boolean personal)
          Restituisce la rappresentazione in forma di stringa.
 
Methods inherited from class Interpreter.Sexp.Sexp
accept, isAList, isEq, reverse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

protected java.lang.String name
Il nome dell'AtomSexp.
Constructor Detail

AtomSexp

public AtomSexp()
Method Detail

car

public Sexp car()
         throws InterpreterException
Lancia una eccezione incondizionatamente. La funzione ritorna un valore corretto solo se siamo in una ConsSexp. Viene definita anche qui per evitare i numerosi cast necessari prima di invocare il car() in una Sexp.

Overrides:
car in class Sexp
See Also:
ConsSexp

cdr

public Sexp cdr()
         throws InterpreterException
Lancia una eccezione incondizionatamente. La funzione ritorna un valore corretto solo se siamo in una ConsSexp. Viene definita anche qui per evitare i numerosi cast necessari prima di invocare il cdr() in una Sexp.

Overrides:
cdr in class Sexp
See Also:
ConsSexp

count

public int count()
Conta il numero di elementi di una lista.
Returns:
il valore intero 1.
Overrides:
count in class Sexp

append

public Sexp append(Sexp Tail)
Costruisce una concatenazione di Sexp.
Parameters:
Tail - la lista da appendere a questa.
Returns:
la lista concatenata.
Overrides:
append in class Sexp

reverse

protected Sexp reverse(Sexp Tail)
Costruisce una lista invertita.
Parameters:
Tail - la parte di lista già invertita: all'inizio dovrebbe essere nil.
Returns:
la lista invertita.
Overrides:
reverse in class Sexp

equals

public boolean equals(java.lang.String s)
Controlla se la stringa contenuta in questa Sexp è uguale a s.
Parameters:
s - la stringa da confrontare con il risultato di toString applicato a questa Sexp.
Returns:
true se le stringa è la stessa, altrimenti false.
Overrides:
equals in class Sexp

equals

public boolean equals(java.lang.Object s)
Controlla se la stringa contenuta in questa Sexp è uguale alla stringa ottenuta applicando il metodo toString ad s.
Parameters:
s - Object da confrontare con questa Sexp, entrambe in formato di stringa.
Returns:
true se le stringa è la stessa, altrimenti false.
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Restituisce la rappresentazione in forma di stringa.
Returns:
la stringa rappresentativa dell'oggetto.
Overrides:
toString in class Sexp

toString

public java.lang.String toString(java.lang.String[] sep,
                                 boolean personal)
Restituisce la rappresentazione in forma di stringa.
Parameters:
sep - contiene un array di 5 stringhe separatrici (see Separators): nil, couple, sep, beginList, endList.
personal - se true permette di personalizzare la stampa della lista utilizzando le stringhe prese da Separators di ciascuna Sexp, oppure sep se Separators non è inizializzato. Se false viene utilizzata sep in ogni caso.
Returns:
la stringa rappresentativa dell'oggetto.
Overrides:
toString in class Sexp
See Also:
Sexp.Separators

toStringInList

public java.lang.String toStringInList(java.lang.String[] sep,
                                       boolean personal)
Restituisce la rappresentazione in forma di stringa. Viene usata all'interno di una lista.
Parameters:
sep - contiene un array di 5 stringhe separatrici (see Separators): nil, couple, sep, beginList, endList.
personal - se true permette di personalizzare la stampa della lista utilizzando le stringhe prese da Separators di ciascuna Sexp, oppure sep se Separators non è inizializzato. Se false viene utilizzata sep in ogni caso.
Returns:
la stringa rappresentativa dell'oggetto preceduta da sep[COUPLE_S].
Overrides:
toStringInList in class Sexp
See Also:
Sexp.Separators


Codice realizzato da Francesco Geri & Marco Tamanti