Interpreter.PrologInterpreter.Sexp
Class TermSexp

java.lang.Object
  |
  +--Interpreter.Sexp.Sexp
        |
        +--Interpreter.Sexp.ConsSexp
              |
              +--Interpreter.PrologInterpreter.Sexp.TermSexp
Direct Known Subclasses:
ArgTerm, AssertaTerm, AssertTerm, AssertzTerm, AtomicTerm, AtomTerm, BagOfTerm, CallTerm, ClauseTerm, CompoundTerm, FindAllTerm, FunctorTerm, GroundTerm, InfixSexp, IntegerTerm, ListingTerm, ListSexp, NameTerm, NoArgsSexp, NonVarTerm, NumberTerm, PostfixSexp, PrefixSexp, RandomTerm, ReadTerm, RetractAllTerm, RetractTerm, SetOfTerm, TrueTerm, VarTerm, WriteTerm

public class TermSexp
extends ConsSexp

Un oggetto TermSexp è un termine prolog, dove termine è utilizzato nella sua accezione più generale. In prolog tutto è termine. È costituito da una coppia di Sexp.


Field Summary
protected  int priority
          Priorità dell'operatore.
static java.lang.String[] Prolog
          Costante che si può utilizzare con Sexp.as(String[] separators).
static java.lang.String[] PrologTerm
          Costante che si può utilizzare con Sexp.as(String[] separators).
static java.lang.String[] Spaces
          Costante che si può utilizzare con Sexp.as(String[] separators).
 
Fields inherited from class Interpreter.Sexp.ConsSexp
head, tail
 
Fields inherited from class Interpreter.Sexp.Sexp
BEGIN_S, COUPLE_S, END_S, isAList, Lisp, nil, NIL_S, SEP_S, Separators
 
Constructor Summary
TermSexp(Sexp functor, Sexp args)
          Costruisce una nuova TermSexp.
 
Method Summary
 void accept(SexpVisitor e)
          Accetta un SexpVisitor.
 Sexp argList()
          Restituisce la lista degli argomenti del termine.
 int argNum()
          Restituisce il numero di argomenti del termine.
 Sexp first()
          Restituisce il primo termine nella lista degli argomenti.
 Sexp functor()
          Restituisce il funtore del termine.
 int getPriority()
          Restituisce la priorità del'operatore.
 Sexp getVarList()
          Restituisce la lista delle variabili del termine.
 Sexp second()
          Restituisce il secondo termine nella lista degli argomenti.
 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.
 Sexp unify(Sexp term, SexpUnifier unifier)
          Unifica questo termine con term tramite l'unificatore unifier.
 
Methods inherited from class Interpreter.Sexp.ConsSexp
append, car, cdr, count, equals, isEq, reverse, setIsAList
 
Methods inherited from class Interpreter.Sexp.Sexp
isAList, reverse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

Spaces

public static final java.lang.String[] Spaces
Costante che si può utilizzare con Sexp.as(String[] separators). Contiene l'elenco di separatori per stampare una stringa in formato lisp.
See Also:
Sexp.Separators

Prolog

public static final java.lang.String[] Prolog
Costante che si può utilizzare con Sexp.as(String[] separators). Contiene l'elenco di separatori per stampare una stringa in formato lisp.
See Also:
Sexp.Separators

PrologTerm

public static final java.lang.String[] PrologTerm
Costante che si può utilizzare con Sexp.as(String[] separators). Contiene l'elenco di separatori per stampare una stringa in formato lisp.
See Also:
Sexp.Separators

priority

protected int priority
Priorità dell'operatore.
Constructor Detail

TermSexp

public TermSexp(Sexp functor,
                Sexp args)
Costruisce una nuova TermSexp.
Parameters:
functor - funtore della termine.
args - lista degli argomenti del termine.
Method Detail

functor

public Sexp functor()
Restituisce il funtore del termine.
Returns:
funtore.

argList

public Sexp argList()
Restituisce la lista degli argomenti del termine.
Returns:
lista degli argomenti.

first

public Sexp first()
           throws InterpreterException
Restituisce il primo termine nella lista degli argomenti.
Returns:
primo termine della lista degli argomenti.

second

public Sexp second()
            throws InterpreterException
Restituisce il secondo termine nella lista degli argomenti.
Returns:
secondo termine della lista degli argomenti.

argNum

public int argNum()
Restituisce il numero di argomenti del termine.
Returns:
numero di argomenti.

unify

public Sexp unify(Sexp term,
                  SexpUnifier unifier)
           throws InterpreterException
Unifica questo termine con term tramite l'unificatore unifier.
Parameters:
term - il termine con cui deve unificare.
unifier - l'unificatore;
Returns:
lista delle sostituzioni effettuate.

getPriority

public int getPriority()
Restituisce la priorità del'operatore.
Returns:
la priorità.

getVarList

public Sexp getVarList()
                throws InterpreterException
Restituisce la lista delle variabili del termine. Le variabili non vengono ordinate.
Returns:
la lista delle variabili.

toString

public java.lang.String toString()
Restituisce la rappresentazione in forma di stringa. La rappresentazione è quella prolog.
Returns:
la stringa rappresentativa dell'oggetto: una lista in formato prolog.
Overrides:
toString in class ConsSexp

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. Nelle chiamate ricorsive a toStringInList() viene passato la lista corrente di separatori. Se false viene utilizzata sep in ogni caso.
Returns:
la stringa rappresentativa dell'oggetto.
Overrides:
toString in class ConsSexp
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. Nelle chiamate ricorsive a toStringInList() viene passato la lista corrente di separatori. Se false viene utilizzata sep in ogni caso.
Returns:
la stringa rappresentativa dell'oggetto.
Overrides:
toStringInList in class ConsSexp
See Also:
Sexp.Separators

accept

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


Codice realizzato da Francesco Geri & Marco Tamanti