Interpreter.PrologInterpreter
Class DataBase

java.lang.Object
  |
  +--java.util.Dictionary
        |
        +--java.util.Hashtable
              |
              +--Interpreter.PrologInterpreter.DataBase

public class DataBase
extends java.util.Hashtable

Database contenente termini e clausole prolog.

See Also:
Serialized Form

Constructor Summary
DataBase()
          Costruisce un nuovo database.
 
Method Summary
 ClauseVector get(Sexp term)
          Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti a termine = (functor (a,b,c)).
 ClauseVector get(java.lang.String functor)
          Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri.
 ClauseVector get(java.lang.String functor, int arity)
          Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri.
 ClauseVector getThrough(java.lang.String functor, int arity)
          Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri.
static void main(java.lang.String[] s)
          Metodo main: per debug.
 void put(Sexp head, Sexp dottedClause)
          Aggiunge una nuova clausola al database.
 void putA(Sexp head, Sexp dottedClause)
          Aggiunge una nuova clausola al database.
 java.lang.String toString()
          Stampa il database.
 
Methods inherited from class java.util.Hashtable
clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, values
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DataBase

public DataBase()
Costruisce un nuovo database.
Method Detail

put

public void put(Sexp head,
                Sexp dottedClause)
         throws InterpreterException
Aggiunge una nuova clausola al database.
Parameters:
head - la testa della clausola.
dottedClause - l'intera clausola.

putA

public void putA(Sexp head,
                 Sexp dottedClause)
          throws InterpreterException
Aggiunge una nuova clausola al database.
Parameters:
head - la testa della clausola.
dottedClause - l'intera clausola.

get

public ClauseVector get(Sexp term)
                 throws InterpreterException
Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti a termine = (functor (a,b,c)). Viene restituita una deep copy di un ClauseVector del DataBase.
Parameters:
term - il termine con cui bisogna unificare.
Returns:
lista delle clausole che possono unificare con term.

get

public ClauseVector get(java.lang.String functor,
                        int arity)
                 throws InterpreterException
Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri. Viene restituita una deep copy di un ClauseVector del DataBase.
Parameters:
functor - il funtore.
arity - l'arity.
Returns:
lista delle clausole che possono unificare con clause.

getThrough

public ClauseVector getThrough(java.lang.String functor,
                               int arity)
                        throws InterpreterException
Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri.
Una modifica sul ClauseVector restituito corrisponde ad una modifica del DataBase e viceversa. Viene cioč restituito un riferimento ad un ClauseVector del DataBase.
Parameters:
functor - il funtore.
arity - l'arity.
Returns:
lista delle clausole che possono unificare con clause.

get

public ClauseVector get(java.lang.String functor)
                 throws InterpreterException
Restituisce una lista di tutte le clausole con funtore ed arity corrispondenti ai parametri.
Una modifica sul ClauseVector restituito corrisponde ad una modifica del DataBase e viceversa. Viene cioč restituito un riferimento ad un ClauseVector del DataBase.
Parameters:
functor - il funtore.
arity - l'arity.
Returns:
lista delle clausole che possono unificare con clause.

toString

public java.lang.String toString()
Stampa il database. Restituisce il DataBase in formato di stringa.
Returns:
la stringa contenente la rappresentazione esterna del DataBase.
Overrides:
toString in class java.util.Hashtable

main

public static void main(java.lang.String[] s)
                 throws InterpreterException
Metodo main: per debug.


Codice realizzato da Francesco Geri & Marco Tamanti