1. Guide d'installation sous l'environnement Windows. 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
1. Guide d'installation sous l'environnement Windows
1.0. Préambule
1.1. Matériel et logiciel requis
1.2. Contenu du kit d'installation
1.3. Procédure d'installation
1.4. Modification de l'environnement d'exécution
Ce chapitre décrit la procédure d'installation du compilateur Prolog II+ en tant qu'Application dans l'environnement Windows. Il est recommandé de le lire en entier avant de commencer l'installation.
1.0. Préambule
Prolog II+ pour Windows est maintenant une véritable application 32 bits qui fonctionne aussi bien sur Windows NT, Windows 3.1 étendu avec le kit Win32s, et
Windows 95.
Pour les utilisateurs Windows 3, Prolog II+ offre toujours la possibilité d'extensions en C 16 bits, extensions désormais isolées dans une DLL, donc ne nécessitant que le SDK 16 bits classique.
1.1. Matériel et logiciel requis
1.1.1. Pour lancer Prolog
Au minimum un ordinateur PC 386 équipé avec 4 Mo de mémoire, et doté de
Windows version 3.1 augmenté du kit Win32s, sachant que le système standard standard actuel serait plutôt Windows 95 ou Windows NT.
1.1.2. Pour ajouter des extensions (méthode standard, en 32 bits)
Tous les moyens d'extension de Prolog sont utilisables ici. L'outil de développement recommandé est le "MicroSoft Visual C++ version 2.xx". Tout autre SDK compatible est utilisable.
© PrologIA
U 1 - 2
Manuel d'Utilisation Windows
1.1.3. Pour ajouter des extensions en code 16 bits
Cette méthode est destinée aux utilisateurs de Windows 3, la DLL d'extension n'étant pas reconnue par Windows NT et Windows 95. Seule la méthode des parasites décrite en annexe est disponible ici, le code d'extension prenant place dans une DLL chargée automatiquement par Prolog. Pour construire cette DLL, une librairie statique qui inclut les fonctions de communication (get_integer...) est fournie. Elle est compilée avec le "CL version 8.00" du "MicroSoft Visual C++ version 1". Tout autre SDK compatible est utilisable.
Cette DLL a accès à l'ensemble de l'API 16 bits de Windows.
1.1.4. Pour créer des applications et les diffuser
Pour créer des applications et les diffuser, il vous faut commander le kit suivant:
Run Time Prolog II+ sous Windows. Pour Windows 3, vous devrez aussi redistribuer le kit Win32s.
A!ociation
Prolog
HERITAGE
1.2. Contenu du kit d'installation
Note concernant Windows 3
Dans le cas de Windows 3, la première chose à faire est d'installer le kit Win32s fourni. Il est doté de sa procédure d'installation autonome et devra être redistribué tel quel à vos propres clients utilisant Windows 3. Le jeu "FreeCall" fourni avec ce kit vous permettra de vérifier son bon fonctionnement.
Le kit d'installation de Prolog II+ sous Windows consiste en un volume comportant les fichiers suivants:
1.2.1. Fichiers indispensables pour utiliser Prolog
err.txt
Fichier contenant les messages d'erreurs en anglais, et consulté par Prolog lors de l'appel de la règle ms_err si l'option -r n'a pas été utilisée pour en choisir un autre. Pour avoir les messages en français, il faut choisir le fichier
fr_err.txt.
fonts.usr
Fichier de définition des fontes utilisées dans l'environnement graphique par
PrologII+. L'utilisateur peut intervenir sur ce fichier avant le démarrage pour définir les fontes :ft(1), :ft(2)... (utilisées par exemple par le prédicat gr_font).
initial.po
Fichier contenant le code sauvé du superviseur.
© PrologIA
A!ociation
Prolog
HERITAGE
Guide d'installation sous l'environnement Windows
U 1 - 3
prolog.exe
Fichier exécutable de la version de développement de Prolog II+.
1.2.2. Fichiers annexes pour l'utilisation de Prolog
customiz.dl_
DLL contenant des ressources de personnalisation de Prolog II+.
Automatiquement reconnue si renommée en customiz.dll.
dde.mo
Module objet Prolog à charger pour l'écriture d'un applicatif client ou serveur utilisant le protocole DDE.
dessin.m2, dessin.mo
Fichiers source et objet du module de dessin d'arbres.
edinburg.mo
Module objet chargé automatiquement lorsque l'on active la syntaxe
Edinburgh. Contient toutes les règles prédéfinies spécifiques à la syntaxe
Edinburgh. Le chargement de ce module dans une session Prolog en syntaxe
Marseille provoque le passage en mode de compatibilité Edinburgh.
fr_err.txt
Fichier contenant les messages d'erreurs en français.
graphic.mo
Module objet Prolog contenant toutes les primitives graphiques. Fichier à charger pour lancer l'environnement graphique de Prolog.
graphstr.mo
Module objet Prolog utilisé automatiquement par l'environnement graphique en fonction de la configuration choisie au démarrage de Prolog.
obdialog.mo
Module objet Prolog à charger pour utiliser la primitive de gestion d'objets graphiques structurés : gr_dialog. Est automatiquement chargé par le chargement du fichier graphic.mo.
prolog2.pre
Fichier texte contenant la ligne de commande Prolog II+. Si ce fichier existe, les options qui y sont spécifiées remplacent les options par défaut. Ce fichier est d'abord recherché dans le répertoire courant, puis dans le répertoire défini par la variable d'environnement PrologDir2. Il est éditable par n'importe quel processeur de texte.
© PrologIA
U 1 - 4
Manuel d'Utilisation Windows tools
Répertoire d'outils comme:
dbgbase.mo
Module objet à recharger pour avoir des messages d'erreur plus complets concernant les règles prédéfinies de la syntaxe Prolog II.
dbgedin.mo
Module objet à recharger pour avoir des messages d'erreur plus complets concernant les règles prédéfinies de la syntaxe Edinburgh. Peut être chargé directement à la place de edinburg.mo.
dbggraph.mo
Module objet à recharger pour avoir des messages d'erreur plus complets, concernant les règles prédéfinies graphiques. Peut être chargé directement à la place de graphic.mo.
int_edit.mo
Module objet Prolog à recharger (prédicat reload) pour pouvoir utiliser l'éditeur intégré, à la place de l'éditeur externe défini par la variable d'environnement PrologEdit.
A!ociation
Prolog
HERITAGE
1.2.3. Fichiers pour les extensions standards (32 bits)
Tous les fichiers cités ci-dessous, servent à la reconstruction de Prolog II+. Les fichiers objets et la librairie sont indispensables et constituent l'exécutable final :
prolog.exe.
princip.c, princip.obj
Fichiers source et objet contenant le lancement du but principal de Prolog.
proentry.c, proentry.obj
Fichiers source et objet contenant la routine d'entrée standard de Prolog II+
(WinMain). Le fichier proentry.obj peut être remplacé par un programme utilisateur utilisant Prolog comme un sous-programme.
proext.h
Fichier source C, contenant des déclarations de macros et de structures, à inclure dans les modules utilisateur écrits en C.
prolink.bat
Fichier de commandes pour refaire l'édition de liens et reconstruire l'exécutable. Il peut être modifié par l'utilisateur.
© PrologIA
A!ociation
Prolog
HERITAGE
Guide d'installation sous l'environnement Windows
U 1 - 5
prolog.def
Fichier de description de module. Est utilisé lors de l'édition de liens.
L'utilisateur doit y rajouter les noms des Callbacks qu'il désire exporter s'il y a lieu (voir SDK Windows).
prolog.lib
Librairie contenant les fonctions de Prolog.
prolog.res
Fichier compilé des ressources de Prolog.
prouser.c, prouser.obj
Fichiers source et objet de l'interface externe C.
use_win.h
Fichier source à inclure obligatoirement dans les modules utilisateur écrits en
C pour assurer leur compatibilité avec l'environnement fenétré de prolog.
1.2.4. Extensions en code16 bits (réservé Windows 3)
1.2.4.1. Principe des extensions 16 bits
Les extensions 16 bits sont localisées dans une DLL réalisable au moyen du SDK standard de Windows 3, sans modification de l'exécutable 32 bits. Cette DLL est chargée automatiquement dès l'invocation d'une règle d'extension située dans la plage réservée, et déchargée lorsque Prolog se termine. Sa localisation obéit aux règles suivantes:
La DLL doit se trouver au même endroit que l'exécutable 32 bits de Prolog, et son nom doit être le même, sauf le dernier caractère qui est remplacé par un '-',
et l'extension qui est ".DLL".
exemple: à c:\prolog\prolog.exe correspond: c:\prolog\prolo-.dll
Attention: il est possible de lancer plusieurs instances d'une application Prolog, la
DLL d'extensions 16 bits sera alors partagée. Ceci peut entraîner des conflits au niveau des données privées que la DLL maintient.
Lors de l'utilisation des primitives de communication avec Prolog, il est utile de savoir que les pointeurs passés sont convertis mais que les données pointées ne sont pas copiées. L'opération est donc relativement performante.
© PrologIA
U 1 - 6
Manuel d'Utilisation Windows
1.2.4.2. Fichiers pour les extensions 16 bits
usermpty.c
Fichier d'extension vierge, à compléter par vos fonctions, qui peuvent
également figurer dans un source séparé ou des librairies statiques. Ce fichier fournit aussi les fonctions standards d'initialisation et de terminaison de la
DLL, permettant d'y placer éventuellement les votres.
callpro.h
Fichier fournissant les prototypes des primitives de communication, à inclure.
callpros.lib, callprol.lib
Librairie statique fournissant le code de liaison à Prolog, disponible en modèle
Small (callpros) et Large (callprol). L'une des deux versions doit être liée à votre code.
callpro.def
Fichier de définition de module standard pour la DLL, utilisé par l'éditeur de liens. Vous devrez éventuellement en modifier les paramètres et y rajouter vos propres exports. Les ordinaux sont sans importance, les fonctions de connexion étant reconnues par leur nom.
userdll.mak
Exemple de makefile pour la DLL, à adapter.
1.2.4.3. Exemples fournis
Les DLLs d'extensions réalisées en exemple doivent donc être copiées auprès de l'exécutable et renommées pour être reconnues. Une seule est donc utilisable à la fois:
tutorial.c, tutorial.mak, tutorial.p2 -> tutorial.dll
Exemple didactique minimal décrivant les règles essentielles à respecter.
userfunc.c,, userfunc.mak, userfunc.p2 -> userfunc.dll
Exemple conséquent fournissant diverses règles qui exploitent la plupart des primitives de communication.
userxtrn.c, userxtrn.mak, userxtrn.p2 -> userxtrn.dll,
Exemple connectant lui-même une seconde DLL 16 bits, et faisant appel à l'API Windows. Il s'agit de la transposition en 16 bits de l'exemple des objets externes, tel que fourni en 32 bits. Les sources de la DLL chargée sont regroupés dans un sous répertoire.
A!ociation
Prolog
HERITAGE
© PrologIA
A!ociation
Prolog
HERITAGE
Guide d'installation sous l'environnement Windows
U 1 - 7
1.2.5. Fichiers d'exemples
Les exemples se trouvent dans le sous-répertoire examples du Kit Prolog.
Exemples de programmation en prolog commentés en Annexe:
automat.p2
database.p2
deriv.p2
grammar.p2
menu.p2
money.p2
mutant.p2
path.p2
sur les arbres infinis sur l'évaluation d'une formule sur la dérivation formelle sur les grammaires la composition d'un menu un casse-tête les mutants la construction d'un chemin
Autres exemples :
D'autres exemples concernant l'environnement graphique sont donnés, ainsi que des exemples d'ajout de prédicats externes auto-documentés.
1.2.6. Conventions pour les suffixes des fichiers
Pour les fichiers et leur signification les conventions suivantes sont utilisées:
.c
.obj
.d2
Suffixe des fichiers contenant des sources écrits en C.
Suffixe des fichiers contenant des fichiers objet .
.m2
Suffixe des fichiers ne contenant que des définitions de macros
Prolog II+.
Suffixe des fichiers contenant un module source Prolog II+ écrit en syntaxe Prolog II.
.m2E
.mo
.po
.p2
Suffixe des fichiers contenant un module source Prolog II+ écrit en syntaxe Edinburgh.
Suffixe des fichiers contenant le code d'un module Prolog compilé
(attention, ils ne sont pas compatibles avec un éditeur de liens du système, seul Prolog peut les manipuler).
Fichiers de format identique au précédent, mais contenant un état complet (fichiers sauvés avec la commande exit). Seuls ces fichiers peuvent être utilisés comme état initial pour le démarrage d'une session
Prolog.
Suffixe d'un fichier source contenant des règles Prolog II+ écrites en syntaxe Prolog II. Le fichier est chargé avec la commande insert lorsque la syntaxe courante est la syntaxe Prolog II.
© PrologIA
U 1 - 8
Manuel d'Utilisation Windows
.p2E
Suffixe d'un fichier source contenant des règles Prolog II+ écrites en syntaxe Edinburgh. Le fichier est chargé avec la commande consult lorsque la syntaxe courante est la syntaxe Edinburgh.
.pex
Suffixe d'un fichier source contenant des commandes Prolog. Doit
être utilisé par la commande input.
Suffixe de fichiers contenant du texte quelconque.
.txt
Les fichiers livrés dont les noms se terminent par .p2 contiennent les textes sources des programmes donnés en exemple en Annexe.
A!ociation
Prolog
HERITAGE
1.3. Procédure d'installation
Le volume de distribution de Prolog II+ a été confectionné par compression d'une arborescence. Exécuter la commande de chargement indiquée sur la feuille de description accompagnant le kit de distribution après s'être placé dans le répertoire où l'on désire installer les fichiers.
Il est conseillé de créer un répertoire réservé à Prolog, par exemple c:\prolog, dans lequel seront installés les fichiers du kit. Il faut alors définir la variable d'environnement qui est utilisée par Prolog pour accéder à ces fichiers (voir § 1.4 ).
1.4. Modification de l'environnement d'exécution
Pour une meilleure utilisation de Prolog, les variables suivantes doivent être définies dans votre environnement d'exécution:
PrologDir2
Chemin utilisé par Prolog si les fichiers suivants ne sont pas définis dans le répertoire courant: initial.po, edinburg.mo, err.txt. La variable concaténée au nom du fichier doit donner son chemin complet.
PrologEdit
Nom de votre fichier de commande qui lancera l'éditeur de textes devant être utilisé par Prolog (prédicats edit, editm) lors de l'édition avec un éditeur de la machine hôte.
La commande suivante doit pouvoir être comprise par l'interpréteur de commandes:
%PrologEdit% nom-de-fichier
Il n'y a pas de valeur par défaut pour cette variable.
Note: Sous Windows3, votre fichier de commande devra en plus, à la fin, créer un fichier de nom file.end dans un répertoire défini par la variable d'environnement de nom TEMP, ceci afin d'indiquer la terminaison de l'édition. Si vous désirez par exemple utiliser l'éditeur edlin du DOS, vous devez construire un fichier de commande (myedit.bat) ayant la forme:
© PrologIA
A!ociation
Prolog
HERITAGE
Guide d'installation sous l'environnement Windows
U 1 - 9 rem begin edlin %1 echo >> file.end
rem end
Si vous désirez par contre utiliser l'éditeur intégré plutôt qu'un éditeur externe, vous devez exécuter le prédicat suivant:
> reload("int_edit.mo");
© PrologIA
U 1 - 10
Manuel d'Utilisation Windows
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.