|
|||||||||
| 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
Separatorspublic static final int COUPLE_S
Separatorspublic static final int SEP_S
Separatorspublic static final int BEGIN_S
Separatorspublic static final int END_S
Separatorspublic static final java.lang.String[] Lisp
Separatorsprotected 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 | ||||||||