Interpreter.Sexp
Class NilSexp

java.lang.Object
  |
  +--Interpreter.Sexp.Sexp
        |
        +--Interpreter.Sexp.AtomSexp
              |
              +--Interpreter.Sexp.NilSexp

public class NilSexp
extends AtomSexp

Un oggetto NilSexp è una S-expression atomica e costituisce l'espressione vuota, nulla.
La rappresentazione interna in forma di stringa è "nil", così quando si chiama toString il valore restituito è "nil". La toString si usa nel caso in cui non faccia parte di una lista, altrimenti bisogna usare la toStringInList che restituisce la stringa vuota "".


Fields inherited from class Interpreter.Sexp.AtomSexp
name
 
Fields inherited from class Interpreter.Sexp.Sexp
BEGIN_S, COUPLE_S, END_S, isAList, Lisp, nil, NIL_S, SEP_S, Separators
 
Constructor Summary
NilSexp()
          Costruisce una nuova NilSexp.
 
Method Summary
 void accept(SexpVisitor e)
          Accetta un SexpVisitor per la valutazione.
 Sexp append(Sexp Tail)
          Costruisce una concatenazione di Sexp.
 int count()
          Conta il numero di elementi di una lista.
protected  Sexp reverse(Sexp Tail)
          Costruisce una lista invertita.
 java.lang.String toString(java.lang.String[] s, 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.AtomSexp
car, cdr, equals, equals, toString
 
Methods inherited from class Interpreter.Sexp.Sexp
isAList, isEq, reverse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NilSexp

public NilSexp()
Costruisce una nuova NilSexp.
Method Detail

append

public Sexp append(Sexp Tail)
Costruisce una concatenazione di Sexp.
Parameters:
Tail - la lista da appendere a questa.
Returns:
Tail (un oggetto NilSexp è la lista vuota).
Overrides:
append in class AtomSexp

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 AtomSexp

count

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

toString

public java.lang.String toString(java.lang.String[] s,
                                 boolean personal)
Restituisce la rappresentazione in forma di stringa.
Parameters:
s - 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: sep[nil].
Overrides:
toString in class AtomSexp
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 e restituisce una stringa vuota.
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:
toStringInList in class AtomSexp
See Also:
Sexp.Separators

accept

public void accept(SexpVisitor e)
            throws InterpreterException
Accetta un SexpVisitor per la valutazione.
Parameters:
e - oggetto che realizza un Pattern Visitor per le Sexp.
Overrides:
accept in class Sexp


Codice realizzato da Francesco Geri & Marco Tamanti