All Packages Class Hierarchy This Package Previous Next Index
Class prolog.PrologFunctor
java.lang.Object
|
+----prolog.PrologTerm
|
+----prolog.PrologFunctor
- public class PrologFunctor
- extends PrologTerm
- implements Serializable
Représente un terme Prolog de type foncteur.
Remarque :
Pour permettre une meilleure discrimination des termes, la paire
pointée n'est pas représentée par cette classe mais par la
classe PrologDot.
- Version:
- 1.0 -- Last update : 02/06/97
- Author:
- Stéphane CABAGNO -- Copyright © 1997 PrologIA
- See Also:
- PrologDot, PrologFloat, PrologIdent, PrologInt, PrologNil, PrologRat, PrologString, PrologVar
-
PrologFunctor()
-
-
PrologFunctor(PrologFunctor)
- Construit un foncteur à partir d'un autre foncteur.
-
PrologFunctor(String, Vector)
- Construit un foncteur à partir de son nom et de ses termes-fils.
-
addTerm(PrologTerm)
- Rajoute le terme spécifié à la fin du vecteur contenant
les termes-fils du foncteur.
-
clone()
- Retourne l'objet représentant le foncteur Prolog.
-
getArity()
- Retourne l'arité du foncteur.
-
getName()
- Retourne le nom du foncteur.
-
getTermAt(int)
- Retourne le terme-fils se trouvant à la position donnée.
-
getTerms()
- Retourne le vecteur contenant tous les termes-fils du foncteur.
-
insertTermAt(PrologTerm, int)
- Insère un nouveau terme à la position voulue
dans la liste des termes-fils du foncteur.
-
isEmpty()
- Teste si le foncteur est vide ou pas.
-
isList()
- Teste si ce terme est une liste ou pas.
-
readIn(DataInputStream)
- Lit dans le flot d'entrée le code représentant le foncteur
et répercute cette lecture sur ses termes-fils.
-
readJavaIn(DataInputStream)
- Lit dans le flot d'entrée le code représentant le foncteur
et répercute cette lecture sur ses termes-fils.
-
removeAllTerms()
- Efface tous les termes-fils du foncteur (dont l'arité devient
alors nulle).
-
removeTermAt(int)
- Efface le terme-fils se trouvant à la position spécifiée.
-
setName(String)
- Modifie le nom (ou étiquette) du foncteur.
-
setTermAt(PrologTerm, int)
- Remplace le terme-fils se trouvant à la position donnée
par un autre terme.
-
setTerms(Vector)
- Modifie les termes-fils du foncteur.
-
toString()
- Retourne la représentation d'un foncteur sous forme de chaîne.
-
whatIs()
- Retourne le caractère représentant le type foncteur.
-
writeIn(DataOutputStream)
- Ecrit dans le flot de sortie le code représentant le foncteur
en répercutant cette écriture sur ses termes-fils.
-
writeJavaIn(DataOutputStream)
- Ecrit dans le flot de sortie le code représentant le foncteur
en répercutant cette écriture sur ses termes-fils.
PrologFunctor
PrologFunctor()
PrologFunctor
public PrologFunctor(String theName,
Vector theTerms)
- Construit un foncteur à partir de son nom et de ses termes-fils.
- Parameters:
- theString - le nom du foncteur
- theTerms - le vecteur contenant tous les termes-fils du foncteur
PrologFunctor
public PrologFunctor(PrologFunctor theFunctor)
- Construit un foncteur à partir d'un autre foncteur.
- Parameters:
- theFunctor - le nouveau foncteur
getName
public String getName()
- Retourne le nom du foncteur.
- Returns:
- le nom (ou étiquette) du foncteur
getArity
public int getArity()
- Retourne l'arité du foncteur.
- Returns:
- l'arité du foncteur
getTerms
public Vector getTerms()
- Retourne le vecteur contenant tous les termes-fils du foncteur.
- Returns:
- le vecteur contenant tous les termes-fils du foncteur
getTermAt
public PrologTerm getTermAt(int position)
- Retourne le terme-fils se trouvant à la position donnée.
- Parameters:
- position - la position du terme-fils
- Returns:
- le terme-fils à la position "position"
setName
public void setName(String theName)
- Modifie le nom (ou étiquette) du foncteur.
- Parameters:
- theName - le nouveau nom du foncteur
setTerms
public void setTerms(Vector theTerms)
- Modifie les termes-fils du foncteur.
- Parameters:
- theTerms - le vecteur contenant les nouveaux termes-fils du foncteur
setTermAt
public void setTermAt(PrologTerm theTerm,
int position)
- Remplace le terme-fils se trouvant à la position donnée
par un autre terme.
- Parameters:
- theTerm - le nouveau terme-fils
- position - la position du terme-fils à remplacer
addTerm
public void addTerm(PrologTerm theTerm)
- Rajoute le terme spécifié à la fin du vecteur contenant
les termes-fils du foncteur.
- Parameters:
- theTerm - le terme-fils à rajouter
insertTermAt
public void insertTermAt(PrologTerm theTerm,
int position)
- Insère un nouveau terme à la position voulue
dans la liste des termes-fils du foncteur.
- Parameters:
- theTerm - le nouveau terme-fils
- position - la position du nouveau terme-fils
removeAllTerms
public void removeAllTerms()
- Efface tous les termes-fils du foncteur (dont l'arité devient
alors nulle).
removeTermAt
public void removeTermAt(int position)
- Efface le terme-fils se trouvant à la position spécifiée.
- Parameters:
- position - la position du terme à effacer
isEmpty
public boolean isEmpty()
- Teste si le foncteur est vide ou pas.
Normalement, un foncteur ne peut pas avoir une arité nulle. Si un
foncteur d'arité nulle est envoyée à Prolog, une exception
de type PrologException
est générée.
- Returns:
- vrai si le foncteur est vide (c'est-à-dire d'arité
zéro) et faux sinon
isList
public boolean isList()
- Teste si ce terme est une liste ou pas.
- Returns:
- faux car un foncteur n'est pas une liste
- Overrides:
- isList in class PrologTerm
whatIs
public byte whatIs()
- Retourne le caractère représentant le type foncteur.
- Returns:
- le caractère représentant le type foncteur:
'o'
- Overrides:
- whatIs in class PrologTerm
clone
public Object clone()
- Retourne l'objet représentant le foncteur Prolog.
- Returns:
- l'objet représentant le foncteur Prolog
- Overrides:
- clone in class PrologTerm
toString
public String toString()
- Retourne la représentation d'un foncteur sous forme de chaîne.
Exemple :
addition(1, 2)
est la représentation d'un foncteur dont
le nom est "addition" et dont les termes-fils sont les entiers 1 et 2.
- Returns:
- la représentation du terme PrologFunctor sous forme de chaîne
- Overrides:
- toString in class PrologTerm
writeIn
public void writeIn(DataOutputStream out) throws IOException
- Ecrit dans le flot de sortie le code représentant le foncteur
en répercutant cette écriture sur ses termes-fils.
Remarque :
Les méthodes writeIn
et readIn
sont
utilisées pour transférer des données entre le serveur Java
et Prolog alors que les méthodes writeJavaIn
et
readJavaIn
sont utilisées pour transférer des
données entre le serveur Java et un autre programme Java.
Un foncteur est codé de la manière suivante :
Exemple de codage d'un foncteur.
Soit le foncteur Prolog suivant :
sos(1, 3/4)
Ce foncteur sera codé ainsi :
Pour plus d'informations sur la façon de coder les autres termes
Prolog, voir les fonctions writeIn suivantes :
- Fonction writeIn dans la
classe PrologDot
- Fonction writeIn dans la
classe PrologFloat
- Fonction writeIn dans la
classe PrologIdent
- Fonction writeIn dans la
classe PrologInt
- Fonction writeIn dans la
classe PrologNil
- Fonction writeIn dans la
classe PrologRat
- Fonction writeIn dans la
classe PrologString
- Fonction writeIn dans la
classe PrologVar
- Parameters:
- out - le flot dans lequel on veut écrire
- Throws: IOException
- si on a une erreur d'écriture
- Overrides:
- writeIn in class PrologTerm
- See Also:
- readIn, readJavaIn, writeJavaIn
writeJavaIn
public void writeJavaIn(DataOutputStream out) throws IOException
- Ecrit dans le flot de sortie le code représentant le foncteur
en répercutant cette écriture sur ses termes-fils.
Remarque :
Les méthodes writeIn
et readIn
sont
utilisées pour transférer des données entre le serveur Java
et Prolog alors que les méthodes writeJavaIn
et
readJavaIn
sont utilisées pour transférer des
données entre le serveur Java et un autre programme Java.
- Parameters:
- out - le flot dans lequel on veut écrire
- Throws: IOException
- si on a une erreur d'écriture
- Overrides:
- writeJavaIn in class PrologTerm
- See Also:
- readIn, readJavaIn, writeIn
readIn
public void readIn(DataInputStream in) throws EOFException, IOException
- Lit dans le flot d'entrée le code représentant le foncteur
et répercute cette lecture sur ses termes-fils.
Remarque :
Les méthodes writeIn
et readIn
sont
utilisées pour transférer des données entre le serveur Java
et Prolog alors que les méthodes writeJavaIn
et
readJavaIn
sont utilisées pour transférer des
données entre le serveur Java et un autre programme Java.
Pour le codage du foncteur, voir la méthode
writeIn.
- Parameters:
- in - le flot dans lequel on veut lire
- Throws: EOFException
- si on veut lire alors qu'on est à la
fin du flux d'entrée
- Throws: IOException
- si on a une erreur de lecture
- See Also:
- writeIn, writeJavaIn, readJavaIn
readJavaIn
public void readJavaIn(DataInputStream in) throws EOFException, IOException
- Lit dans le flot d'entrée le code représentant le foncteur
et répercute cette lecture sur ses termes-fils.
Remarque :
Les méthodes writeIn
et readIn
sont
utilisées pour transférer des données entre le serveur Java
et Prolog alors que les méthodes writeJavaIn
et
readJavaIn
sont utilisées pour transférer des
données entre le serveur Java et un autre programme Java.
- Parameters:
- in - le flot dans lequel on veut lire
- Throws: EOFException
- si on veut lire alors qu'on est à la
fin du flux d'entrée
- Throws: IOException
- si on a une erreur de lecture
- See Also:
- writeIn, writeJavaIn, readIn
All Packages Class Hierarchy This Package Previous Next Index