|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.lang.Thread | +--Interpreter.Prolog
Interprete prolog.
Può essere utilizzato tramite l'applet InterpreterApplet,
oppure utilizzato da solo tramite una shell DOS.
Questa classe infatti contiene il metodo main(String s[]).
Esistono due costruttori: il primo è quello standard (a 3 argomenti), mentre il secondo deve essere utilizzato se si costruisce una versione estesa delle classi EngineSexpVisitor ed EvalVisitor.
InterpreterApplet
,
EngineSexpVisitor
,
EvalVisitor
Field Summary | |
boolean |
kill
Se true indica all'interprete prolog di interrompere e terminare l'esecuzione. |
protected boolean |
stop
Se true indica all'interprete prolog di sospendere la risoluzione in corso. |
Fields inherited from class java.lang.Thread |
MAX_PRIORITY,
MIN_PRIORITY,
NORM_PRIORITY |
Constructor Summary | |
Prolog(InputBuffer input,
OutputBuffer output,
OutputBuffer excOut)
Costruttore utilizzato per creare l'interprete prolog di default. |
|
Prolog(InputBuffer input,
OutputBuffer output,
OutputBuffer excOut,
java.lang.Class extEngine,
java.lang.Class extEval)
Costruttore utilizzato per creare l'interprete prolog esteso. |
Method Summary | |
protected void |
leggiFile()
Legge input da file. |
protected void |
leggiStdIn()
Attende input ed avvia la risoluzione. |
static void |
main(java.lang.String[] s)
Questo è il metodo main per eseguire l'interprete prolog da shell DOS. |
void |
resetDatabase()
Riporta il database allo stato iniziale, cioè contenente zero clausole. |
protected void |
risolvi()
Avvia la risoluzione. |
void |
run()
Questo è il metodo che pone in esecuzione il corrente thread. |
void |
setNormalSpeech(boolean flag)
Per modificare la lettura delle variabili. |
void |
setOccurCheck(boolean flag)
Consente di modificare l'opzione di occur check per l'algoritmo di l'unificazione. |
void |
setSafeness(boolean flag)
Consente di modificare l'opzione per il controllo sulla safeness. |
void |
setStop()
Indica all'interprete di sospendere la risoluzione in corso. |
Methods inherited from class java.lang.Thread |
activeCount,
checkAccess,
countStackFrames,
currentThread,
destroy,
dumpStack,
enumerate,
getContextClassLoader,
getName,
getPriority,
getThreadGroup,
interrupt,
interrupted,
isAlive,
isDaemon,
isInterrupted,
join,
join,
join,
resume,
setContextClassLoader,
setDaemon,
setName,
setPriority,
sleep,
sleep,
start,
stop,
stop,
suspend,
toString,
yield |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected boolean stop
setStop()
public boolean kill
Per fermare il thread si setti true questa variabile che normalmente è false.
Viene controllata ciclicamente.
Non è stato utilizzato il metodo stop perché deprecato e inerentemente non safe.
Inoltre in un'applet non è corretto uccidere ogni volta che si esce dalla finestra il thread prolog,
altrimenti si perderebbe tutto il database.
Se non utilizzato il thread non consuma risorse: rimane semplicemente in attesa di input.
Constructor Detail |
public Prolog(InputBuffer input, OutputBuffer output, OutputBuffer excOut) throws InterpreterException
input
- stream di input: da dove vengono letti i comandioutput
- stream di output: dove vengono stampati i risultatiexcOut
- stream di output: dove vengono stampate le eccezionipublic Prolog(InputBuffer input, OutputBuffer output, OutputBuffer excOut, java.lang.Class extEngine, java.lang.Class extEval) throws InterpreterException
input
- stream di input: da dove vengono letti i comandioutput
- stream di output: dove vengono stampati i risultatiexcOut
- stream di output: dove vengono stampate le eccezioniextEngine
- classe che estende le funzionalità di EngineSexpVisitorextEval
- classe che estende le funzionalità di EvalVisitorEngineSexpVisitor
,
EvalVisitor
Method Detail |
public void setOccurCheck(boolean flag)
Di default l'unificazione viene eseguita senza controllare l'eventuale
presenza di occur check.
Invocando il metodo setOccurCheck() con true si abilita tale controllo.
Invocando il metodo setOccurCheck() con false si disabilita tale controllo.
flag
- se true abilita l'occur check, se false lo disabilita.public void setSafeness(boolean flag)
public void setNormalSpeech(boolean flag)
public void resetDatabase()
public void run()
public void setStop()
protected void leggiStdIn()
protected void risolvi()
protected void leggiFile()
public static void main(java.lang.String[] s) throws InterpreterException
InputBuffer
,
OutputBuffer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |