next up previous
Next: Interface opérateur-monde externe Up: Branchement d'un opérateur Previous: Branchement d'un opérateur

Réalisation pratique

La liste du sous-programme PILOT est longue mais on peut en extraire (aujourd'hui 5 mai 1995) ces quelques lignes.

 referen ¯

SUBROUTINE PILOT

.

PARAMETER(NDIR3=49)

PARAMETER(NDIR2=178)

PARAMETER(NDIR1=179,NDIR1P=....,NDIR=NDIR1+NDIR2+NDIR3)

CHARACTER*4 MDIR(NDIR),MDIR1(NDIR1),...,MDIR3(NDIR3)

EQUIVALLENCE (MDIR(1),MDIR1(1)),(MDIR(NDIR1P)=MDIR2(1)),..

DATA MDIR1/'OPTI','FIN ','DUMP',...

.

.

DATA MDIR2/'COPI','DIMN','SAUV',....

.

DATA MDIR3/'NUAG','WEIP','KHIS','.....

*'KPRO','FFOR','RAYE','RAYN','VSUR','TRAJ'/

C l'ecriture compliquée avec plusieurs tableaux en equivallence

C n'est justifiée que par des raisons strictement informatiques

.

.

CALL LIRMO2(MDIR,NDIR,0,I,ICOHCO)

IF (I.NE.0) GO TO 100

.

.

100 LOCERR=MDIR(I)

.

IF(I.LE.100)

.

IF(I.LE.200)

.

IF(I.LE.300)

.

IF(I.LE.400)

.

IF (I.LE.500)

*GOTO (501,502,503,504,505,506),I-400

.

.

506 CALL TRAJEC

GO TO 1

END

Les seules lignes à modifier pour introduire l'opérateur de nom TITI et de sous-programme principal TITISP sont :

 referen C incrémentation de 1 de NDIR3

PARAMETER(NDIR3= 50)

.

C ajout du nom TITI dans la liste des opérateurs

*'KPRO','FFOR','RAYE','RAYN','VSUR','TRAJ' ,'TITI'/

.

C ajout d'un indice dans la liste du goto indicé

*GOTO (501,502,503,504,505,506 ,507),I-400

.

Enfin il faut ajouter juste avant l'instruction END les deux lignes :

 referen ¯ 507  		    CALL TITISP

GO TO 1

END

La seule précaution à prendre est de vérifier que le nom TITI n'est pas déjà le nom d'un opérateur.

Le gestionnaire de commandes fera en sorte que le sous-programme TITISP soit appelé si la commande invoque l'opérateur TITI. Il faut maintenant écrire la chaine de sous-programmes appelée par TITISP.



Socotec
jeu 5 sep 17:32:12 DFT 1996