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

Constructor Index

 o PrologFunctor()
 o PrologFunctor(PrologFunctor)
Construit un foncteur à partir d'un autre foncteur.
 o PrologFunctor(String, Vector)
Construit un foncteur à partir de son nom et de ses termes-fils.

Method Index

 o addTerm(PrologTerm)
Rajoute le terme spécifié à la fin du vecteur contenant les termes-fils du foncteur.
 o clone()
Retourne l'objet représentant le foncteur Prolog.
 o getArity()
Retourne l'arité du foncteur.
 o getName()
Retourne le nom du foncteur.
 o getTermAt(int)
Retourne le terme-fils se trouvant à la position donnée.
 o getTerms()
Retourne le vecteur contenant tous les termes-fils du foncteur.
 o insertTermAt(PrologTerm, int)
Insère un nouveau terme à la position voulue dans la liste des termes-fils du foncteur.
 o isEmpty()
Teste si le foncteur est vide ou pas.
 o isList()
Teste si ce terme est une liste ou pas.
 o readIn(DataInputStream)
Lit dans le flot d'entrée le code représentant le foncteur et répercute cette lecture sur ses termes-fils.
 o readJavaIn(DataInputStream)
Lit dans le flot d'entrée le code représentant le foncteur et répercute cette lecture sur ses termes-fils.
 o removeAllTerms()
Efface tous les termes-fils du foncteur (dont l'arité devient alors nulle).
 o removeTermAt(int)
Efface le terme-fils se trouvant à la position spécifiée.
 o setName(String)
Modifie le nom (ou étiquette) du foncteur.
 o setTermAt(PrologTerm, int)
Remplace le terme-fils se trouvant à la position donnée par un autre terme.
 o setTerms(Vector)
Modifie les termes-fils du foncteur.
 o toString()
Retourne la représentation d'un foncteur sous forme de chaîne.
 o whatIs()
Retourne le caractère représentant le type foncteur.
 o writeIn(DataOutputStream)
Ecrit dans le flot de sortie le code représentant le foncteur en répercutant cette écriture sur ses termes-fils.
 o writeJavaIn(DataOutputStream)
Ecrit dans le flot de sortie le code représentant le foncteur en répercutant cette écriture sur ses termes-fils.

Constructors

 o PrologFunctor
 PrologFunctor()
 o 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
 o PrologFunctor
 public PrologFunctor(PrologFunctor theFunctor)
Construit un foncteur à partir d'un autre foncteur.

Parameters:
theFunctor - le nouveau foncteur

Methods

 o getName
 public String getName()
Retourne le nom du foncteur.

Returns:
le nom (ou étiquette) du foncteur
 o getArity
 public int getArity()
Retourne l'arité du foncteur.

Returns:
l'arité du foncteur
 o getTerms
 public Vector getTerms()
Retourne le vecteur contenant tous les termes-fils du foncteur.

Returns:
le vecteur contenant tous les termes-fils du foncteur
 o 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"
 o setName
 public void setName(String theName)
Modifie le nom (ou étiquette) du foncteur.

Parameters:
theName - le nouveau nom du foncteur
 o setTerms
 public void setTerms(Vector theTerms)
Modifie les termes-fils du foncteur.

Parameters:
theTerms - le vecteur contenant les nouveaux termes-fils du foncteur
 o 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
 o 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
 o 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
 o removeAllTerms
 public void removeAllTerms()
Efface tous les termes-fils du foncteur (dont l'arité devient alors nulle).

 o removeTermAt
 public void removeTermAt(int position)
Efface le terme-fils se trouvant à la position spécifiée.

Parameters:
position - la position du terme à effacer
 o 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
 o 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
 o 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
 o 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
 o 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
 o 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 :

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
 o 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
 o 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
 o 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