Project Oscar |
Previous: Exemple d'utilisation du système
Dans la suite du texte, $HOME indique le répertoire d'accueil de l'utilisateur.
SYNTAX/FNC-2 crée pour ses propres besoins, un certain nombre de répertoires. Il est préférable de regrouper ceux-ci, dans un répertoire de travail particulier. Notre but est de créer le compilateur SIMPROC, pour le langage SIMPROC, aussi, nous décidons d'appeler le répertoire de travail, simproc. C'est à partir de lui que nous lancerons le script d'utilisation du système SYNTAX/FNC-2.
> mkdir $HOME/simproc > cd $HOME/simproc
Afin d'effectuer un certain nombre d'initialisations, nous devons lancer le script FNC2, ce qui nous permettra de :
Après avoir lancé la commande FNC2, nous voyons apparaître le menu ci-dessous.
> FNC2 ---------------------------------------------------------------------------------- To use this shell-script gnu-make and gcc compiler are require. ---------------------------------------------------------------------------------- Main menu (I|V|A|P|D|K|C|F|E|R) I nit : Initialisation of environment variables f2, sx, etc V ariables : Your environment variables A pplication : Name of Application and of Language P refnc2 : mkdir of sub-directories (spec, src, ... etc) D ebmkfnc2 : creation of an X.MKFNC2 based on spec/* K akemkfnc2 : creation of makefiles based on f2aux/* C onstructor : call constructors upon specifications F inal : object (C) generation and compilation E xit : Exit R m : Clean ---------------------------------------------------------------------------------- Sub-Menu replies y es : yes n o : no h elp : help e xit : exit m enu : back to Main Menu ----------------------------------------------------------------------------------
Nous n'utiliserons pas les deux premières options I nit et V ariables. La première (I nit), permet d'initialiser diverses variables d'environnement. Mais nous avons supposé que l'installation avait été faite selon les prescriptions des auteurs, de ce fait les initialisations de variables sont effectuées une fois pour toutes, lors de la phase de connexion. La deuxième option du menu (V ariables), permet de visualiser l'état des variables d'environnement. La troisième option (A pplication) permet de donner un nom au compilateur et au langage. C'est ce que nous faisons ci-dessous.
A ---------------------------------------------------------------------- Name of application : (simproc) and Name of language : (simproc) reply: (n|y|e|m|help) ---------------------------------------------------------------------- y
Nous avons choisi l'option A pplication. Le système nous informe que le nom de l'application (le compilateur) est simproc et que le nom du langage est également simproc (le nom du répertoire courant, sert à générer les noms par défaut). Ceci nous convient et nous répondons y à la question.
A la question suivante (prefnc2 simproc simproc ?), nous répondrons par y, ce qui aura pour effet de créer les fichiers et répertoires, dont nous avons parlé plus haut. Nous voyons alors apparaître un écran ressemblant à ceci :
---------------------------------------------------------------------- prefnc2 simproc simproc ? reply (n|y|l|e|m|help) ---------------------------------------------------------------------- y ----------------------------- Your environment variables sx = chemin complet du répertoire SYNTAX f2 = chemin complet du répertoire FNC-2 MACHINE = solaris F2PATH = .:/chemin pour accés aux bibliothèques FNC-2 LDFLAGS = chemin pour accès à la librairie syntax libsx.a CFLAGS = les options du compilateur PATH = vos chemins ----------------------------- mkdir ... mkdir ... done
les variables << système >> ont été listées pour information (masquées ici pour des raisons de confidentialité). Le système a crée les répertoires nécessaires.
Sur l'écran suivant, deux versions du compilateur sont proposées :
Pour le moment, nous ne nous soucions pas des ces options, mais nous nous réservons le droit d'en bénéficier, c'est pourquoi on choisira l'option 2 ci-dessous.
---------------------------------------------------------- Creation of X_main.c, X_smp.c and X_sact.c files: (n|1|2) 1: without listing-output and main-options 2: with listing-output and main-options ---------------------------------------------------------- 2Le système liste l'ensemble des répertoires et certains fichiers crées automatiquement (comme le fichier simproc.recor), après quoi il nous demande de décrire notre application.
List of your application : /local_home/users/vivien/simproc total 32 drwxr-xr-x 11 vivien vasy 512 Sep 17 09:09 . drwxr-x----- 32 vivien vasy 3072 Sep 17 09:09 .. drwxr-xr-x 3 vivien vasy 512 Sep 17 09:09 bin drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 f2aux drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 incl drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 incl_fnc2 drwxr-xr-x 3 vivien vasy 512 Sep 17 09:09 lib -rw-r---r--- 1 vivien vasy 1410 Sep 17 09:09 makesimproc -rw-r---r--- 1 vivien vasy 41 Sep 17 09:09 simproc.mkfnc2 drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 spec drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 src drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 src_fnc2 drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 tmp List of your source file : /local_home/users/vivien/simproc/src total 30 drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 . drwxr-xr-x 11 vivien vasy 512 Sep 17 09:09 .. -rw-r---r--- 1 vivien vasy 8322 Sep 17 09:09 simproc_main.c -rw-r---r--- 1 vivien vasy 608 Sep 17 09:09 simproc_sact.c -rw-r---r--- 1 vivien vasy 2979 Sep 17 09:09 simproc_smp.c List of your specification file : /local_home/users/vivien/simproc/spec total 10 drwxr-xr-x 2 vivien vasy 512 Sep 17 09:09 . drwxr-xr-x 11 vivien vasy 512 Sep 17 09:09 .. -r-xr-x---x 1 vivien vasy 2216 Sep 17 09:09 simproc.recor ----------------------------- Describe your specifications ----------------------------- -------------------------------------------------- debmkfnc2 ? reply (n|y|e|m|help) --------------------------------------------------
L'écriture des spécifications pouvant prendre beaucoup de temps, il est préférable de quitter le script avant de se rendre dans le répertoire $HOME/simproc/spec, pour y décrire le compilateur. C'est ce que nous faisons ci-dessous en choisissant l'option (e).
-------------------------------------------------- debmkfnc2 ? reply (n|y|e|m|help) -------------------------------------------------- e
Project Oscar |
Previous: Exemple d'utilisation du système
Web page maintained by Didier Parigot