NMPROC: VAL " C" < NOM DU PROCESSEUR. IDP "SEMANTIQUE C - RELEASE 01/06/1979" IDP "JOHN F. COLONNA" EOT #SIP DEF PROCESSEUR# PROG WORD SEMANT < ADRESSE DE LANCEMENT. WORD 0 PSEM: EQU $ < A NOTER : P='12 !!!! LRP L BR -2,L < ENTREE DANS LE PROCESSEUR. EOT #SIP DEFINITION ITEM# < < < C O N S T A N T E S D U D I C T I O N N A I R E : < < NCATG: VAL 32 < NBRE MAX DE CATEGORIES < GRAMMATICALES. LMOT: VAL 40 < NBRE MAX DE CARACTERES D'UN MOT. NCATG4: VAL NCATG+3/4 < NBRE D'OCTETS NECESSAIRES < AUX CATEGORIES GRAMMATICALES. NSEM: VAL 4 < NBRE D'OCTETS DE VALEUR < SEMANTIQUE DU MOT. < < < C O N S T A N T E S L E X I C O G R A P H I Q U E S : < < LPHR: VAL 112 < NBRE DE CARACTERES MAX < D'UNE PHRASE. < (=LBUFESC DANS DCTESC...) < < < F O R M A T D E S C R I P T E U R M O T : < < DESCI: VAL 0 < INDEX DU 1ER CARACTERE DU MOT ; < DESCI=-1 EN FIN DE PHRASE. DESCL: VAL 1 < LONGUEUR OCTETS DU MOT. < DESCL=NBRE DE MOTS DE LA < PHRASE EN FIN DE PHRASE. DESCD: VAL 2 < NOM DU DICTIONNAIRE D'APPARTE- < NANCE ; DESCL=0 SI LE MOT < EST INCONNU. DESCS: VAL 3 < OCTET1=SEPARATEUR PRECEDANT , < OCTET0=INDICATEUR EVENTUEL DE < DE DEBUT DE GROUPE. DESCF: VAL 4 < OCTET1=CATEGORIE GRAMMATICALE < DANS SON CONTEXTE ; < OCTET0=NIVEAU DE RECURSIVITE MOT. DESCV: VAL 5 < VALEUR SEMANTIQUE DU MOT. DESCC: VAL NSEM+1/2+DESCV < CATEGORIES GRAMMATICALES DU MOT. LDESC: VAL NCATG4+3/4+DESCC < LONGUEUR D'UN DESCRIPTEUR MOT. < < < D E S C R I P T E U R < P R O P O S I T I O N R E L A T I V E : < < < FORMAT : < <SUJET>(<OPERATEUR>(<OBJET>)). < < SUJET: VAL 0 < SUJET> DE LA PROPOSITION. OPERA: VAL 2 < <OPERATEUR> DE LA PROPOSITION. OBJET: VAL 4 < <OBJET> DE LA PROPOSITION. LREL: VAL 10 < LONGUEUR DU DESCRIPTEUR. < < < C A T E G O R I E S L E X I C A L E S : < < SEP1: VAL 4 < SEPARATEUR DU TYPE 'SPACE'. SEP2: VAL 3 < SEPARATEURS : ',',';',.... SEP3: VAL 2 < SEPARATEUR TYPE 'APOSTROPHE'. SEP4: VAL 1 < SEPARATEUR TYPE 'PARENTHESE'. FINF: VAL 0 < FIN DE PHRASE : 'EOT'/R-C. CAR: VAL 8 < FRONTIERE ENTRE LES CARACTERES A < VALEUR 'LETTRES' ET LES CARACTERES < A VALEUR 'SEPARATEURS'. LETR: VAL 8 < CARACTERES DE 'A' A 'Z'. CHIF: VAL 9 < CARACTERES DE '0' A '9'. CARS: VAL 'A < CARACTERES SPECIAUX : '-','+',.... IGNOR: VAL 'B < CARACTERES NON RECONNUS. < < < C A T E G O R I E S G R A M M A T I C A L E S : < < NOM: VAL 1 < NOM. VERBE: VAL 2 < VERBE. ADJECT: VAL 3 < ADJECTIF. ADVERB: VAL 4 < ADVERBE. PROPER: VAL 5 < PRONOM PERSONNEL. PRODEM: VAL 6 < PRONOM DEMONSTRATIF. INTERJ: VAL 7 < INTERJECTION , 'OUI' , 'NON'. PREPOS: VAL 8 < PREPOSITION. CONJ: VAL 9 < CONJONCTION. ARTICL: VAL 10 < ARTICLE. PROREL: VAL 11 < PRONOM RELATIF. < < < G R O U P E S S Y N T A G M A T I Q U E S : < < PHRASE: VAL NCATG+1 < PHRASE. TGV: VAL NCATG+2 < GROUPE VERBAL. TGN: VAL NCATG+3 < GROUPE NOMINAL. TREL: VAL NCATG+4 < PROPOSITION RELATIVE. TINT: VAL NCATG+5 < INTERJECTION. TCONJ: VAL NCATG+6 < CONJONCTION DE COORDINATION. < < < V A L E U R S S E M A N T I Q U E S : < < < FONCTION : < CETTE LISTE DONNE LES VALEURS < POSSIBLES DE L'OCTET0 DU DESCV < D'UN MOT. < < TGI: VAL "!" < VALEUR SEMANTIQUE D'APPEL 'GI'. TGR: VAL "&" < VALEUR SEMANTIQUE GRAPHIQUE. PAGE < < < M E M O I R E L I B R E : < < FREE: VAL '1000 < ADRESSE DU 1ER MOT LIBRE < DES 2 DERNIERS K DE LA MEMOIRE. < < < L O C A L : < < LOCAL LOC: EQU $ < < M E S S A G E S : < MOVL: BYTE 10;'6D ASCI "OVERFLOW! " MINIT: BYTE 16;'6D ASCI "INITIALISATION? " MNUM: BYTE 8;'6D ASCI "NUMERO= " BUFFER: WORD 0 < BUFFER D'ENTREE DES REPONSES , < ET DU NUMERO DE PHRASE ('SE'). < < R E L A I S D E T A B L E S : < < PHRASE A ANALYSER : < PHR: VAL FREE < PHRASE A ANALYSER. APHR: WORD PHR+'8000 < RELAI INDEXE VERS LA PHRASE. FREE: VAL LPHR/2+FREE+1 < < ZONE DES ARGUMENTS : < LDUM: VAL 32 < LONGUEUR DE LA ZONE ARGUMENTS. DUMY: VAL FREE < ZONE DE TRANSMISSION ARGUMENTS < ENTRE SYNTAXE ET SEMANTIQUE. PROP1: VAL 0 < NUMERO DU MOT CONTENANT L'ADRESSE < REELLE DE LA ZONE 'PROPOS'. PROPP: VAL 1 < NUMERO DU MOT CONTENANT LA < L'ADRESSE DE LA LISTE DES < PROPOSITIONS DE LA PHRASE. NPROP: VAL 2 < NBRE DE PROPOSITIONS RECONNUES. CONDRT: VAL 3 < CONDITIONS DE RETOUR DE L'ANALYSE < SYNTAXIQUE. FREE: VAL FREE+LDUM ADUMY: WORD DUMY+'8000 < RELAI INDEXE VERS LA ZONE DUMY. < < ZONE DES DESCRIPTEURS DE PROPOSITIONS : < DPHR: VAL FREE < ZONE DES DESCRIPTEURS LEXICO- < GRAPHIQUES DES MOTS DE LA PHRASE. FREE: VAL LDESC*LPHR/2+FREE ADPHR: WORD DPHR < ADRESSE DU 1ER DESCRIPTEUR. PROPOS: VAL FREE < ZONE DES DESCRIPTEURS DES < PROPOSITIONS , MAIS < A T T E N T I O N : CETTE ZONE < EST EN FAIT EN RECOUVREMENT < AVEC LA ZONE :DPHR'. FREE: VAL LPHR/2+FREE APROPO: WORD PROPOS < ADRESSE DU 1ER DESCRIPTEUR < DE PROPOSITIONS. APR: WORD PROPOS < ADRESSE COURANTE DES DESCRIPTEURS < DE PROPOSITIONS. < < RELAIS COURANTS : < AI2H: WORD ZERO+PILE-LTNI-LTNI < @EN-TETE DE L'ITEM2. AI2: WORD ZERO+PILE-LTNI-LTNI+LTN,X < RELAI INDEX CORPS(ITEM2). AI1: WORD ZERO+PILE-LTNI+LTN,X < RELAI VERS LE CORPS DE L'ITEM1. ABIBS: WORD BIBS,X < RELAI D'ACCES VERS LE NOM DE < LA BIBLIOTHEQUE SEMANTIQUE < GRAPHIQUE. < < D E M A N D E S A C M S 4 : < DEMOUT: WORD '0202 < SORTIE MESSAGE. WORD 0 < @OCTET DU MESSAGE. WORD 0 < LONGUEUR-OCTET DU MESSAGE. DEMIN: WORD '0101 < ENTREE AVEC ECHO SUR NSPIN. WORD BUFFER-ZERO*2 WORD 1 < 1 CARACTERE. DEMIT: WORD '0602 < CHARGEMENT DES PAGES DU < DICTIONNAIRE DANS L'ITEM2. WORD PILE-LTNI-LTNI*2 WORD 2*LTNI WORD -1 DEMSGN: WORD '0402 < CHARGEMENT DES OVERLAYS , < INITIALISEE EN GENERATION < DE LA BRANCHE SEMANTIQUE. WORD BRANCH-ZERO*2 WORD ZERO-BRANCH+PILE-LTNI-LTNI*2 WORD -1 DEMCCI: WORD '0001 < APPEL DU CCI. DEMMEM: WORD '0004 < DEMANDE D'ALLOCATION MEMOIRE. WORD 0 WORD '2000 < DEMANDE DE RETOUR A 4K MOTS. < < P I L E S D E T R A V A I L : < APILES: WORD PILE < PILE DE SODOME. PILE: VAL FREE+1 APILE: WORD PILE-1 < PILE DE TRAVAIL DE L'ANALYSE. < < A D R E S S E S D E S R O U T I N E S : < APRINT: WORD PRINT < EMISSION DES MESSAGES. AOVL: WORD OVL < CHARGEMENT DES OVERLAYS. AINIT: WORD INIT < INITIALISATION DE L'ITEM1. AGEN1: WORD ST1 < GENERATION DE L'ITEM SEMANTIQUE < DANS ITEM1. ATEST1: WORD TEST1 < COMPARAISON DE LHITEM1 < (ITEM SEMANTIQUE) AVEC LA < PHRASE QUE L'ON ANALYSE. AST1: WORD 0 < @ST1 POUR LES APPELS PAR < 'GE' ET 'SE' ,ET < ET @TEST1 POUR LES APPELS < PAR 'EI' / 'GO'. AST2: WORD ST2 < STORE CARACTERE DANS ITEM2. AE10: WORD E10 < SORTIE EN ERREUR POUR NON < COINCIDENCE DE LA PHRASE < ANALYSEE ET DE L'ITEM1. < < C O N S T A N T E S : < X1: WORD 0 < INDEX COURANT DE L'ITEM1. X2: WORD 0 < RELAI COURANT DE L'ITEM2. NCP: WORD NBCAR*NBLIG < NBRE DE CARACTERES PAR PAGE. NMP: WORD NBCAR*NBLIG/2 < NBRE DE MOTS/PAGE. BIBS: ASCI " ;SBIB$ " < NOM DE LA BIBLIOTHEQUE SEMANTIQUE LBIBS: VAL 8 < NBRE DE CARACTERES DE BIBS. SPACE: ASCI " " NCALL: WORD $+1,X;"GE" < MODCAL=0. ASCI "EI" < MODCAL=1. NGE: ASCI "GE" < NOM DE L'OVERLAY 'GE'. < ET MODCAL=2 !!! NGI: ASCI "GI" < NOM DE L'OVERLAY 'GI'. NDIC: ASCI ": 3" < NOM DE LA PGE DES MOTS USUELS. BYTE '40;"0" BYTE '04;"T" ATYP: WORD $+1,X < TYPE A DONNER A ITEM1 , < EN FONCTION DE MODCAL. BYTE "T";0;"R";0 PAGE < < < E M I S S I O N D ' U N M E S S A G E : < < < ARGUMENT : < A=@MOT D'UN MESSAGE A EMETTRE , DONT < LE 1ER OCTET EN CONTIENT LA LONGUEUR. < < PROG PRINT: EQU $ PSR C < SAVE LA LBSE C. LR A,C < C=@MOT DU MESSAGE. ADR A,A ADRI 1,A < A=@OCTET DU MESSAGE. STA DEMOUT+1 < QUE L'ON MET DANS DEMOUT. LBY 0,C < A=LONGUEUR DU MESSAGE. STA DEMOUT+2 < QUE L'ON MET DANS DEMOUT. LAD DEMOUT SVC 0 < EMISSION DU MESSAGE. PLR C < RESTAURE LA BASE C. RSR PAGE < < < I N I T I A L I S A T I O N I T E M 1 : < < INIT: EQU $ LX NMP < X=NBRE DE MOTS DE L'ITEM1. DC AI1 < POUR UNE INDEXATION /A 1. LA SPACE < A='SPACE''SPACE'. E100: EQU $ STA &AI1 < REMISE DE L'ITEM1 A 'SPACE'. JDX E100 IC AI1 < RESTAURATION DE AI1. RSR PAGE < < < C O M P A R A I S O N I T E M 1 < E T P H R A S E A N A L Y S E E : < < < ARGUMENT : < A=OCTET SEMANTIQUE COURANTE < DE LA PHRASE ANALYSEE , < < < RESULTAT : < X<--(X)+1 , < ET RETOUR EN SEQUENCE SI L'OCTET < ARGUMENT COINCIDE AVEC L'OCTET < COURANT DE L'ITEM1 ; SINON , ON < FAIT PROGRESSER 'CDRET' JUSQU'A < CONCURENCE DE 'DPH' , ET ALORS IL < Y A SORTIE DE ' C'. < < PPH: VAL 0 < NUMERO DU MOT DE L'ITEM1 CON- < TENANT L'INDEX DU 1ER CARACTERE < DE LA PHRASE 0. DPH: VAL 7 < IDEM POUR LA DERNIERE PHRASE. < < TEST1: EQU $ PSR X LX X1 < X=INDEX COURANT DE L'ITEM1. IC X1 < PROGRESSION DE L'INDEX ITEM1. ANDI 'FF < A=OCTET SEMANTIQUE ARGUMENT. CPBY &AI1 < L'OCTET SEMANTIQUE COURANT < COINCIDE-T'IL AVEC L'OCTET < COURANT DE L'ITEM1 'R' ???? PLR X JNE E201 < NON , RETOUR EN ERREUR. RSR < OUI , RETOUR EN SEQUENCE. < < CAS OU LA PHRASE ANALYSEE NE COINCIDE < PAS SEMANTIQUEMENT PARLANT AVEC L'ITEM1 : < E201: EQU $ ADRI -1,K < RATTRAPAGE DU RSR. LAI BRANCH-ZERO LR A,W < W=@BRANCH. E202: EQU $ < ENTRY POUR SYNTAXE INCORRECTE. IC CDRET,W < PROGRESSION DE CDRET. LA CDRET,W < RECUPERATION DU CDRET POUR < VALIDATION. CPI DPH < ESTON SUR LA DERNIERE PHRASE ??? JNE E311 < NON , ON CONTINUE ... BR AE10 < ET OUI , RETOUR AVEC CDRET=7 !!! < < PASSAGE A LA PHRASE SUIVANTE : < E311: EQU $ LR A,X < X=CDRET COURANT. < < I N I T I A L I S A T I O N ' C ' S O U S ' E I ' : < E312: EQU $ LA &AI1 < ACCES A L'INDEX DE LA PHRASE < DE NUMERO (X). JAL E202 < PHRASE INEXISTANTE : PASSAGE < A LA SUIVANTE. STA X1 < OK , SI ELLE EXISTE , SON INDEX < DE 1ER CARACTERE DEVIENT < L'INDEX COURANT DE L'ITEM1. LB ATEST1 < A PRIORI , ON RESTAURE @TEST1. JMP E200 < VERS LA RECONNAISSANCE < SEMANTIQUE. PAGE < < < S T O R E D A N S L ' I T E M 1 & < S T O R E D A N S L ' I T E M 2 : < < < ARGUMENT : < A=CARACTERE A STORER DANS L'ITEM1(X)/ITEM2(X). < < < RESULTAT : < X<--(X)+1. < < ST1: EQU $ < STORE DANS L'ITEM1. PSR X LX X1 < X=INDEX COURANT DE L'ITEM1. STBY &AI1 < STORE DANS L'ITEM1. IC X1 < PROGRESSION DE L'INDEX ITEM1. E102: EQU $ < < VALIDATION DE L'INDEX ITEM1/ITEM2 : < LR X,A < A=INDEX UTILISE POUR ITEM1/ITEM2. CP NCP < VALIDATION. JL E360 < OK. ADRI -2,K < RATTRAPAGE DU PSR X ET DU RSR. LAD MOVL BSR APRINT < ENVOI D'UN MESSAGE D'ERREUR. BR AE10 < VERS LA SORTIE .... E360: EQU $ PLR X RSR ST2: EQU $ < STORE DANS L'ITEM2. PSR X LX X2 < X=INDEX COURANT DE L'ITEM2. STBY &AI2 < STORE DANS L'ITEM2. IC X2 < PROGRESSION INDEX ITEM2. JMP E102 < VERS LA SORTIE. PAGE < < < E N T R Y S E M A N T I Q U E : < < < RESULTAT DE LA PASSE SEMANTIQUE : < 1- APPEL PAR 'GE' : ITEM1 CONTIENT LES CHAINES < SEMANTIQUES '&' , ET ITEM2 LES < CHAINES '!' , < 2- APPEL PAR 'EI'/'GO' : NE FAIT QUE POSITIONNER < CDRET EN FONCTION DE < COMPRAISON DE LA VALEUR < SEMANTIQUE DE LA PHRASE < LUE PRECEDEMMENT , ET < DE CELLES QUI SONT STOCKEES < DANS L'ITEM1 , < 3- APPEL PAR 'SE' : CONSTRUIT DANS L'ITEM1 < UNE LISTE DE PHRASES ; A CHAQUE < APPEL DE TYPE MISE A JOUR , < ON RAJOUTE LA VALEUR SEMANTIQUE < DE LA PHRASE PRECEDENTE A < LA LISTE PRE-EXISTANTE , < ET DONT LE FORMAT EST DONNE < EN 'E301'. < < WORD LOC+'80 < VALEUR INITIALE DE LA BASE L. WORD BRANCH < VALEUR INITIALE DE LA BASE W. SEMANT: EQU $ LRP K ADRI -1,K PLR L,W < INITIALISATION DES BASES L & W. LA APILE LR A,K < INITIALISATION DE K SUR LA < PILE DE L'ANALYSE. LAI 6 STBY DEMSGN < DEMSGN EST MISE EN MODE DE < CHARGEMENT SOUS :SYS. LX MODCAL,W < X=NATURE DE L'APPEL. LA &NCALL < A=BRANCHE DE RETOUR. STA 0,W < LE NOM DE LA BRANCHE SUIVANTE < EST FONCTION DE MODCAL. STZ CDRET,W < CDRET=0 A PRIORI. < < RECUPERATION DES ARGUMENTS TRANSMIS < PAR L'ANALYSE SYNTAXIQUE : < LXI CONDRT CPZ &ADUMY < COMMENT CELA S'EST-IL PASSE ??? JE E310 < BIEN , ON PEUT Y ALLER ... < < CAS DES SYNTAXES INCORRECTES : < LAI DPH STA CDRET,W < DPH DEVIENT LE CDRET. BR AE10 < VERS LA SORTIE .... < < CAS D'UNE SYNTAXE CORRECTE : < E310: EQU $ LXI PROP1 LA &ADUMY < RECUPERATION DE L'ADRESSE DU < 1ER DESCRIPTEUR DE PROPOSITION. STA APROPO STA APR < < D I S C R I M I N A T I O N D E S A P P E L S : < LA MODCAL,W < A=NATURE DE L'APPEL. CPI 1 < EST-CE UN APPEL PAR 'EI'/'GO' ???? LXI PPH < TEST SEMANTIQUE A PRIORI : < X=NUMERO DE LA 1ERE PHRASE. JE E312 < VERS L'INITIALISATION DE ' C' < SOUS 'EI'/'GO'. CPI 2 < EST-CE UN APPEL PAR 'SE' ??? JNE E300 < NON ('GE'). < < A P P E L P A R ' S E ' : < < FONCTION : < ON VA GENERER UN ITEM (ITEM1) , < DE TYPE 'R' . SON FORMAT EST LE < SUIVANT : < MOT0=INDEX DU 1ER CARACTERE DE LA 1ERE PHRASE , < (...) < MOT7=INDEX DU 1ER CARACTERE DE LA 7EME PHRASE , < MOT8=INDEX COURANT DE L'ITEM , < MOTS SUIVANTS=CHAINES SEMANTIQUES FORMANT < LE SENS DES PHRASES. < E301: EQU $ LAD MINIT BSR APRINT < ENVOI D'UN MESSAGE. LAD DEMIN SVC 0 < LECTURE DE LA REPONSE. LBY BUFFER < A=REPONSE SUR 1 CARACTERE. CPI "O" < S'AGIT-IL D'UNE INITIALISATION ??? JE E302 < OUI , INITIALISATION DE L'ITEM1. CPI "N" < EST-CE LA MISE A JOUR DE ITEM1 ??? JNE E301 < NON , ON REPOSE LA QUESTION. < < CAS D'UNE MISE A JOUR DE L'ITEM1 : < LXI DPH+1 LA &AI1 < RECUPERATION DE L'INDEX COURANT STA X1 < QUI DEVIENT L'INDEX COURANT < DE L'ITEM1. E303: EQU $ LAD MNUM BSR APRINT LAD DEMIN SVC 0 < ENTREE DU NUMERO DE LA PHRASE < QUE L'ON DESIRE INSERER. LBY BUFFER < A=NUMERO ASCI PRESUME. ADRI -'30,A < CONVERSION BINAIRE. JAL E303 < NUMERO ERRONE. CPI DPH < VALIDATION SUPERIEURE ??? JGE E303 < ERREUR , ON RECOMMENCE. LR A,X < OK , X=NUMERO DE 0 A DPH-1. LA X1 < RECUPERATION DE L'INDEX COURANT < DE L'ITEM1 QUI DEVIENT L'INDEX DU < 1ER CARACTERE DE LA PHRASE < DE NUMERO (X). STA &AI1 < ET SAVE CET INDEX 1ER CARACTERE. LB AGEN1 < AFIN DE FAIRE UNE GENERATION < DE L'ITEM SEMANTIQUE ITEM1. JMP E370 < VERS LA GENERATION DE LA CHAINE < SEMANTIQUE DE LA PHRASE (X). < < CAS DE L'INITIALISATION DE L'ITEM1 : < E302: EQU $ BSR AINIT < INITIALISATION DE L'ITEM1. LAI -1 < AFIN DE METTRE LES INDEX DE 1)R < CARACTERE DE CHAQUE PHRASE A -1. LXI DPH E305: EQU $ STA &AI1 < INITIALISATION DES INDEX < DES PHRASES DE DPH A 1. JDX E305 STA &AI1 < CAS DE LA PHRASE PPH (0). LXI DPH+1 LAI DPH+1*2+2 STA &AI1 < INITIALISATION DE L'INDEX DU < 1ER CARACTERE LIBRE DE ITEM1. STA X1 < INITIALISATION DE L'INDEX < COURANT DE L'ITEM1. JMP E303 < VERS LA DEMANDE DU NUMERO DE < DE LA PHRASE COURANTE. < < A P P E L P A R ' G E ' : < E300: EQU $ LB AGEN1 < ON VA FAIRE UNE GENERATION DE < L'ITEM SEMANTIQUE ITEM1. BSR AINIT < INITIALISATION DE L'ITEM1. < < A P P E L P A R ' S E ' : < E370: EQU $ < CAS DES APPELS PAR 'SE'. < < MISE EN PLACE DU TYPE DE L'ITEM1 : < LX MODCAL,W < X=NATURE DE L'APPEL. LBY &ATYP < A=TYPE A DONNER A ITEM1. LXI IINDIC-LTN*2 STBY &AI1 E200: EQU $ STB AST1 < MISE EN PLACE DE LA ROUTINE < DE GENERATION OU DE TEST DE ITEM1 < < MISE EN PLACE DE L'APPEL DE LA BIBLIOTHEQUE SEMANTIQUE : < LXI LBIBS-1 E101: EQU $ LBY &ABIBS < RECUPEARTION DU NOM DE LA < BIBLIOTHEQUE SEMANTIQUE. BSR AST1 < QUE L'ON TRANSFERE EN TETE < DE L'ITEM1. JDX E101 < < < A N A L Y S E S E M A N T I Q U E : < < SEMAN: EQU $ LXI PROPP LY &ADUMY < Y=@@1ER DESCRIPTEUR DE < PROPOSITIONS. LXI 0 < INITIALISATION DE L'INDEX ITEM2. < < BOUCLE DE RECUPERATION DES PROPOSITIONS : < E20: EQU $ LR Y,W < W=@@DESCRIPTEUR PROPOSITION < COURANTE. LA 0,W < A=@DESCRIPTEUR PROPOSITION < COURANTE. JAL E21 < ET BIEN NON , FIN DE PHRASE ... LR A,W < W=@NIVEAU DE RECURSIVITE DE < LA PROPOSITION COURANTE. LA 0,W < A=NIVEAU DE RECURSIVITE. CPI 1 JG E22 < SEULES SONT PRISES EN COMPTE < LES PROPOSITIONS DE NIVEAU 0 & 1. < < BOUCLE DE PARCOURS D'UNE PROPOSITION : < E25: EQU $ ADRI 1,W < PASSAGE MOT SUIVANT. LA 0,W < A=@DESCRIPTEUR DU MOT COURANT < DE LA PROPOSITION COURANTE. JAE E22 < ET NON , FIN DE PROPOSITION ... LR A,C < SI OUI : C=@DESCRIPTEUR DU MOT < COURANT. CPZ DESCD,C < EST-CE UN MOT CONNU ??? JNE E23 < OUI. < < CAS DES MOTS INCONNUS : ON LES TRANSFERE DANS L'ITEM2 < AVEC UN ';' EN QUEUE (CF. 'EOT' DE 'GI'). < IC DESCD,C < ON MET DESCD A 1 AFIN QUE LE < MOT SOIT CONSIDERE COMME CONNU < A PARTIR DE MAINTENANT. PSR Y < SAVE Y. LY DESCI,C < Y=INDEX INITIAL DU MOT INCONNU. LB DESCL,C < B=LONGUEUR DU MOT INCONNU. E24: EQU $ XR X,Y LBY &APHR < RECUPERATION D'UN CRACTERE < DU MOT. ADRI 1,X < PROGRESSION INDEX MOT. XR X,Y < RETABLISSEMENT DES INDEX. BSR AST2 < ET RANGEMENT DANS L'ITEM2. ADRI -1,B < DECOMPTE DES CARACTERES. CPZR B < EST-CE FINI ??? JNE E24 < NON , ON CONTINUE. LAI ";" < SI C'EST FINI , ON RAJOUTE UN BSR AST2 < ';' EN FIN DU MOT INCONNU. PLR Y < RESTAURE Y. JMP E25 < VERS LE PASSAGE AU MOT SUIVANT. < < CAS DES MOTS CONNUS : < E23: EQU $ LBY DESCV,C < RECUPERATION OCTET0 DE LA < VALEUR SEMANTIQUE. CPI TGI < EST-CE UN APPEL 'GI' ??? JE CGI < OUI. CPI TGR < EST-CE UN APPEL 'GRAPHIQUE' ??? JE CGR < OUI. JMP E25 < SI LA VALEUR N'EST PAS RECONNUE , < ON L'IGNORE ET ON PASSE AU MOT < SUIVANT. < < A P P E L ' G I ' : < CGI: EQU $ LA DESCV,C < ACCES OCTET1 DE LA VALEUR. ANDI 'FF < ACCES A L'OCTET1 DE LA < VALEUR SEMANTIQUE. CPI " " < EST-CE 'SPACE' ??? JE E25 < OUI , PASSAGE AU MOT SUIVANT. BSR AST2 < SINON , ON RANGE L'OCTET1 DE LA < VALEUR SEMANTIQUE DANS L'ITEM2. LBY DESCV+1,C < ACCES A L'OCTET2 DE LA VALEUR. CPI " " < EST-CE 'SPACE' ??? JE E25 < OUI , ON PASSE AU MOT SUIVANT. BSR AST2 < NON , ON RANGE L'OCTET2 DANS < L'ITEM2. JMP E25 < PUIS , ON PASSE AU MOT SUIVANT. < < A P P E L ' G R A P H I Q U E ' : < CGR: EQU $ BSR AST1 < L'OCTET0 DE LA VALEUR EST < RANGE DANS L'ITEM1. LA DESCV,C BSR AST1 < ENVOI DE L'OCTET1 DANS ITEM1. LBY DESCV+1,C BSR AST1 < ENVOI DE L'OCTET2 DANS ITEM1. LA DESCV+1,C BSR AST1 < ENVOI DE L'OCTET3 DANS ITEM1. LAI ";" BSR AST1 < ENVOI D'UN ';' A PRIORI AU < BOUT DE LA VALEUR SEMANTIQUE < (POUR FIN DE NOM DE S OUS- < -PROGRAMMAE GRAPHIQUE , OU < COMME ELEMENT NEUTRE). JMP E25 < PUIS ACCES AU MOT SUIVANT. < < FIN D'UNE PROPOSITION : < E22: EQU $ ADRI LREL,Y < PASSAGE PROPOSITION SUIVANTE. JMP E20 < (SI ELLE EXISTE!!!). < < FIN DE PHRASE : < E21: EQU $ LAI "F" BSR AST1 < MISE D'UN 'F' EN FIN DE L'ITEM1 ... LAI BRANCH-ZERO LR A,W < W=@BRANCH (PAR PRUDENCE). LA MODCAL,W < A=NATURE DE L'APPEL DE ' C'. CPI 1 < EST-CE UN APPEL PAR 'EI'/'GO' ??? JE E10 < OUI , RIEN A FAIRE .... < (MEME PAS D'APPEL DE 'GI'!!!) CPI 2 < EST-CE UN APPEL PAR 'SE' ??? JE E26 < OUI , VERS LA MISE A JOUR DE < LA LONGUEUR DE ITEM1. CPZ X2 < A-T'ON TRANSFERE QUELQUE CHOSE < DANS L'ITEM2 ???? JE E380 < VERS LA MISE EN PLACE DE LA < LONGUEUR DE L'ITEM1. < < A P P E L D E ' G I ' S O U S ' G E ' : < LBI LNOM < ON VA METTRE UNE SUCCESSION < DE 'GE ' AU BOUT DES ARGUMENTS < DE 'GI' AU CAS OU CEUX-CI < SERAIENT ERRONES OU DECALES .. E30: EQU $ LBY NGE BSR AST2 < MISE EN PLACE DE 'GE' AU BOUT < DES ARGUMENTS DE 'GI'. LA NGE ANDI 'FF BSR AST2 < SUITE ... LAI " " BSR AST2 < MISE D'UN 'SPACE' DERRIERE < LE NOM 'GE'. < (AFIN QUE 'GE' NE COMMENCE PAS < TOUJOURS A UNE FRONTIERE DE MOT). ADRI -1,B < DECOMPTE DES 'GE '. CPZR B < EST-CE FINI ??? JNE E30 < NON , ON CONTINUE ... < < RAZ DE L'EN-TETE DE L'ITEM2 ET MISE < EN PLACE D'UN TYPE 'T' POUR 'GI' : < LXI -LTN RZ2: EQU $ STZ &AI2 < RAZ DE L'EN-TETE ITEM2. JIX RZ2 LXI IINDIC-LTN*2 LAI "T" STBY &AI2 < LE TYPE 'T' EST RENDU NECESSAIRE < DANS L'EN-TETE ITEM2 CAR < 'GI' FAIT CETTE VERIFICATION ... < < MISE EN PLACE DU NOM DE 'GI' : < LA NGI < NOM DE LA BRANCHE 'GI'. STA 0,W < ON VA APPELER 'GI' ET NON < PAS 'GE' .... E380: EQU $ LB NCP < B=LONGUEUR MAX D'UN ITEM A PRIORI JMP E203 < VERS LA SORTIE. < < C A S D E S A P P E L S S O U S ' S E ' : < E26: EQU $ LB X1 < SINON , C'EST UN TYPE 'R' , < L'INDEX COURANT DE L'ITEM1 EN < DONNE LA LONGUEUR. LXI DPH+1 STB &AI1 < SAUVEGARDE DE L'INDEX COURANT < DE L'ITEM1 EN VUE D'UNE < EVENTUELLE MISE A JOUR. E203: EQU $ LXI LRITEM-LTN STB &AI1 < STORE LONGUEUR DE L'ITEM1. < < < P A S S A G E A L ' O V E R L A Y S U I V A N T : < < E10: EQU $ STZ MODCAL,W < RAZ NATURE DE L'APPEL. LA APILES LR A,K < LE REGISTRE K REVIENT SUR < LA PILE DE SODOME. LAD DEMMEM SVC 0 < RETOUR A UNE MEMOIRE DE 4K. < < PASSAGE A L'OVERLAY SUIVANT : < E11: EQU $ LAD DEMSGN BSR AOVL < A=@DEMSGN ; W=@BRANCH. LAD DEMCCI SVC 0 < EN CAS DES ERREURS DE CHARGE- < MENT , ON RETOURNE A CCI. JMP E11 < PUIS ON RETENTE LE CHARGEMENT. PAGE < < < V A L I D A T I O N D E L ' I M P L A N T A T I O N : < < PILE: VAL 'FF0-6 < RETOUR SUR LA PILE DE SODOME. X12: EQU ZERO+PILE-LTNI-LTNI X10: VAL X12-$ ZEROV: EQU ZERO+X10 < ERREUR D'ASSEMBLAGE SI MAUVAISE < IMPLANTATION. DZS X10+1 < PAR PURE PROPRETE. EOT #SIP GEN PROCESSEUR#