Table des matières. PrologIA HERITAGE II+
Ci-dessous, vous trouverez de brèves informations concernant II+ Prolog. Ce manuel de référence décrit en détail le langage Prolog II+, son utilisation, ainsi que ses caractéristiques, comme la compilation incrémentale, la modularité, l'ouverture vers d'autres langages et l'environnement de programmation.
A!ociation
Prolog
HERITAGE
Généralités
iii
Table des matières
Table des matières..........................................................................................iii
Introduction .....................................................................................................ix
Standardisation.................................................................................ix
Performances ...................................................................................ix
Modularité.........................................................................................x
Ouverture vers l'extérieur...................................................................x
Environnement de programmation.....................................................x
Interface graphique...........................................................................xi
Sur ce Manuel ...............................................................................................xiii
Garantie et responsabilités............................................................................xv
Droits d'auteur.......................................................................................... xv
0. Débuter avec Prolog..........................................................................R 0 - 1
0.1. Leçon 1 : Lancement de Prolog ...............................................R 0 - 1
0.2. Leçon 2 : Utilisation d'un programme d'exemple.....................R 0 - 2
0.3. Leçon 3 : L'Editeur ..................................................................R 0 - 4
0.4. Les erreurs les plus courantes...................................................R 0 - 5
0.4.1. Débordement de l'espace de code.................................R 0 - 5
0.4.2. Interruption. .................................................................R 0 - 5
0.4.3. Erreurs détectées en cours d'insertion...........................R 0 - 6
0.4.4. Erreurs concernant les fichiers. ....................................R 0 - 6
0.4.5. Erreurs de syntaxe........................................................R 0 - 6
0.4.6. Erreurs d'exécution.......................................................R 0 - 8
1. Eléments de base...............................................................................R 1 - 1
1.1. Notations utilisées.....................................................................R 1 - 1
1.2. Jeu de caractères .......................................................................R 1 - 2
1.3. Les variables .............................................................................R 1 - 3
1.4. Constantes ................................................................................R 1 - 5
1.5. Termes et arbres........................................................................R 1 - 9
1.6. Les opérateurs.........................................................................R 1 - 15
1.7. Les règles et les assertions......................................................R 1 - 16
1.8. Les mécanismes de base de Prolog.........................................R 1 - 18
1.9. La syntaxe complète de Prolog II+.........................................R 1 - 20
©PrologIA
iv
Manuel de Référence
1.9.1. Le niveau syntaxique ................................................. R 1 - 21
1.9.2. Les opérateurs ........................................................... R 1 - 22
1.9.3. Le niveau lexical ........................................................ R 1 - 24
1.9.4. Les caractères ............................................................ R 1 - 26
1.9.5. Les caractères accentués ............................................ R 1 - 27
1.10. Le macroprocesseur................................................................R 1 - 29
2. Le contrôle......................................................................................... R 2 - 1
2.1. Le contrôle ................................................................................R 2 - 1
2.2. Geler .........................................................................................R 2 - 9
2.3. A propos des arbres infinis .....................................................R 2 - 11
2.4. Quelques conseils pour la programmation récursive...............
R 2 - 12
2.5. Les meta-structures .................................................................R 2 - 14
2.5.1. Création..................................................................... R 2 - 14
2.5.2. Récupération.............................................................. R 2 - 15
2.5.3. Unification forcée...................................................... R 2 - 15
2.5.4. Sorties ....................................................................... R 2 - 16
2.5.5. Exemple..................................................................... R 2 - 16
3. Structuration des règles................................................................... R 3 - 1
3.1. Introduction...............................................................................R 3 - 1
3.1.1. Qualification des prédicats...........................................R 3 - 1
3.1.2. Qualification des foncteurs.......................................... R 3 - 2
3.1.3. Simplification des notations......................................... R 3 - 3
3.1.4. Quelques règles simples d'utilisation........................... R 3 - 3
3.1.5. Modules et préfixes standard....................................... R 3 - 4
3.2. Terminologie.............................................................................R 3 - 5
3.3. Syntaxe des identificateurs........................................................R 3 - 6
3.4. Contexte de Lecture et Ecriture..................................................R 3 - 8
3.4.1. Lecture......................................................................... R 3 - 8
3.4.2. Ecriture........................................................................ R 3 - 8
3.4.3. Notation simplifiée de la suite d'identificateurs ......................
d'un contexte................................................................ R 3 - 9
3.4.4. Notation en Prolog .................................................... R 3 - 11
3.4.5. Primitives pour les contextes et les familles ...........................
d'identificateurs.......................................................... R 3 - 11
3.5. Modules..................................................................................R 3 - 13
3.5.1. Définition d'un module.............................................. R 3 - 14
3.5.2. Module source........................................................... R 3 - 14
3.5.3. Module Objet ............................................................ R 3 - 17
©PrologIA
A!ociation
Prolog
HERITAGE
A!ociation
Prolog
HERITAGE
Généralités
3.6. Résumé ou Approche simplifiée des identificateurs, ...........................
contextes et modules...............................................................R 3 - 17
3.6.1. Identificateurs.............................................................R 3 - 17
3.6.2. Notation abrégée et contextes.....................................R 3 - 18
3.6.3. Modules.....................................................................R 3 - 19
3.7. Ajout, suppression et recherche de règles................................R 3 - 20
3.8. Manipulation des modules compilés.......................................R 3 - 32
4. Opérations prédéfinies.....................................................................R 4 - 1
4.1. Les tests de type........................................................................R 4 - 1
4.2. Les opérations arithmétiques.....................................................R 4 - 2
4.3. Affectation ................................................................................R 4 - 7
4.4. Opérations sur les chaînes........................................................R 4 - 9
4.5. Composition et décomposition d'objets...................................R 4 - 10
4.6. Comparaison de termes quelconques......................................R 4 - 14
5. Les entrées / sorties ...........................................................................R 5 - 1
5.0. Généralités................................................................................R 5 - 1
5.1. Entrées......................................................................................R 5 - 2
5.1.1. Règles pour l'entrée......................................................R 5 - 3
5.1.2. Modification de l'unité d'entrée.....................................R 5 - 8
5.2. Sorties.......................................................................................R 5 - 9
5.2.1. Règles pour la sortie.....................................................R 5 - 9
5.2.2. Modification de l'unité de sortie .................................R 5 - 12
5.3. Chargement et adaptation du module de dessin.......................R 5 - 14
5.4. Déclaration d'opérateurs..........................................................R 5 - 15
6. L'environnement...............................................................................R 6 - 1
6.1. Comment sortir de Prolog.........................................................R 6 - 1
6.2. Démarrage automatique d'un programme Prolog......................R 6 - 1
6.3. Edition de programmes.............................................................R 6 - 2
6.3.1. Modifier des paquets de règles.....................................R 6 - 2
6.3.2. Editer et recompiler un module source.........................R 6 - 3
6.3.3. Editer un fichier de texte quelconque............................R 6 - 4
6.4. Date, temps et mesures..............................................................R 6 - 4
6.5. Lien avec le système..................................................................R 6 - 5
6.6. Outil de mise au point de programmes......................................R 6 - 5
6.6.1. Mode trace ...................................................................R 6 - 6
6.6.2. Mode interactif.............................................................R 6 - 7
6.6.2.1. Points d'arrêt ...................................................R 6 - 7
6.6.2.2. Progression dans le code.................................R 6 - 8
v
©PrologIA
vi
Manuel de Référence
6.6.2.3. Terminer l'exécution ....................................... R 6 - 9
6.6.2.4. Affichage des informations............................. R 6 - 9
6.6.2.5. Informations annexes sur l'exécution............
R 6 - 14
6.6.2.6. Configuration ............................................... R 6 - 16
6.6.3. Activation d'un mode de mise au point....................... R 6 - 17
6.6.4. Gestion des points d'arrêt .......................................... R 6 - 18
6.6.5. Commandes du mode interactif ................................. R 6 - 18
6.6.6. Exemple..................................................................... R 6 - 20
6.7. Modification et visualisation de l'état courant..........................R 6 - 23
6.8. Gestion automatique des espaces et des piles..........................R 6 - 25
7. Extensions de Prolog avec des langages externes. ........................... R 7 - 1
7.1. Principes des fonctions de communication de données.............
R 7 - 2
7.2. Fonctions de communication de données simples.....................R 7 - 3
7.2.1. Test du type d'un argument.......................................... R 7 - 3
7.2.2. Transfert de données simples de Prolog vers un ....................
autre langage................................................................ R 7 - 4
7.2.3. Transfert de données simples d'un langage externe ...............
vers Prolog .................................................................. R 7 - 6
7.3. Fonctions de communication de termes quelconques................
R 7 - 8
7.3.1. Au moyen de chaînes de caractères.............................. R 7 - 8
7.3.2. Au moyen de structures de tableaux .......................... R 7 - 10
7.3.2.1. Description du codage d'un terme.................
R 7 - 11
7.3.2.2. Identificateurs............................................... R 7 - 14
7.3.2.3. Description des fonctions de communication R 7 - 16
7.4. Principe de la méthode des descripteurs..................................R 7 - 17
7.4.1. Eléments descriptifs................................................... R 7 - 17
7.4.2. Déclaration statique ................................................... R 7 - 18
7.4.3. Déclaration dynamique.............................................. R 7 - 19
7.5. Données partagées ..................................................................R 7 - 20
7.5.1. Exemple de zone commune de données..................... R 7 - 22
7.6. Ajout de fonctions externes.....................................................R 7 - 22
7.6.1. Exemple de déclaration de règle prédéfinie................
R 7 - 24
7.7. Ajout de fonctions externes à appel direct...............................R 7 - 26
7.7.1. Primitive CallC .......................................................... R 7 - 26
7.7.2. Conventions Prolog pour la communication ..........................
des données............................................................... R 7 - 27
7.7.2.1. Convention pour des paramètres sans .......................
valeur de retour ............................................ R 7 - 28
7.7.2.2. Convention pour le retour de la fonction.......
R 7 - 29
©PrologIA
A!ociation
Prolog
HERITAGE
A!ociation
Prolog
HERITAGE
Généralités
7.7.2.3. Convention pour des paramètres avec ........................
valeur de retour.............................................R 7 - 29
7.7.3. Exemple : méthode simple pour appeler une ..........................
fonction C ..................................................................R 7 - 32
8. Lancement d'un but Prolog par un programme C ..........................R 8 - 1
8.1. Principes de base ......................................................................R 8 - 1
8.2. Initialisation et terminaison de Prolog.......................................R 8 - 4
8.3. Empilement d'un but Prolog......................................................R 8 - 6
8.4. Programmation .........................................................................R 8 - 7
8.5. Méthode simple d'appel d'un but Prolog...................................R 8 - 8
8.5.1. Description...................................................................R 8 - 8
8.5.2. Exemple .......................................................................R 8 - 9
8.6 Autres fonctions................
......................................................R 8 - 10
9. Interruptions .....................................................................................R 9 - 1
9.1. Concepts...................................................................................R 9 - 1
9.2. Description des interfaces.........................................................R 9 - 3
9.3. Exemple complet.......................................................................R 9 - 3
10. Extensions Edinburgh....................................................................R 10 - 1
10.1. Syntaxe .................................................................................R 10 - 1
10.1.1. Généralités ................................................................R 10 - 1
10.1.2. Les opérateurs...........................................................R 10 - 2
10.2. Le contrôle ............................................................................R 10 - 3
10.3. Manipulation des règles ........................................................R 10 - 5
10.4. Opérations prédéfinies sur les données.................................R 10 - 6
10.4.1. Les tests de type........................................................R 10 - 6
10.4.2. Les opérations arithmétiques.....................................R 10 - 7
10.4.3. Composition et décomposition d'objets.....................R 10 - 8
10.4.3. Comparaison de termes quelconques......................R 10 - 11
10.5. Les entrées / sorties.............................................................R 10 - 12
10.5.1. Généralités ..............................................................R 10 - 12
10.5.2. Entrées ....................................................................R 10 - 14
10.5.2.2. Prédicats....................................................R 10 - 15
10.5.3. Sorties.....................................................................R 10 - 17
10.6. L'environnement..................................................................R 10 - 19
10.7. Traduction de DCG.............................................................R 10 - 20
vii
©PrologIA
viii
Manuel de Référence
A!ociation
Prolog
HERITAGE
©PrologIA

Lien public mis à jour
Le lien public vers votre chat a été mis à jour.
Caractéristiques clés
- Compilation incrémentale pour une vitesse optimisée.
- Modularité pour l'écriture de gros programmes.
- Ouverture vers d'autres langages (C, etc.).
- Récupération dynamique de mémoire (garbage collector).
- Débogueur de haut niveau intégré.
- Bibliothèque portable d'interface graphique.