|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Interpreter.Sexp.Sexp
Un oggetto Sexp è una S-expression.
Field Summary | |
static int |
BEGIN_S
Costante che serve per indirizzare la stringa corrispondente all'inizio di una lista all'interno dell'array sep nel metodo toString(String[] sep). |
static int |
COUPLE_S
Costante che serve per indirizzare la stringa corrispondente al separatore di coppia all'interno dell'array sep nel metodo toString(String[] sep). |
static int |
END_S
Costante che serve per indirizzare la stringa corrispondente alla fine di una lista all'interno dell'array sep nel metodo toString(String[] sep). |
protected boolean |
isAList
true se la Sexp è una lista, false altrimenti. |
static java.lang.String[] |
Lisp
Costante che si può utilizzare con as(String[] separators). |
static NilSexp |
nil
Definisce una costante di uso comune, essenziale nella costruzione di Sexp: è la S-expession nulla. |
static int |
NIL_S
Costante che serve per indirizzare la stringa corrispondente al nil all'interno dell'array sep nel metodo toString(String[] sep). |
static int |
SEP_S
Costante che serve per indirizzare la stringa corrispondente al separatore tra gli elementi all'interno dell'array sep nel metodo toString(String[] sep). |
protected java.lang.String[] |
Separators
Contiene 5 separatori per la stampa della lista. |
Constructor Summary | |
Sexp()
|
Method Summary | |
abstract void |
accept(SexpVisitor e)
Accetta un SexpVisitor per la valutazione. |
abstract Sexp |
append(Sexp Tail)
Costruisce una concatenazione di Sexp. |
abstract Sexp |
car()
Restituisce la testa della Sexp. |
abstract Sexp |
cdr()
Restituisce la coda della Sexp. |
abstract int |
count()
Conta il numero di elementi di una lista. |
abstract boolean |
equals(java.lang.String s)
Controlla se la stringa contenuta in questa Sexp è uguale a s. |
boolean |
isAList()
Specifica se l'oggetto è una lista. |
boolean |
isEq(Sexp s)
Controlla se due oggetti Sexp sono uguali (identici). |
Sexp |
reverse()
Costruisce una lista invertita. |
protected abstract Sexp |
reverse(Sexp Tail)
Costruisce una lista invertita. |
abstract java.lang.String |
toString()
Restituisce la rappresentazione in forma di stringa in formato lisp. |
abstract java.lang.String |
toString(java.lang.String[] sep,
boolean personal)
Restituisce la rappresentazione in forma di stringa utilizzando i separatori presi da Separators. |
abstract java.lang.String |
toStringInList(java.lang.String[] sep,
boolean personal)
Restituisce la rappresentazione in forma di stringa. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
public static NilSexp nil
protected java.lang.String[] Separators
toString(String[],boolean)
public static final int NIL_S
Separators
public static final int COUPLE_S
Separators
public static final int SEP_S
Separators
public static final int BEGIN_S
Separators
public static final int END_S
Separators
public static final java.lang.String[] Lisp
Separators
protected boolean isAList
Constructor Detail |
public Sexp()
Method Detail |
public boolean isAList()
public abstract Sexp car() throws InterpreterException
public abstract Sexp cdr() throws InterpreterException
public abstract int count()
public abstract Sexp append(Sexp Tail)
Tail
- la lista da appendere a questa.public Sexp reverse()
protected abstract Sexp reverse(Sexp Tail)
Tail
- la parte di lista già invertita: all'inizio dovrebbe essere nil.public abstract boolean equals(java.lang.String s)
s
- la stringa da confrontare con il risultato di toString applicato a questa Sexp.public boolean isEq(Sexp s)
s
- Sexp con cui si effettua il confronto di uguaglianza.public abstract java.lang.String toString()
public abstract java.lang.String toString(java.lang.String[] sep, boolean personal)
sep
- contiene un array di 5 separatori: 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.
Nelle chiamate ricorsive a toStringInList() viene passato la lista corrente di separatori.
Se false viene utilizzata sep in ogni caso.Separators
public abstract java.lang.String toStringInList(java.lang.String[] sep, boolean personal)
sep
- contiene un array di 5 stringhe separatrici: 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.
Nelle chiamate ricorsive a toStringInList() viene passato la lista corrente di separatori.
Se false viene utilizzata sep in ogni caso.Separators
public abstract void accept(SexpVisitor e) throws InterpreterException
e
- oggetto che realizza un Pattern Visitor per le Sexp.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |