Interpreter.PrologInterpreter
Class DerefVisitor
java.lang.Object
|
+--Interpreter.Sexp.Utils.SexpVisitor
|
+--Interpreter.PrologInterpreter.Sexp.Utils.StructureSexpVisitor
|
+--Interpreter.PrologInterpreter.RenameVisitor
|
+--Interpreter.PrologInterpreter.DerefVisitor
- public class DerefVisitor
- extends RenameVisitor
Visitor che ricrea un termine prolog dereferenziando le variabili.
Il termine costruito è identico al primo eccetto per le variabili che vengono
dereferenziate utilizzando i valori presi dalla SexpHashtable passata al costruttore.
Per utilizzarlo si deve chiamare il metodo accept di un oggetto TermSexp con
parametro una istanza di questa classe.
Il risultato si ottiene chiamando il metodo getResult() dell'istanza di questa classe
passata alla accept. Il metodo getResult() è ereditato da SexpVisitor.
Method Summary |
boolean |
notGround(Sexp term)
Controlla se term è ground. |
void |
visit(DottedTermSexp d)
Non dovrebbe mai essere utilizzata: lancia una eccezione. |
void |
visit(VarSexp var)
Effettua la visita di un oggetto VarSexp.
|
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
DerefVisitor
public DerefVisitor(SexpHashtable subs,
SexpHashtable t)
- Costruisce un nuovo DerefVisitor.
- Parameters:
subs
- tabella delle sostituzioni.t
- tabella dei termini predefiniti.
notGround
public boolean notGround(Sexp term)
throws InterpreterException
- Controlla se term è ground.
- Parameters:
term
- il termine.
return false se il termine è ground.
throws InterpreterException se si ha un errore durante la dereferenziazione delle variabili contenute in term.
visit
public void visit(DottedTermSexp d)
throws InterpreterException
- Non dovrebbe mai essere utilizzata: lancia una eccezione.
- Parameters:
d
- termine che non può essere dereferenziato.- Overrides:
- visit in class RenameVisitor
visit
public void visit(VarSexp var)
throws InterpreterException
- Effettua la visita di un oggetto VarSexp.
Dereferenzia la variabile.
- Parameters:
var
- oggetto della classe VarSexp che viene visitato.- Overrides:
- visit in class RenameVisitor
Codice realizzato da Francesco Geri & Marco Tamanti