Académique Documents
Professionnel Documents
Culture Documents
F 50
par
Michel NAKHLE
Rapport CEA-R-4991
1979
Ni*
SERVICE DE DOCUMENTATION
^ ^ M ^ ^ B ^ ^ H B ^ C.E.N - SACLAY B P n> 2, 91 190 - GIF-sur-YVETTE • France
PLAN DE CLASSIFICATION DES RAPPORTS ET BIBLIOGRAPHIES CEA
(Classification du système international de documentation nucléaire SIDON/INIS)
Rapport CEA-R-4991
en français en anglais
LANGAGES DE PROGRAMMATION PROGRAMMING LANGUAGES
TRAITEMENT DE L'INFORMATION DATA PROCESSING
INFORMATION INFORMATION
CODES POUR ORDINATEURS COMPUTER CODES
LANGAGE PLI PLI LANGUAGE
EQUATIONS DE CINETIQUE DE REACTEUR REACTOR KINETICS EQUATIONS
GENERATEURS DE VAPEUR VAPOR GENERATORS
ORSAY
N° d'ordre
2102 T H E S E
PRESENTEE
A L'UNIVERSITE DE PARIS-SUD
CENTRE D'ORSAY
POUR OBTENIR
Michel NAKHLE
II'
- Rapport CEA-R-4991 -
par
Michel NAKHLE
- Juin 1979 -
I
Je remercie ici tous ceux qui m'ont aidé à la réalisation de ce travail 3 qu'il
3'agisse de la direction des S.E.S. ou de mes collègues dont la présence four-
nit un environnement indispensable et apprécié.
Je voudrais pourtant, en précisant que tous les défauts de ce mémoire sont miens,
témoigner ma reconnaissance d Mademoiselle C. 3UFFET et â zous ceux qui m'ont
aidé en lisant le manuscrit tout en me faisant part de leur critique.
Je suis redevable à mes parents, non seulement des études générales et scienti-
fiques que j'ai pu accomplir, mais encore de leur appui et de leur affection.
Ce sont des remerciements très profonds que je veux leia* adresser dans ce mémoire.
Le service de la doeûmentatzon 'a assuré avec le sciix qui' luï est oout-.jrler } ^a.
publication de cette t^.ese; qu'il en scit ici remercié.
H
TABLE DES MATIERE3
ir.orccuc-icr.
Préliminaires
Chapitre 1 : ::E?TO;IX de
-es equations ?.içrecrc-ai
Chapitre II Etape ce c o - p i l a t i c n , p = 37
Chapitre :îl Etape ce c c n p i l a - i o n , pa r t i e svr.tnese
Chapitre IV Etape d'ordonr.ar.carr.enc-t raduccicr.-crêcc 211
Chapitre V Sxe.T^Ies 259
Conclusion
procrarr-.as -e
CEA-R-4991 - NAKHLE Michel
ETUDE D'UN LANGAGE ET REALISATION D'UN SYSTEME DE SIMULATION NUMERIQUE
MUNI D'UNE DERIVATION FORMELLE - APPLICATION AUX REACTEURS NUCLEAIRES
AU LANGAGE COMMANDE ET AUX RESEAUX F.LECTRONIQUES.
Somma ire. - L'étude en simulation d'un système physique ne peut se
faire que sur le modèle mathématique approchant au mieux ce système
physique. Par ailleurs, l'expérience montre que la plupart des organes
qui constituent les systèmes sont variables avec le temps et non
linéaires. De plus, les Equations décrivant ces organes sont a constantes
de temps très séparées et ont un rang élevé.L'objet de cette étude est
de décrire le langage et le système NEPTUNIX de résolution des systè-
mes algébro-différentiels non linéaires, une partie des algorithmes
utilisés ainsi que certaines applications â la simulation des réacteur*
nucléaires et des systèmes mécaniques. NEPTUNIX admet les équations
du système à simuler sous la forme directe suivante : f (x, *, t) = 0
très proche du langage mathématique. De plus, le calcul du jacobien
associé, nécessaire à l'algorithme d'intégration, est fait automatique-
ment, par dérivation formelle (sous forme symbolique], évitant ainsi,
pour les grands systèmes le calcul du jacobien par differentiation ou
encore le calcul du jacobien de façon manuelle, tâche à la fois fasti-
dieuse et génératrice d'erreurs. Le jacobien ainsi calculé est obtenu
../..
sous forme de " t a b l e a u x c r e u x " , c ' e s t - S - d i r e que s e u l s l e s éléments
non n u l s s o n t pTis en compte. Une h i é r a r c h i e e s t a t t r i b u é e de façon
automatique aux éléments du j a c o b i e n et e x p l o i t é e au niveau de l'exécu-
t i o n . Ce t r a i t e m e n t , pour un modèle topologiquement i n v a r i a n t , n ' e s t
e f f e c t u é qu'une s e u l e f o i s e t sauvegardé s u r un support informatique
convenable, p r ê t il ê t r e u t i l i s é pour p l u s i e u r s s i m u l a t i o n s s u c c e s s i v e s
1979 341 p .
1979 34 1 p .
INTRODUCTION
0 - PRELIMINAIRES
a £ A.
a f A.
B 2 A ou A £ B.
B 3 A ou A C B.
<3
FIG05 GRAPHE PARTIEL FIG 0-6 SOUS-GRAPHE
- 9-
A n B = 0
 = ^ = | x É B | x $ À |.
A x B = |(a,b) | a £ A et b 6 B|.
0-2 QUELQUES CONCEPTS DE LA THEORIE DES GRAPHES [B4o) [B4I] [kl Ô] (~H11] .
G = (X, f )
T„x= T x n E V x Ê E .
a
r x = Tx n E VXÉE.
E
La f i g u r e 0-8 r e p r é s e n t e un s o u s - a r b r e de l ' a r b r e de l a f i g u r e 0 - 7 -
0-3 LES SYSTEMES PHYSIQUES ET LEUR DESCRIPTION PAR DES SYSTEMES
D'EQUATIONS ALGEBRO-DIFFERENTIELLES.
Une c l a s s e i m p o r t a n t e de p r o c e s s u s p h y s i q u e s p e u t ê t r e r e p r é -
s e n t é e p a r un modèle mathématique du t y p e ( 3 . 1 ) »
k = £(£. *) (3-1)
où x est vecteur de dimension n, f est un vecteur fonction et t est
une variable indépendante (le temps par exemple). Le système (3.1 )
est appelé système d'équations différentielles EXPLICITES.
En automatique, l'étude théorique des problèmes de stabilité
et d'optimisation est abordée sur des modèles de la forme (3-2).
x = f(x, e, t)
(3.2)
1 =fi(x.t)
h(x, x, t) = 0 (3.3)
Ce système inclut non seulement des équations du type (3.1), mais aussi
les équations algébriques et finalement l'ensemble mixte d'équations
différentielles et algébriques.
^1 •Si
*PI pn
12" 2
a
22* 2
(VI)
et „ jt„ -r a_„x_ v . , . f a x. = y
7
ni 1 n2 2 nn n n
M • | x 1 »! y |
t t
où | x | = (x , x
1 2 x ) et | y | = (y , y , .... y ) sont des vec-
n 1 £ n
z .<-'> = (1, 2, n)
k=1
Ainsi, le problème du calcul des éléments de la matrice in-
verse [ A J ~ est équivalent au problème de la résolution du système
d'équations (3.1) pour des membres de droite arbitraires y-,y » ...,y 9
r i-1 n
ail*! + ^
a-n xn = '1
y„
1 2
a< >x a< >x = ('!
a
22 2 X +
2n n '2 y
(4.2)
a X
,(D. „<D
n2 2
a a
(1) n (1) n
•• = a. . a, ., y; ' = y. - -=- y. L (i, j = 2, ...
0 > A l o r s
2. Supposons &P2 ^ » éliminons x„ de la même façon des n-2
dernières équations du système (4.2). Nous obtenons le système :
15
1n n " '1
1
22 2 + a x i<
L
2n>xn X
a X 2 3 3
*2
- (3) (*.3)
a
33 3 3n n 3
y y
2 2 2
( >x„ + ... • a< >x = y< >
n3 "3 nn n 'n y
a x + a X a X + + a x
l1 1 2 ' 3 • 13 3
3 ••• 1n n
, _ x + a. x + ... + a. x - y„
"22 "2 "23 3
2 2
«"33
i 2 > «"3, + . . . + a< >s =y< > (4.4)
3n n 'n
(n-O (n-D
v
a x = v
nn n •n
C e t t e r é d u c t i o n ne p e u t ê t r e e f f e c t u é e que s i , e t seulement
si, dans l e p r o c e s s u s d é c r i t :
a a< > 1
a (n-2)
a
a
11 ' 22 ' a n - 1 , n-1
X x x
M V 2 n> " ° ^
f
2<*1> 2 X
*n> = °
(3.1) !
f x x
n<*1' 2 n> " °
t
x = (x,, x , .... x )g n
v - /v{p)
x(p) - x x
1 ,„(p)
x , . . .V (, Px) / ; .
2 n
p
où g} * p
= (e5 ', £^ p
, .... £^ ') p
est l'erreur sur la solution.
- 17 -
1
Portons (5.2) dans (5-1 )» nous obtenons :
( p ) ( p )
f(x + S ) = 0 (5.3)
f(x ( p )
+ £ ( p )
) = f(x ( p )
) + f'(x ( p )
) £ ( p )
= 0 (5.1*)
f a f
s f
1 * i l
•*s. ÎX. ' ' î xn
1 2
f i f
» ? P a
? f
1
J x ,2 ' ' 3X
n
f'(x) = J(x) =
Ôf Bf •èf
n n n
«1 SI, ' * ^x
- 18 -
= (P) 1
J - ^ ' ) £(>>)
[ 0 )
J<x) « J(x ).
nans ce* conditio"?, la concurrence â.\i processus de résolution est
considérablement ralentie.
- 19 -
exhaustive.
Introduisons enfin trois symboles de base particuliers que
nous désignons par ALGORITHME, PROCEDURE et PROBLEME.
Une PROCEDURE est une suite d'instructions machine qui, si
on admet une limite de temps supérieure (cette limite étant par essence
raisonnablement finie) se termine par l'analyse de la dernière donnée
ou bien s'arrête sur une instruction d'arrêt conséquence d'un certain
nombre d'erreurs.
Un ALGORITHME est une procédure ou un ensemble de procédures
permettant de traiter une suite de données.
Un PROBLEME est une assertion fonction d'un certain nombre
d'inconnues. En règle générale, il constitue une question ou une suite
de questions dont on souhaite connaître la réponse. Cette réponse peut
toujours se ramener à une variable logique booléenne à deux états :
1
'VRAI , si l'assertion est exacte, TAUX', si elle ne l'est pas.
- 20 -
1.11. Généralités.
Rappels :
L-*M <p ,p
& J
M ^L —*- M
K
•ch~ ?. —3?..
Jl L A
Il est bien entendu que le langage K peut être un autre langage évolué
ou un langage d'assemblage.
- 25 -
Interpréteur
Un interpréteur produit un langage-objet exécuté au fur et à
mesure de la progression de la traduction. En règle générale, il prend
en charge un langage "conversationnel" ; ce terme souligne le fait que
le programme s'exécute sous le contrôle d'un utilisateur conversant
avec l'ordinateur au travers d'une console de style télétype ou autre.
Compilateur
Un compilateur ou traducteur génératif produit un programme-
objet susceptible d'être placé sur un support convenable permettant de
multiples utilisations successives.
Nous avons représenté figure 1-1 le passage d'un programme
en machine.
f(x,x,t) = 0 (1)
COMPILATEUR
Z
Programme en
langage-objet
EDITEUR DE
LIENS
Programmes
requis en L.O. z
Image-mémoire
(bibliothèque,
translatable
variables,
PROGRAMME LEXICO-
utilisateur fonctions,
GRAPHIQUE
constantes,...
t 1
SYNTAXIQUE et
SEMANTIQUE OUTILS :
jeu de carac-
teres, tables
mêlées,...
* V
SYNTHESE: DESCRIPTION
au problème ••
PRETRAITEMENT
DES CODES paramètres de
INTERNES
i\ + (integration,
ORDONNANCEMENT
TRADUCTION en PUT et
PRECOMPILATION
O
INTEGRATION
k fois
Le symbole e est réservé pour la CHAINE VIDE.
Formellement, une chaîne sur l'alphabet Z est définie de la
manière suivante :
1) e est une chaîne sur 2
2) si x est une chaîne sur J et a est un élément de Z alors xa
est une chaîne sur Z
3) y est une chaîne sur Z asi (si et seulement si) sa définition
obéit à (1) et (2).
Rappelons enfin que si x et y sont deux chaînes, la chaîne xy
est la chaîne obtenue en concatenant les symboles contenus dans y avec
ceux contenus dans x. Par exemple si x=ab et y=cd
xy=abcd
Propriété.
xe=ex=x
1.213- Vocabulaire.
îîous avons défini au paragraphe 1.11 le vocabulaire termi-
nal I .
Désignons par y le VOCABULAIHE XOX TERMINAL groupant les
ELEMENTS SYNTAXIQUES.
- 31 -
Conventions d'écriture,
- les lettres minuscules a,b,c et d servent pour désigner les éléments
de I ;
- les lettres majuscules A,B,C,D et S désigneront des éléments de N ;
- les lettres U,V,ff,X,Y,Z désignent indifféremment des éléments de Z et
de N ;
- les lettres grecques désignent des chaînes constituées de symboles
terminaux et de symboles non terminaux Î
- les lettres u v,w,x,y,z sont réservées pour désigner des chaînes ne
f
*f — • V (2.1)
s'il existe une séquence (TQ, ce.. , . . , , Œ de (n+1 ) chaînes, non nécessai-
rement distinctes, et telle que les chaînes vérifient :
v
1-1 i x ' ^
•t *„ = p
I.215• Grammaire,
+
V* N(V*) x V
G = (N,I,P,S) (2.4)
Remarque
Lorsqu'il n'y a pas de confusion possible nous utilisons
G(S) pour parler de la grammaire admettant 5 pour axiome.
r •*
I.215•1• Classification des grammaires proposée par Chomsky .C30j ,
(C3lj .
Soit •& un élément séparateur appartenant à V.
Une grammaire G = (N,I,P,S) est dite de Chomsky, si la rela-
tion (2.1) satisfait aux quatre conditions suivantes :
1 ) Ct -r* &• : la relation n est pas reflexive
r
2) A <= S ssi
3 « j3 et TS 6 V
t I OA7 —> û£7
3) 3 a,3 et r e v I a -*• f3#tf
- 33 -
+
It) I _>_, , 0 , ) ... ( 0 C , 3 ) . avec a
n n ± £ V e t p e V* V i ,
± H i f a
I V >f i V Y : if —>• Y
ssi
Remarque s
"• • ^ et H> peuvent être vides.
2. Les oc. ou les p. peuvent être égaux.
Exemple 0
Soit V = I U N U | # | = | a,b,c | U | S,A,B,c| U | 3 |
Considérons l'ensemble suivant des couples de mots :
vient :
SAbB —* SbBCbB
N'ous remarquons sur cet exemple que, selon les valeurs de y> et de tf> ,
nous avons eu à choisir une règle ou une autre. Par ailleurs, dans le
cas 2, pour <X.~S, nous avons pris le seul couple possible.
Grammaire de type 0
C'est une grammaire qui satisfait aux quatre conditions énon-
cées ci-dessus.
- 34 -
Grammaire de type 1.
<f = OA0
m = awp
où (a,(3) i.v* x v* A s s et <u e v*
Exemple 1
Considérons S —*• aSBC \ abC
CB —>• BC
bB — * bb
bC —>-bc
CC —>• ce
Grammaire de type 2.
C'est une grammaire à INDEPENDANCE CONTEXTUELLE (CONTEXT-FREE).
Elle satisfait aux quatre conditions de Chomslcy et est décrite
par des règles de production du type de la relation (2.1) avec :
f = A A € N
V = <" ai 6 V*
Une grammaire de type 2 est souvent appelée C-grammaire.
- 35 -
Exemple 2
S o i t l a grammaire G(E) J
G(B) = ( | E , T , p | , | a , + , * , ( , ) | ,P,E)
1 . E — E+T 2. E -» T
3. T -* T*F 4. T -• F
5. F -• (E) 6. F — a
Un exemple de d é r i v a t i o n dans G(E) e s t donné p a r :
E=i> E+T
=>T+T
=>F+T
=>a+T
=> a+T*F
=>a+F*F
=> a+a*F
=> a+a*a
Grammaire de t y p e 3 .
C ' e s t une grammaire REGULIERE.
E l l e s a t i s f a i t aux q u a t r e c o n d i t i o n s de Chomsky e t l e s règles
de p r o d u c t i o n q u i l a d é c r i v e n t s o n t de l a forme ( 2 . 1 ) avec :
tf = A A € N
r*
V=x ou <f = xB x e i et BfeN
Exemple 3
Soit la grammaire G(E) Î
E •» 0|1 | ...|9
- 36 -
Remarque s
1. Toute K-grammaire est une C-grammaire. Mais la réciproque n'est pas
vraie.
2. Toute C-grammaire ne contenant pas la chaîne vide forme un sous-
ensemble des grammaires à dépendance contextuelle.
3. Lorsqu'une C-grammaire contient la production vide,
A —»• e
Définition 1-12 : une PHRASE SIMPLE est une phrase telle que la
dérivation
p — s
soit directe.
(1) a =b
si A * Oa7b(3 4 P
avec A £ N a,b 6 Z a,,3 Ê N et ï s S u | e|
(2) a <.b
si A > OaBS 6P
et si B ===^ 7b 6
- 38 -
(3) a .> b
si A —*• 0Sbf3 é P
et si B = > S a$
si S ^=> Va.CC
(5) a .> $
si S ==> CCaTT
Exemple de GPO
(2) X = Y
si 3 P è P | A -^ 0CCÏÏ3
(3) X o a
E T F [THES a I ) + * 1
= •II
= <• <•
< • <• <• <• < <• <•
Remarques
1. .> est définie sur l'ensemble VxX . En effet le symbole le plus à
droite de la forme phrasée est toujours un symbole terminal.
2. L'analyse fondée sur la technique de la precedence simple utilise
les trois relations précédentes afin d'isoler la gerbe dans une
forme phrasée Of3w. Si (3 est la gerbe, alors
a - l'une des deux relations, <• ou =, doit être vraie entre tout
couple quelconque de symboles constituant la chaine CC
b - <. doit être vraie entre le symbole le plus à droite de tt et
le symbole le plus, à gauche de (3
c - = doit être vraie entre tout couple quelconque de symboles
constituant la chaîne (3
d - .> doit être vraie entre le symbole le plus à droite de 6 et
le symbole le plus à gauche de w.
Définition
Une GPO est une GRAMMAIRE A SIMPLE PRECEDENCE (GPS) si quel
que soit le symbole X et quel que soit le symbole y susceptible de le
suivre dans l'une quelconque des règles de production (X et Y £ V ) ,
une et une seule des relations de precedence est vraie. De plus deux
règles de productions ne doivent pas posséder le même membre de droite
et la grammaire ne doit pas être ambiguë.
(2.5)
1 . d = min i (g | X i p > X i + 1 )
2. g = m a X j < d (j | _,<
Xj X.) (2.6)
Exemple de GPS
G s = (|E,T,F,[T],CE)] | , | a, + , * ,(,)|,P,E)
Définition
Une C-graramaire ne contenant pas de production vide est une
GPF si les trois conditions suivantes sont satisfaites.
1. La relation .> n'est pas vraie entre deux symboles quelconques re-
liés par une des deux relations <. ou =
Propriétés
Nous énonçons deux propriétés des GPF démontrées par Ichbiah
et Morse [l3o].
1. Toute GPS est une GPP
2. Une GPF peut engendrer un langage jouissant des propriétés de la
precedence simple.
Exemple de GPF
G p = (|E,T,p| |a, + ,*,(,)(, P,E)
f
(1 ) E -* T (2) E •* + T
(3) E -• E + T {h) T -* F
(5) T -»-T * F (6) F -*• a
(7) F -> (E)
E T F Q ( ) + * 3
r =
•> •> = • >
1.215*5» Conclusions.
Puisque nous nous intéressons à la recherche de la grammaire
du langage NEPTUNIX, nous disposons à présent de plusieurs outils per-
mettant de la définir. Abordons succinctement le problème de l'analyse
d'une phrase d'un langage engendré par une GPF ; il sera traité plus
en détail au chapitre II,
La relation •> nous permet de localiser la queue de la
gerbe. Les membres de droite des productions peuvent être consultés
pour localiser la tête de la gerbe et trouver la production adéquate.
Cette consultation n'est pas plus longue que dans le cas d'une GPS.
En effet, dans une GPS, une fois la gerbe isolée, nous avons toujours
besoin de consulter les productions pour choisir celle effectuant la
réduction convenable. Dans les deux cas, il y a analyse de symboles
et de règles de production.
Pour que la méthode d'analyse soit efficace, nous devons dé-
cider quelle production utiliser dans le cas où le membre de droite
d'une production est la queue d'un membre de droite d'une autre produc-
tion. Prenons par exemple une forme phrasée KJ3ÏW. Supposons que la ger-
be est à localiser entre V et W. Si C •*• ~$ et D -»• pTS" 50111 deux pro-
ductions, il faut décider laquelle des deux productions s'applique.
On démontre qu'il faut appliquer la production la plus longue.
1.215.6. Remarques.
1. Les relations de precedence que nous avons définies entre
symboles peuvent être étendues à des chaînes de m et n symboles. Dans
ces conditions, on construit (m,n) relations de precedence. Les gram-
maires sont alors appelées grammaires à relations de precedence éten-
dues ( G R P B ) . (AIO] , Q>4o]
2. Dans le cas des GFP, nous citons pour mémoire, une s^us-
classe de grammaires (dites à statégie de precedence mixte (G3PM)) dans
lesquelles une consultation d'un seul symbole suffit pour décider de la
production à appliquer quand on est en présence de productions ayant
même membre de droite.
I
Grammaires LU
^** Grammaires LL
I
G.R.F.2. ou Grammaires à Relations de Precedence 2tendues
Exemple
Soit V = j œ.p.s|
Selon la définition donnée au paragraphe 1.213. le vocabu-
V est l'ensemble V* :
v* = | e,a,p,ac:,aS,aû£, ... I .
1
La p h r a s e 'ûXCp e s t un élément de X(G) .
- 47 -
Remarques
1. La classification des grammaires proposées par Chomsky est aussi
valable pour les langages engendrés par ces grammaires.
2. Par abus de langage, nous parlons par la suite de langage à précé
dence simple (LPS) pour désigner un langage engendré par une GPS
ou une GPF.
V T = X = | A , B , C , * , / . + .- |
VN=N= < vari able >, < op.mult. >, <.op.add.>, <iterme>, <• exp. arithm. > I
Désignons par <.E.A.> l'axiome (abréviation de <, exp. arithm. > ) . La gram-
maire que nous utilisons pour définir des expressions du type 'A/B-C'
admet l'ensemble des productions suivantes :
1.222. 5eprésentation_à_l^aide_d^un^graphe.
1.231• Exposé_du_groblème.
Le problème qui nous intéresse est de définir un langage
simple engendré par une grammaire à indépendance contextuelle, au sens
de Chomsky, de façon à ce que la mise en oeuvre de l'analyseur qui le
traite soit la moins compliquée et la plus efficace possible.
k9 -
B D
2 f<ter t>\
m I <*•*» s , \Op. adds» < lerme>
A a c # /
m + ... + m
H
1 n
et l'équation :
A = m. + ... + m
1 n
où les symboles non terminaux sont considérés comme des "variables"
prenant leur "valeur" dans l'er.semble des parties de X*.
Exemple 1
Considérons la grammaire G admettant les règles de produc-
tions suivantes ;
C :: =Cd | .3C TJ ï
D ::=bC|JblJDb )
- 51 -
C=Cd+DC+b
D=bC+Cb+CDb-
/d b+Db \
(C D) = (C D ) + (b bC)
\ 0 O /
£(Z) J X ( I ) - * i ( Z )
{L , L") — * LL' = | x y I x Ê L et y € L ' J.
, <«1>
S =m. + ... + m ,
n in nlcn /
1 , Vii k. » 1
' 1,S. .. . , S I.
J.J 1f ni
Théorème de SchLltzenberger.
Une grammaire algébrique propre, G(>T,I) admet une solution
et une seule. C ' est le n-uplet <.L(G, S. ) , ..«, L(G,S )>.
Exemple 2
Considérons le système d'équations algébriques suivant :
M=M R + N.
t- *
ou R et R sont respectivement la fermeture transitive et reflexive
et la fermeture transitive de R.
S +
i = «H-il •" ^"ild
où a. s I et m. .ê N*.
Définition 1-21
—-
: soit M„
S.j_»a
= l
m± j. ê N I a.=a|
j I
.
Une grammaire en forme normale de Greibach est simple si l'en-
semble M- est réduit à un seul élément, c'est-à-dire :
V eZ
a et V S Ê N *B,«-|»s, |- a
L(G,m) = L.
B - Remarque s
D - Conclusions.
1 . L'utilité de la représentation algébrique des grammairi
est de nous permettre de travailler avec les grammaires à indépendance
contextuelle, de la même manière qu'avec les grammaires régulières. Xoi
savons par ailleurs qu'un langage est régulier si et seulement si il e
reconnu par un automate fini. Nous exposerons plus en détail, au cliapi
tre II, les automates et leurs relations avec les langages.
- 55 -
1
Nous avons résumé sous la rubrique "conditions d acceptabi-
lité" les différentes transformations qu'a subies la grammaire du lan-
gage ÎIEPTUNIX. En effet, pour des raisons d'efficacité, il est nécessai-
re de minimiser le nombre d'éléments syntaxiques de la grammaire, le
but final étant une économie de temps et d'espace pour l'analyseur.
I l e s t a i s é de t r o u v e r :
a„) A„ = A LI l x 6 X I x -»• CC avec a £ A' I
3 1 o i o '
a^) A = A U | y é N I y -> g avec
2 1 (3 fe A* |
Dans c e s c o n d i t i o n s , i l e x i s t e un e n t i e r m (m $ k a v t c k l e nombre
d ' é l é m e n t s s y n t a x i q u e s ) t e l que i
a.) A m = 1.
p' m
- 56 -
3a et M V* I x ^ £Xyj3.
Nous noterons cette propriété : x $ y.
Si nous avons x — C£y(3, x sera dit SUCCESSEUR IMMEDIAT de y ei
nous écrirons x $ Y>
Q
I(G' ) = V» - | y e V 1 <PROGRA> $ y L
2. S r s = <P si ry*s.
|L B
h - " W n ' V a i ' ••• n m
(2.10'
n 1 1n' 2 2n ' n n
A ± — Ljtt (2.11)
(2.12)
S |B .X,.
rs rt ts
(2.13)
•* s „
1. S — X 2. X - - AB/AC
1 , .
La grammaire G-(S) suivante est une grammaire équivalente permettant
une analyse plus efficace :
1. S — X 2 . X - A.JAB 3. B - BC
4. C — BlD .
1 . S — X 2. X — AZ 3. Z - e|B
4. Y -, XC 5- C — B|D .
1 .S - A 2. A - Xlï 3 . X - B(LX
3. Y ->• C|LY .
1 . S —A 2. A-B1CILYILX 3 . X—BlLX
4 . Y - C|LY .
1. S — A 2. A - BlCILZ 3. Z — X l Y
4. X - BlLX
1.31. Introduction,
X = FONCTION(X,Y) ;
£{x,x,t)=0 (3.2)
1.321. Le_jeu_de_caractères.
- le symbole d'exponentiation |
- le symbole spécifiant le facteur de cadrage
d'une constante " (un seul caractère)
1.323. Le commentaire.
Les commentaires sont permis chaque fois qu'un blanc est au-
torisé dans les données. Leur format général est le suivant :
a - pour le début : le mot 'COMMENTAIRE' ou l'abréviation 'COMMENT',
b - pour le texte : n'importe quel caractère excepté le point-virgule,
c - pour la fin : le point-virgule ';',
Un commentaire peut être codé sui une ou plusieurs cartes.
Ce sont :
- le mot COMMENTAIRE
- les noms des blocs : SYSTEME, DECLARATIONS, LINEAIRE, NONLXMEAI
et PIN.
Les noms de bloc sont pris en compte lorsqu'ils sont précédés du carac
tère spécial ï .
1.33- Le programme «
t 1) <SDCLION> :
<SYSTEHE>
( 21 := PAS
INTERVALLE
PAS <SDCL!Otl>
< 3) := PRECISION
FPECISIOtl
TOLERATE
<VALEUR>
t 4i ;= TCLERAIKE
INTERVALLE
<SDCLUN$>
( 5) := OPTIONS
OPTIONS
<SDCLUH>
( 6) «VALEUR> ::= ENTIER
EUT1ER
<S0CL5US>
<SDCLSU>
(
(
7)
SI
:: = = DECIMAL
DECIMAI <SDCIUK> : HOTCLE
<SCCLTE> 1 91 := <S0CLUIÎ>
<5DC10R$>
I 10) <S0CLUN> : := <S0CIU1Î> = <VALEUR>
<5DCL03>
<SDCIBL>
I 111 <SDCLS'JS> J :; == <SDCUIH>
TïOÏCLE ( 12) <SDCLSUS>
:: = , <SDCLUH>
<SDCLGRt>
FOIHTEX ( 13) <sacisu> <SDCLSU»>
DEEBL
<SDCLGR>
( 14) <SDCLTE> ; := <EDCLICfl>
FIliBL ( 15) <£DCIQRÎ> : ;= <S0CLTE> <SOCLSU>
DEBGR ( 16) <SDCICR> ::r:= <SDCL0R»> ;
SUIGR ( 17) <SDCLBL> : DE6EL <SDCLGR>
FIHGH ( IS) <S0CLGRS> : := <SDCLDL>
FIKBL
Axiome <SYSTEME>
l 11 <DCLIO> : VARIABLE
<DECIAR» ( 2) t SORTIE
<QCUE> t Si s TEMPS
<DClGRt> t 41 S UOHLIHEAIRE
<DCLGR> 1 51 s IHIÎÏAÎ.E3
-DCtons ( 61 s FONCTION
<ocisu> ( 71 <VALEU«> s NOMBRE
<QCLSUS> 1 SI <VAiEUS> HOMERE
*VÀLEU5> ( 91 <VALEU> : » <VALEUÎ> ,
<ocuim>
<G£UCH*>
( 101
t 111
«3A.UCUO : a = (
1 <G*UCUS> <VALEU> t
FOIHIEX <VALEU> ( 12 1 <CAUCH> l «
s
s
<GAUCHS>
ÏOOlï <OCUÛ> * 13» <0CIUH*> i IQEIIÎ
<DClOL> I 141 i s <0CLUHS> s <GMJCH>
HÏBIEBE
<CCLIRI> ( 151 <DCLUM> : •s <DCIUM5>
«GSUCÏt* <DCLSUS» : s
D£B8l
<DCLDRt>
i n» <DCIUII>
( 171 <0CLSU*> <0CLU)l>
PINBl
OSEGH (
t
H t
191
<0EISU> =
a <octsos> ,
î
<0CLTE> <DCLÏO>
SUIGR
flIiGR ( £01 «OCICRO ' r = <QCUE> <6CLSU> i
VARUBIE t 21) <OCtOR > n~ <DCLDH$>
( 221 <0CtBL> : 0EB9L «0CLOH> fWBL
SORTIE
leurs 1 S3Ï *DCIGR*> J s « -'BClBt>
NU! IL INC AIRE 1 24) S <DCLGR$> SUIGR *DCLBL>
INITIALES < 2S1 .a <BCIG8$> FIHGR
fOiKTIOli
Axiome : <DECLAR> f 24» <DCLGR> : S. <DCtGR*>
I £71 <DECUR> : s DEBGR <DCLG9> POINTEX
! LINEAIRE ou INONLINEAIRE
n. : expression k ;
n. : expression j ;
(IL ,...,n.) sont des entiers attribuant un numéro aux équations décrit*
(un numéro ne peut, en aucun cas, dépasser l'ordre du système) et
expression décrit le premier membre de l'égalité :
f(x,i,t) = 0
1.334. Exemple_simplifié.
Y=cost
<5EC0UD>
<
1
201
21) -
<EXP5II1*>
«
<T£HHE>
<TERHE>
DEDE1U <EXP5in*>
FIIIECU <EXPCKEH>
<
t
22)
23Ï <EXF5IH> <EXPSIH4> -
IDENT JACOBI
1
<
24)
25)
<PARAME>
<OOUQLE*> «PARAFE> , *PARAtlE>
«DOUBLE*>
t
(
26 >
27) 'DOW)LE> <CCUBLE*> ,
t 291 <*PHSUÏ> <10F0tIC> • <ÛQUBU> 1
1 29) <EXPRES» «expsim
1 SO) <APFOUT>
t SI) <COnE']iJ> «EXPRES>
Axiome : <PROGRA> C 32 1 <EC1UAT> NUMERO ; <CQ9E<W>
t 331 *UH££qU> <£qU*F>
( 3*1 <B10EQU»> <UI!EEQU>
( 3SI <BLOEQU*> SUIIIOtl <W(EEQU>
1 3*) <8L0EGUÎ> FIHHCH
( 371 <BLOEQU> «Btaeou4>
t 38Î <PSQGH*> ÛEEtiQH <StOEQU> FOÏHTEX
/*J0B=t1ICHELH.*^
//TEST JOB TIKE=lO.36>iMS3LÉVcL=U,lJ,EXCP=10a,SYSGUT=200OO
/»FROC DSN=SES.5ERF.NAKHLE.PR
//COHPIl EXEC NPTXlCOI.CARTs'/HC'.OECKSKD
//CDMP.SÏSIN 00 •»
la suite d'apparition des numéros des équations n'est pas nécessairement croissante.
le point final termine le programme.
'SYSTEME
ItfTERVALL£:MINirjK=0,HAXIK'JMs3]..416;
,,
PAS:HINIWM=l••-4,flSWrcJM=5'•-3,0EKt*RAGE=l
PRECISION:l"-3;
OPTIONS :CWCRE=S,tJUH=7S, EDITION CCUPSES;
!FIH
•DECURATICMS
VÀff:X,Y,Z,;fTCeT5,A.fCHTC;
SCSiX.Y.Z.JMWTS.^RTC;
INITlALISiriCN:X=f0,1),ï=(1,0),Z=f1,-11,
AKO3T5=(0,U,AHOBTC=ll,-lJî
!F:H
!HLÏH
2!Y**X;
l:X'-Y;
<*:,SK0<!TS-X>»Z;
5UMO;ITC-Y*Z;
1.41. Introduction.
I.k23- Etage_d^ordonnancement-traduction-précompilation.
EDITCHA
EDITERR sous-programmes LOADASM
EDITGEN
EDITNON d'édition.
EDITSOU
CONVDEC ERREURI
ERREUR s.p. d'analyse
HASHING CALDERI ENCODER
INCREME lexicographique UNEDER FINTRTT
LECTURE NONDERI FIPUNCH
LINSCAN et utilitaires.
NOMBRE
TRTVARl
Etape d'analyses syntaxique et sémantique- Etape de calcul Etape de fin de Etape d'appel dynamique
du jacoblen. traitementsclas- de l'assembleur traduction
sification et sau- du s.p. d'extension de
vegarde des la bibliothèque des fonctions.
quadruplets.
V
f DEBUT \ - 75 -
Initialisation
fin normale?
< ~£~5ûT~
>
Dérivation formelle et calcul du Jaco-
bien. Génération de code sous forme de
quadruplets ordonnés.
édition du pro-
<
fin normale ?
y gramme-source
et des messages
d'erreur.
Traitement et classification des
quadruplets engendrés.
sauvegarde demandéeTs
<
jr~-—
Sauvegarde de tous les résultats de
la compilation sur cartes.
extension bibliothèque
<
i oui
P
Appel dynamique de l'Assembleur : tra-
duction du s.p. SSIBUO d'extension de
la bibliothèque des fonctions
IBISLIO engendré parle comp.NEPTUNIX pour résoudre tes CENTRAD centralisateur delà traduction des quadruplets en un
adresses des fonctions utilisées programme PLff équivalent
SDESfNT centralise les diagnostics et les traitements en cas PLITRAD traducteur en langage PL/1
d'interruption ou de fin anormale
IEXN ensemble des fondions math, incorporées
ITRADUC prog, d'aide au diagnostic d'erreur
A5MXEQ2 e.écution des quadruplets
ASCEND classement des tables par Inde» pour l'ordonnancement
CALFONC centralise l'exécution des quadruplets
CHAINER outil pour l'ordonnancement
FILCOPY perforation des fichiers nécessaires pour l'étape d'intégration
LIBER libération des zones de travail
LINK prétraitement pour l'ordonnancement
MIZVAL interface entre l'ordonnancement et l'exécution des quadruplets
MIZAD outil pour l'ordonnancement
MNYORDN centralise l'étape d'ordonnance <•; -
ORDROPT prog. d'ordonnancement de h .r-alrlc'e jacobienne
PIVGOSS choix des pivots
PREGOS choix des pivots
PRECOMPILATION
Récupérer les paramètres du passage tians-
mis par langage de commande(JCL).
I
Matrice singulière ?
Messages
d'erreur
<. >
traduction-précompilation ? ^ N -
oul
T
FIN
MOTTNCN
: t e^a ti
1.425. ?ïâSî--ii S' ® ' 25• I
I
1.43. Moyens de communication entre programmes du compilateur.
- DONNEES
- ERREUR
- TEMPREC : fichier à accès direct permettant un déroulement effi-
cace de la phase de synthèse et de dérivation formelle.
2. Les fichiers propres au compilateur at passés à l'étape d'ordon-
nancement-traduction-précompilation. Sont groupés dans cette catégorie
les fichiers suivants :
- CINITIA : fichier des conditions initiales.
- CODOBJT : un fichier pe;mettant les liaisons entre les diffé-
rents fichiers.
- FONCTION : description des fonctions de l'utilisateur.
- GENERAT : quadruplets d'exécution.
- MATRICE : description de la matrice jacobienne sous forme
"creuse", selon le modèle exposé paragraphe I.45.
- PERPO : fichier de recopie sur cartes lorsque l'option OBJET
du compilateur est utilisée.
- SYSPRINT : fichier de sortie sur imprimante.
3. Les fichiers correspondant à l'appel dynamique de l'assembleur.
Ce sont les fichiers suivants :
Fichiers passés au» Fichiers temporaires
étapes suivantes
^INITIA
ANALYSE
et
^~~^kk£gfi£y£j^
DERIVATION FORMELLE
TEMPREC
-^k£«çwn?0
APPEL DYNAMIQUE de
^ASSEMBLEUR
APPEL DYNAMIQUE du
COMPILATEUR PL/1
traduction-précompilation
sa -
a
1.442. Fichiers utilisés à l^étape_d2_ordonnancemen^2tî; duction-préconi-
pilation.
Les indices de colonnes sont donnés par Cl(K) pour K variant de RP(l) à
Rp(l+1). La valeur V T ( K ) est 3 ai l'élément est invariant, 5 si cet élé-
ment est fonction de la variable indépendante ou 6 si ce dernier est non
linéaire.
Par souci de réduction de l'encombrement des vecteurs SP et
S, les conventions suivantes sont adoptées :
S(1) =1
s(a) = - i
S(3) = a avec <X=-COEFALF/HPAS (coefficient de d i s c r é t i s a t i o n de
l a méthode d ' i n t é g r a t i o n à pas et ordre variables r>I30j ) .
s{k) = -a.
- 86
x x x x x x x x
X X
X X
X X
X X
X X
X X
RP a VT SP
0 0 0
1 6 5
2 S 6
3 e 7
4 6 a
5 6 9
S 6 10
7 6 11
8 e 12
1 3 13
2 5 14
1 3 15
3 5 16
1 3 17
4 i It
I 3 19
5 i 20
; 3 21
6 5 22
} 3 23
7 5 24
0 s 2ii
i
I
- 89 -
11.11. Introduction.
11.12. Exemple.
Soit la grammaire :
1. 1 = | A, .... Z, 0 9, + , - , * , /, *', . , ( , ), I , -|
2. N - I «.opérateur d ' a d d i t i o n > , < expression arithmétique >,
^ i n s t r u c t i o n d ' a f f e c t a t i o n > , -cpartie fractionnaire;»,
inombre décimal>, <chiffre>, < p a r t i e exposant>, ^facteur>,
<:identificateur > < e n t i e r > , ^ l e t t r e ; » , < p a r t i e gauche;»,
r
3. P
<lettre s := A
:= Z
< chiffres := 0
f
<opérateur d addition s
^opérateur de m u l t i p l i c a t i o n s
/
< p a r t i e exposant s " * entier >
<partie fractionnaire > - . i. e n t i e r sans s i g n e >
< primaire s = ( < e x p r e s s i o n arithmétiques)
= «nombre sans s i g n e s
= 4 identificateurs
< expression simple > = <opérateur d ' a d d i t i o n s <• termes
1
<entiers = •£ opérateur d a d d i t i o n s < e n t i e r sans
signe>
= < en tier sans signes
4 expression arithmétiques = <expression simples
= •£ expression arithmétiques
<expression simples
= •£ terme s
<nombre décimal s = ^partie fractionnaires
= rentiers
= < entier s « partie fractionnaires
<entier sans signe s = «i entier sans signe>< chiffre >
= « chiffre s
!= <facteur>
:= * t e r m e x opérateur de multiplieation>
<facteur>
< b ^ * * f tUn^.>
« Utnfc. >
<Utfcrt >
t
F d / r B c )
mnu-zizi
C )
ElSILSS.IZzî
»'
93 -
« Itrnt >
t t t
F A / ( B c ;
ZIS£L&K-LZ-ï
«inttc 4'*f[«tt«ti«n9
lI.avRE.ll-±
- 94 -
£Ifi23£-£I=S
I •
«p«fbtig«Mfc«> «frll^ln»
:Utu
ricBSS-i^ii
I.
- 95
ZL2U.U-LLz.l
< ttifttr. *A'*ffMfc*U««n t
C )
Lisass-i
- 96 -
11.131. Le_transducteur.
Un transducteur est un système composé de trois parties essen-
tielles :
1. une "bande d'entrée"
2. une fonction de contrôle
3. une mémoire auxiliaire.
La façon dont opère un transducteur est schématisée fig. H . 9 .
•h "bande d'entrée"
pointeur d'entrée
Ponction de
transition
1. L'état actuel.
2. Le contenu de la bande d'entrée et la position du pointeur
d'entrée.
3. Le contenu de la mémoire.
La transition peut être effectuée compte tenu des deux critè-
res suivants :
1. A partir d'une configuration, le transducteur n'opère qu'un
mouvement et un seul. Le transducteur est alors dit
DETERMINISTE.
2. A partir d'une configuration, le transducteur opère un mou-
vement choisi dans un ensemble autorisé de mouvements. Le
transducteur est alors dit NON DETERMINISTE.
La CONFIGURATION INITIALE est définie par un état initial,
une position du pointeur d'entrée en début de la bande d'entrée et un
contenu initial de la mémoire.
La CONFIGURATION FINALE est définie par un état appartenant à
un enser -'T d'états terminaux, le pointeur d'entrée étant arrivé en fin
de la t i d'entrée et la mémoire devant contenir des informations
consta que l'analyse est terminée.
- 98 -
1.3- La mémoire.
Nous supposons que l'alphabet est un ensemble fini et que la
mémoire contient un certain nombre de symboles de cet alphabet organi-
sés selon un certain mode. De plus, bien que cette mémoire puisse évo-
luer au cours de l'analyse, nous supposons que le contenu de la mémoi-
re peut être décrit de façon finie.
On dé.rit cette mémoire, par deux fonctions :
1. Une FONCTION de RECHERCHE qui est une correspondance entre
les différentes configurations de la mémoire et un ensemble
fini de symboles pouvant être l'alphabet de la grammaire,
2. Une FONCTION de SORTES qui est une correspondance entre les
différentes configurations de la mémoire et une chaîne
d'états-mémoire. Cette fonction a pour but de modifier le
contenu de la mémoire.
En général le nom du transducteur est défini par la connais-
sance du mode d'organisation de la mémoire. Far exemple un transducteur
dont la mémoire est une pile à entrée et sortie par le sommet est cou-
ramment appelé transducteur- à pile à entrée et sortie par le sommet.
II.132. Machine_de_Turing.
Une machine de Turing est un quintuplet
M - ( Q , Z , t , q , F)
Q
où
- Q est un-ensemble fini d'états
- Z est l'ensemble des entrées, appelé couramment "bande d'entrée"
- Z est une fonction de transition produisant des transferts d'informa-
tion dans l'unité opératoire Z : Q x X —** 0. x I x D,G | . I D,G j
constitue une notation condensée de l'éventualité D pour droite ou
G- pour gauche
- q îst 1•état- initial
Q
Tr s e u m
II. 133 - 22 ^ïï£* . £-2S2_lé!ËSE2iSiSÈ--ii22âi£î £2-_È2ESi*
C'est un transducteur dont la mémoire est une bande de machi-
ne de Turing initialement mise à blanc et se suffisant de l'espace ini-
tial à tout moment.
II.134. Ensembles_réguliers.
Soit I un alphabet fini et soit £ e X la chaîne vide.
Un ensemble régulier sur I est défini de la façon recursive
suivante :
1. 0, 1'ensemole vide, est un ensemble régulier sur^-
2. J£t est un ensemble régulier sur £•
x x e s t L U 1 e n s e r a D l e
3. V 6 ^'| | régulier sur I.
4. Si A et B sont deux ensembles réguliers sur £, il en est de
même de A U B , AB et A*.
5. Aucun autre ensemble régulier ne peut âtre défini sur Z.
- 100 -
en
11.135* ^ïï*22â*â_£iSi_S2ïï-ËÉÈSESi2iSÎS ( abrégé AFN).
Un automate fini non déterministe est un quintuplet
M - (Q, Z,t , q , P)
Q
où
-" Q est un ensemble fini, d'états
- Z est un ensemble fini de symboles d'entrée autorisés
- Z est une fonction de transition
- q est un état initial
- F S Q est l'ensemble des états de sortie.
Remarques :
La fonction de transition d'un AFN est une application qui,
au couple : (état actuel, symbole d'entrée actuel), associe l'ensemble
des états accessibles à l'état actuel.
Le comportement de cet automate est à cnaque instant défini
par un couple (q,W) où q est l'état actuel et V est la chaîne consti-
tuée par le symbole sur lequel pointe le pointeur d'entrée et les sym-
boles à droite de ce pointeur dans la bande d'entrée.
H.137• Automate_à_gile_à_entrée_et_sortie_gar_le_sommet
( en abrégé AFESS ).
Un automate à pile à entrée et sortie par le sommet (APESS)
est un AFN à une seule direction.
La mémoire illimitée dont il dispose est une pile à entrée
et sortie par le sommet.
Un scbéma représentatif en est donné figure H.10.
- 101 -
:Qx(XUJ£ j )xT — • Q x r
- q € û est un état initial
^o
- Z 6 T est le symbole de début de pile
- F ç Q est un ensemble d'états terminaux.
bande d'entrée
(mode lecture)
pointeur d'entrée
fonction
de
transition
z
i Mémoire :
Z
2 pile à entrée et sortie
par le sommet
Z
3
Z
P
1
q est le nouvel état,
? est le nouveau contenu de la pile.
Remarques :
Soit : a e 2 u I£ I •
1. Si a r £ le symbole courant d'entrée est a* le symbole en som-
met de pile est Z. L'automate évolue alors vers l'état suivant
q', le pointeur d'entrée est incrémenté d'un symbole et TS de-
vient le nouveau contenu de la pile.
Si V = t, 1'opération sur la pile s'appelle VIDAGE de la pile.
2. Si a = Ê. la pile est supposée vide.
De plus le nouveau symbole d'entrée est éliminé. Le pointeur
d'entrée ne bouge pas.
e
H . 138. ^25 SEI55âi£î2--ï-^ .iiS5-Σâ25-lî£ÎSSiES *
-
i. NOMBRE SANS SIGNE > = Chiffre< RESTE DU NOMBRE SANS SIGNE >
= . < FRACTION IECIMALE ?
= " < PARTIE EXPOSANT?
PRESTE DU NOMBRE SANS SIGNE? = Chiffre <• RESTE DU NOMBRE SANS SIGNE ?
= . « FRACTION DECIMALE?
= " i PARTIE EXPOSANT?
= -A.
(11.23)
- 106 -
( fitbutius.^. " \
UN3CAN J
INITIALISATIONS
LKCTuac
I
PllSETKB
BLOC.A
-/ ft i t n n ? \
•L0C.6 I AlaulLLMiE i
_/«OM» 7~\_ J
Fin 4 u
LINSCAN
AN J
(
BLOC-A
MlCsaUBSTR(LI5HE,7C0«W(H),4)
INV, F1X66(UNJMC(.
MIC»
Isa.REFÇlNX)
3 a 4S ? « .
bUnc?
XNCREME
INCBSME
- - « ^ /-..••
aLoc.a f RETOUK J
Mic=su8smcu6Ne,Tconn(b)^ )
INVs FIXB0(.UNSP6CCMIC^)
I = * _ REFtlNV)
INCRÊME
I
'connetmii»' ?
won, \ *j.«»ol?
tiUb
RETOUR
)
ENTREE de la boucle
INSTRUCTIONS du CORPS
de la boucle
INITIALISATIONS
ne-ru =. i
_/ RMftsl ? \
a L
^> ^<
/ Emit* >ntit\__
CMl iSMBSTfl(SYM.eoM,0
Z3
' ^—^-»—-^^*^
/iwrnsUV
EMTieflï£NTIEPl»W+3.1
vrnaoissvn.cou
«MTien : o
EitReunut.sfnBOL)
3 •TRACTION DECIMALE» 4
4 «RESTE DE LA FRACTION DECIMALE > 4 5 SORTIE
5 «PARTIE EXPOSANT» 7 6
6 «ENTIER EXPOSANT» 7
7 <RESTE DE L'ENTIER EXPOSANT» 7 SORTIE
TABLEAU H-15
1 7 2
2 • 3
3 4 4
4 2 4
4 X SORTIE
TABLEAU II-16
- 113 -
Elément syntaxique c II +
TABLEAU II-17
- 114 -
Un identificateur peut :
1. débuter un commentaire. S'il en est ainsi, lors de la résolu-
tion des symboles, le texte compris entre le mot-clé
COMMENTAIRE et le ';' est ignoré.
2. constituer le nom d'un bloc. Dans ces conditions, c'est le
moniteur qui le reconnaît et appelle l'analyseur concerné.
3. être un mot-clé. Ce sont les analyseurs syntaxiques qui. le
reconnaissent. Le traitement adéquat est alors effectué.
4. représenter le nom d'un paramètre, celui d'une fonction ou
celui d'une variable.
Le traitement des variables est centralisé au niveau du sous-
programme TRTVARI. Toutes les variables sont sauvegardées dans la table
NOMUJENT. Lors de la phase de construction ou de consultation de cette
dernière, deux indicateurs (TC0KPl(49) et TC0MP1(50)) sont utilisés
comme moyen de transfert de l'information entre l'AS et l'AL.
Avant toute introduction ou toute consultation, une fonction
d'adresse associée à l'identificateur est calculée. La méthode d'accès
à la table NOMEDENÎ se fait à l'aide d'une table mêlée par la technique
de dispersion avec règlement des débordements par chaînage.
i
-<£> C: chiffre
Sortie
DES NOMBRES
- 116 -
A(N,M) = 1 + —• .
Valeur résultat
du calcul de la
fonction
1
d adresse
Table "NOMIDENT."
1
2 var. 2
3
28
30 far. 30
31
32
1 . PAS
2. INTERVALLE
3 . PRECISION
4. TOLERANCE
5. OPTIONS
A l'intérieur de certaines rubriques, d'autres mots-clés sont
possibles ; on peut reconnaître les mots-clés MAXIMUM, MINIMUM et
DEMARIiAGE pour la rubrique PAS, MAXIMUM et MINIMUM pour la rubrique
INTERVALLE et neuf mots-clés pour la rubrique OPTIONS. La liste de ces
derniers et le rôle de chacun d'eux ont été donnés lors de la descrip-
tion du langage.
119
\VMwmi nmituaaty
INITIALISATIONS
JM COMMONS «t
«U L'ANALYSÉ SYNTAXIQUE
ANASYST
I
PRist £H c o n f i e d u
OPTIONS.
f M M I S R Ï S ALLOCATIONS
* t 2 0 N I 3 cLt TRAVAIL
AiNADECL
PRISE EN COMPTE a u
DONNEES A u P R O B L i M Ê .
AUTRES ALLOCATIONS
H2 I r a n A'ANAIY.
H 4 N eaUATIOMl
NONSEMA
ÏOINT F I N A L »
Ntn X >
/fntUUPHMI " \
( OTMMITM tTNTAXlQOiJ
GCNC-i-IS
^
Tut» wlinyWiM d w w d f n
<,6tHC.»«miH.I? > -
1 outu«nit>>tiimim
iSm«timJ.UUUi<U
11 UIWICMT
b i i h n M {«War UtMIT /
<E
. -4
( Fi* - U . . | . . N
ANAVtVT j
< fit>~
^»wt
~*~>Ml
^VQMHOIOtHtlH —
X
isoeNS
I
| | tlNSCAN
T»IL«HlV>L
^
J **
r»m : * m . M i ( K )
I I EWBCUH I |
Hi
AOaK.»«W»H»UL
| ticiw i - » m n |
| | BKWtUW. I
I I UNICAW I
( Fin Au ».(,.
VAUUR.
\
)
I ANAMCL J
INITIALISATIONS CT AFPECTATIOHJ
D U VMIkM.ES D« TRAVAIL
E c t l K v t t Àuk 3iMutnmcj
SIXICUT •I'EikuniMjaU./
TRI t U T A k L H > U I f P U
I PAU 0 R 1 M CKsiUAHT
S « u m « » « l i d u ûiultat» i U /
I'aitttniL iur U <[iihln, /
CSMilT /
<i
initUu J.X1I trnWAuf /
bJi<W CINITIA
LIICKATION t i t l M H M TRAVAIL,
ANP.S6CL )
BOUCLE i » 0
G
CTAT = 0
s.iri&ictst. aoucLi-l
/TJk»Ll(lHt>ICt)
<î" . T*eU(INOICt«t)
SAUVEGAHtlE * T A » L £ ( X N « I C l )
T»*Lt(ZN»lttt*TA>liUNMCt+< )
TfcBLClXNHUtl) : SMJVÏ6MMS
ETKTiINilCi
BOUCLt i «TAT 4
oui / . c M . , x l \
r
Ç SORTIE J MON
0 U I
, /serie.^lViiiVGENe^oy UNSCM»
POINT, TAUXi'o'B
S SUT
LINSCAN -
—r
LINSCKN EMUuH
. / N O U U K I M M S K ^ WM.<ae.soKTit(«nNUMMM —4 '
/ T S M P S ? \ * AMM.1St.SOKTlï(T«nfS>>
^KUIMIMNIM»* AHALftt-XKnifc
/ FAUX ?
CRUUN. _ • FMMi'l'S .
1 (&cr ^ («*
2 lie- => PS*
3 T*Po-A =? T r i
4 Po-A =^ TS-Û
5 T*Ao- => I j r i
10 Aa- => wû
TABLEAU II-26
Aa+b*(c+d)+e H
10 I- I A +b*(c+d)+e -|
2 I- P+ A b*(c+d)+e -i
4 t- T+ A b»(c+d)+e H
7 I- E+ A b*(c+d)+e H
S h E+I A *(o+d)+e -1
2 I- E+P* & (c+d)+e -|
4 h E+T* A (c+d)+e -t
5 I- E+T#( A c+d)+e H
1 h-E+T»(l A +d)+o —t
2 h E+T*(P+ A d)+e -1
4 I- E+T*(T+ A d)+e -1
7 h E+T*(E+ A d)+e-i
8 H- E+T*(E+I A .)+e -1
2 I- E+T#(E+P) A +e -1
4 |- E+T*(E+T) A +e-f
6 l-E+T*(E) A +e H
9 h-E+T*P+ A e -H
3 I-E+T+ A e—i
6 hE+ A e-<
8 l-E+I H
2 l-E+PH
4 I-E+T-*
6 l-E -1
11 Sortie
TABLEAU 1 1 - 2 7
- 129 -
1 (Ao- =* (o-A 1
7 To-A ^ Eo-A 8
TABLEAU 11-28
* Etiquette> : a t a -*• {3 1 < action > # < étiquette suivante > (H.32)
Exemple
W V
Remarques.
a. Deux métasymboles particuliers sont utilisés dans l'ensemble des
productions définissant la description de la fonction de transition
du transducteur de la grammaire G( < PROGRA > ) :
1 . *»S>0' : Il a pour effet de faire ignorer une position. Par exem-
ple l'instruction (il.3*0 a pour effet d'effectuer un branche-
ment à l'instruction d'étiquette L_ si le second symbole de la
pile est 5
L 3 :Ss>oa|a«a I L ? (H.34)
L : #6*|*=>ï> | z W (11.35)
1. Construction_des_groductions_de_leetur^ .
Les actions de lecture sont :
z:+ |( — (I. * z(
Ia — a| * Za
Z(: l( — (| * Z(
| a —<• a| * Za
I [ erreur
Z+,Z( : l( — ( | * Z(
| a -* a| * Za
| I erreur
ZE : | ( -«- ( | * Z(
| + —*• +1 * Z+
SaSO |$ I accepter
| | erreur
Xci le symbole >as3> ' indique n'importe quel caractère. XI est intro*
duit en sommet de pile au lieu de 'E' qui est le vrai sommet dans l'es-
poir de pouvoir le mélanger avec d'autres productions.
E : î= E + T
::= T
ZT I * • »
* z*
RT ! B + T I aasi ssss ST
+ T | sas Eaa2 ST
T I ass Baas ST
ST LT
LT
LT
erreur
LT [aaa Z#5
(
3. Optimisât!on_de_la "taiii©_de_l analyseur.
L'algorithme est le suivant :
Un graphe est associé à la matrice de precedence pour les conditions
de vérification correspondant à la relation '>'. A ce stade toutes
les lignes ne présentant pas la relation <>< sont ignorées. Sont
enfin considérées comma une seule et même ligne celles ayant des
entrées identiques.
Un noeud dans le graphe est associé à chacune des rangées qui restent
dans la matrice et un noeud zéro est en outre introduit.
Soient alors deux noeuds distincts A et B. L'arc allant de A vers B
est tracé si toutes les entrées dans la rangée B sont incluses dans
celles de A. De plus un coût est affecté à cet arc ; il correspond
au nombre d'entrées de A qui ne sont pas dans 5.
Une minimisation du coût est alors obtenue en engendrant seulement
les A-productions qui ne sont pas dans B et les B-productions, au
lieu de toutes les productions pour A et B. Cela revient donc à
obtenir :
coût (A,B) + coût (B,0)
au lieu de :
coût (A,0) + coût (B,0)
Pour chaque noeud nous ne conservons qu'un arc de coût minimum quit-
tant ce noeud. Il faut partir d'un n.oeud sans arc rentrant et passer
à travers tous les noeuds. Le graphe ainsi obtenu est un arbre ayant
0 pour racine. C'est l'arbre de coût minimum associé au graphe.
- 135 -
b. Ce que nous venons de faire pour les entrées 'vérification' peut aussi
être fait pour les entrées 'lecture'.
c. Des rangées fictives sont introduites au besoin afin de permettre de
nouvelles diminutions du nombre de productions.
Exemple :
Considérons la -matrice de precedence de la figure XX-Z9 où
seules les colonnes relatives aux symboles terminaux et les entrées de
lecture sont représentées. Le graphe associé à cette matrice est donné
figure H - 3 0 et l'arbre de coût minimum obtenu à partir de ce graphe
est représenté figure II-31.
S
1 H S
3
s
6 S
7 S
8 S
9
S
2 <
S
3
i. 4. A. £. <. 4.
s
k ^ £ 4. <
s
6
< i <.
S
8 < i. i •C
S • < A.
9
FIG II-29
Nous verrons plus loin ^-f paragraphe II.k) qu'à chaque règle
reconnue est associé un programme définissant l'action devant être pri-
se lors de la reconnaissance. Par exemple si nous considérons la struc-
ture simplifiée des expressions arithmétiques du paragraphe 11.3^1•»
une chaîne suffixe peut ôtre produite en sortie si la règle 2 enchaîne
la sortie de l'identificateur adéquat et les règles 3 et 6 les sorties
respectives * et + . L'expression arithmétique a+b*(c+d)+e produit
dans ces conditions :
abcd+*+e+.
Outre les optimisations décrites précédemment, le sous-pro-
gramme NONSEMA a bénéficié d'une minimisation du nombre de tests en ce
qui concerne l'apparition d'un non-terminal donné comme membre droit
dans un certain nombre de productions. Ce résultat a été atteint par
un arrangement préalable des productions de Ployd-Evans relatives à la
grammaire G(<PROGRA>).
H . jhZ. Orga^sation^de^l^ana^yseur^ONSEMA.
IniUalûaksns '
. Vart«UuT«âlu
. AlnitucL* wpinflNt
PTKf>ILio f 3IOU&0
P1LI»)xVTtltSH0N
JkBLOtQUf
BOUCLE PRINCIPAL!
( Fin «U ».|,. \
'KnJUUIOUCLtN
-i H»MO«l
2
C MtlNCIPAtt <Ux.y j
NowstnA y
| pmM»pititPtwpif>
I •»»«" I > ;l
X
PP.truvN6.MJ
^GMJCHt
PMPUVKW?
, 4 . f PKIK1NR£ JS/wuïTvNpâxK
< PMn.^wMP? > - - q fruprou-T
^ ^_ f txMmirruatM j^pptnsvNEiuX 3J
•< nun » SJ> -p||»T«*W* | ^
- » | | «00111810
I nan.
\J SRtCHcncHS y
i
l0m»U'SUR»&
< !>
LINKMtli
__/ BunvMy.-itnr»!^^_
< VAIUMU s r m n t ! \ -
fiMCTYVS
TKVMiTYDta D
PAIWMSTRe t
SyntMtaWCMIH! FONCTIIN*'* A
< UTNUfUr
LINÎCAN Nttau.'C»
urnun *o
POtNTiVfi
eswtvt's
UNSCAN
-*'+• Z3~~
0
ÀM, him&umink
I i w ii
*EXPSIMS:PROC;
IP a d d i t i o n _ b i n a i r e THEN DO;
CALL INSERER(genre_addition) ;
CALL «GAUCHE! ;
END;
ELSE IP s o u s t r a c t i o n _ b i n a i r e THEN EO;
CALL INSERER(genre_sou5tract±on) ;
CALL *GAUCHE1 ;
END;
ELSE IP (#PHEMIER=VNEXS) THEN #PREMXER=VNEXP ;
ELSE CALL #GAUCHE;
END #EXPSIM3;
*BLOEQ:PROC;
IP (^SECONDiVTDBBNON) THEN CALL REMPLACER(2, VNNON) ;
END «BLOEQU;
#EXPSIM;PROC;
— IP parentaèse^fermante THEN CALL EfSERER( genre_parenth_fermante ) ;
ELSE IF (?ÎFHEMIER*VNEXP) THEN Î&REMXER-VNEXR;
END SSEXPSIM;
SCEXPCOU ; PROC ;
IP (5feECOND=VNDOt7)&(#TROISIEME=VNIDF) THEN CALL
REMPLACER^,VNAPF) ;
ELSE IP (#SECOND«VKEXP) THEN
IF (ffeTROXSIEME=VNIDF) I (#TROISIEME=VINGAU) THEN
CALL REMPLACER(a,VNPRl);
END SCEXFDOtJ;
•EXPRESS: PROC;
IF p o i n t _ v i r g u l e THEN #PREMIER=VNCOR;
ELSE IP (!fe>REMIER«genre_parenth_feniiante) THEN
CALL ÏCEXPDOC;
END «EXPRES;
#TJNEEC}U:PROC;
IF (5feECOND-VTSCDJON) THEN
IP (#TROISIEME=TOBLS) THEN
PTRPIL=PTRPIL-2 ;
ELSE ^PREMIER»VNBLS;
ELSR ^PREMIER«VNBLS;
- 145 -
END MMEEQTJ;
•TERME: PROC;
IF ({feECOND=genre_addition) I
(«6sEC0ND=genre_soustraction) THEN
IP (#TROISIEMB=VNEXS) THEN PTRPIL=FTRPIL-a ;
ELSE PTRPIL=PTRPIL-1 ;
ELSE «ÉPREMIER=VNEXS;
END 4TERME;
KFACTBURiPROC;
IF (^6sEC0NDssgenre_tmlltipl±cation] I
(*6SBC0NIl=genre_divi3ion) THEN
IF (#TROISIEMB=VNTES) THEN PTRPH,=PTRPIL-2 ;
ELSE ^PHEMIER=VNTES ;
END tFACTEUR;
#COREC1U:PROC;
IF (^SECOND=genre_deux_points) THEN
IF (f#TROISIEME=VTN0HERO) THEN CALL REMPLACER (a.VNEQCT);
END «COREQU;
#PARAME:PROC;
IF (5feECOND=genre_virgule ) THEN
IF (^TROISIEME=VINDOS) THEN PTRPIL=PTRPIL-2;
ELSE «£PH£MIER=VND0S
ELSE #PREMI£R=VNDOS
END #PARAWE;
*EQUAT:PROC;
^PREMIER=VNDNE ;
END #EQUAT;
•PRIMAIRE : PROC ;
#PREMIER=VNSEC;
END ^PRIMAIRE';
# SECONDAIRE : PROC ;
IF e x p o n e n t i a t i o n THEN CALL INSERER (VNEXN);
ELSE ««PREMIERS VNPAC;
END «SECONDAIRE;
- 146 -
#EXP0NENTIATION : PROC ;
IF opération.^ orrecte THEN CALL REMPLACER (l.VNSEC);
END ^EXPONENTIATION;
END APESS;
n.421. Exemples_simplifles.
Expression arithmétique Expression sous forme polonaise
A*B A B *
A*(B+C/D)-E A BCD/ + * E -
AB-aCD*+/-
- 149 -
Algorithme de transformation.
Supposons disposer d'une pile. Les expressions arithmétiques
peuvent être converties en notation polonaise à partir d'une seule ana-
lyse de gauche à droite, à l'aide de l'algorithme suivant :
A-. Si le symbole courant est une variable, une constante ou un pa-
ramètre, il est introduit dans la pile et le symbole suivant est
analysé. La règle utilisée est :
opérande ::= variable ou constante ou paramètre.
A.. Si le symbole courant est un opérateur binaire, il opère sur les
deux opérandes se trouvant au sommet de la pile. La règle utilisée
est :
opérande ::= opérande opérande opérateur.
A-. Si le symbole courant est un opérateur unaire, il opère sur l'opé-
rande se trouvant au sommet de la pile. L'opérateur est introduit
dans la pile. La règle utilisée est :
opérande ::= opérande opérateur.
Le programme est*analysé Jusqu'à la rencontre du point final. Pour cha-
que symbole en cours d'analyse on effectue A. » A„ ou A.. Lorsque le
point final est rencontré, la pile contient la chaîne polonaise asso-
ciée au programme en cours d'analyse.
a e
II. 423 « t£_Y2£â5ïïiâi£---2_i _2ii2-P.2i£S5i5 . •
Nous avons désigné, paragraphe 11.41, par POLT la pile polo-
naise 'champ types' et par POLO la pile polonaise 'champ rangs'.
Les conventions adoptées pour les types sont groupées tableau
11-35 on colonne 1 . Nous avons enfin groupé en colonne 2 du môme tableau
les valeurs que peut contenir la pile POLO compte tenu du champ type.
Hypothèses de départ.
1. L'analyseur travaille d'une manière telle que lorsqu'il
rencontre la branche x d'une forme phrasée, celle-ci devant être réduite
à U £ N, le sous-programme associé a la régla suivante est appelé :
TYPE RANG
j = 2
— 6
pour soustraction unairo
pour addition binairo
| - 7 pour soustraction binaire
i
3 ( Variable non dérivée Rang de l a variable
6 j Opérateur d'exponentiation =* 6
TABLEAU I I - 3 5
151 -
Conventions.
Désignons par PTBPOL le pointeur de la pile polonaise et pu,-:-
DIMPOL la dimension maximale de cette pile.
La gestion de la pile polonaise n'est effectuée que par un
seul sous-programme de l'analyseur NONSEMA ; c'est le sou3-programme
SINCHEME. Avant toute insertion de symbole, un test de débordement est
prévu.
Liste et r8le des sous-programmes.
ïï2£_5S_§22Ë_£32SSè?8îE
SSORVAL (rang constante, type constante)
SCEXPDOU (rang fonction incorporée, type évaluation)
#APEOET (rang fonction externe, type évaluation)
' (rang fone tion externe, type début)
(rang fonction incorporée, type début)
*CDOSTES (rang variable, type variable non dérivée)
, (rang variable, type dérivée)
•EXPONENTIATION (exponentiation, opérateur d'exponentiation)
•FACTEUR
((multiplication, opérateur de multiplication)
(division, opérateur de multiplication)
J
(addition una re, opérateur d'addition)
(addition binaire, opérateur d'addition)
«TERME (soustraction unaire, opérateur d'addition)
(soustraction binaire, opérateur d'addition)
TROIS nitimtMk.i)
_/sïcoTï?\_
TROIsVNU*? _ / s e c o ï ï ? \ - » MWIWIIÎSVHU»
S<
PTRFiurmni.i
? X
——SE—.
»l«umlt,l) PTRftiiPTftm-i
rrnmwfTRni-i »lHCRfMH,TIKOO)
nutrmn) :v*w* *iMc«nt(i,™ro)
tlNCiimu.'nMi)
<ED^ NBtOUiV»
•TERMS )
S. P. #TERME
- 153 -
7X 3 3
5 3
3 2 6
/ A
5 2
3 1
/ / 6
/
2 6 I
5 1
3 2
1 / 1/ 9* 2 7
1 / / / fr 3
3
4
1
3 3
4 4
' / / /// 14 j 2 7
//Il tfr 3 5
3 2
3 3
1 1 // / 4 4
HA\ 1 '^ 2 7
1 0
2 0
\
y S
lyi ^H ?
\ 6
/
POLT
type
POLO
rang
3 0
4 1
/*
C10
1
^/14
"7* pile polonaise
5 1 ^15 ( 19
TYPEQU EQUATt EQUAT2
IH.11. Introduction.
Désignons par :
- V un ensemble fini
- V* le monoïde libre engendré par V
- V l'ensemble des ramifications sur V.
158 -
1. RamificVtion
a. L'ensemble V des ramifications est muni :
1. d'une loi de composition interne, notée + et appelée CONCATENATION.
Cette loi est associative et possède un élément neutre ; la
RAMIFICATION VIDE notée A . Elle juxtapose deux ramifications à m et
n racines en une ramification à m+n. L'opération concaténation est
représentée figure HI-1 .
V c V.
b. r € Y, r^rt ^ 3 x e V, 3 !(r., , r ) I
a
r = x*v^+r 2 .
1. I P(r ) vrai
1 et P(r ) vrai J ^
2 | P(r,j-rr ) vrai \
2
ramification r
ramification r+ s
ramification s
x,£V
A
p(*) =
f>(x * r) = 3t,
1
» #
Definition m - 2 : soit if une application de V dans V appelée
If ( A ) = *
r +r = r r
^^ 1 2^ f( 1 ^ f ^ 2^
' JL a i r= A
cp(x * r )
1
<|(r) si rji*
y*) = *
f (r r ) =f (r,) u f (r
y 1 + 2 y y a
f (r) M p(r)
y si x=y
f (x. * r)
f (r)
y si x^y
t(A) = A
t ( r r ) = t(*,)
1+ 2 * t(r ) 2
V = | Xj .Xg.Xj.x^.Xj.Xg | , V = | tt,0,ï,S, £ , ^ | ei
=?r £ V
t(x,) = ce, t ( x ) = | 3 , t U ) = t f , t ( x ) = S, t ( x ) = £, t(x )=->],
2 3 4 5 6
(cf. Pig. III.1
r = x 1 * (x #x +x *(x +x )) + x
1 lf 3 5 lt 2 * (x.+x^+Xg)
x Tx i ± + 1 pour 1 i i à P-1
Propriétés (p50j
Tout LRS est régulier.
Inversement, tout langage régulier est image d'un LRS par un
nomomorpnisme de monoïdes libres qui conserve la longueur des mots.
Un LRS sur un alphabet A est entièrement défini par la donnée
d'un quintuplet (V,î",I,F,g) ou :
- V est un ensemble fini, F une relation binaire et le couple (V T) t
un graphe fini
- I et E sont des parties de V
- g est une application de V dans A qui se prolonge en un homor-
phisme de V* dans A*.
Conventions.
Dans la suite, pour un LRS L sur V et deux symboles x et y
de V, nous désignerons par :
L , l'ensemble des mots qui commencent par x,
L , l'ensemble des mots qui se terminent par y,
L*, l'ensemble des mots qui commencent par x et se terminent par y.
S l'axiome de la grammaire.
Le langage engendré par G-(s) est l'ensemble des mots des: fa-
milles des ramifications engendrées par G(s).
Considérons E l'ensemble des mots vérifiant x*ff* avec x € N.
Pour chaque x nous pouvons considérer l'ensemble des origines et l'en-
semble des extrémités des mots de E . Cela revient à considérer deux
relations binaires ? et S dans V telles que pour l'ensemble des mots
£ E !
^i • • • y p x
x ïy 1
xSy . p
Yt t y i + 1 pour 1 « i « p-1.
Nous avons :
L r
< 1«2> = ^ *n' *? *m>
x x
L(r) = ( x x x , x x x , x s x , Xj-^. x 4i x,s)-
1 1 4 1 3 5 1 3 l> 2 a
- 164 -
Proposition III-1.
Soit une ramification r de lignage L(r) = (A.. , .,., 1 ) .
que q
ces conditions
a * J\ * c omm
b. X commence par la dernière racine de r,
c. a- ... a est le mot des feuilles de r.
Définition III-9 : soit deux mots "K et X'. Le mot A est COUPLE
au mot V s'il existe trois mots \* , A , \^ appartenant respective-
g
- >= X A 1 2
- A'-V;
- le premier symbole y de 1 et le premier symbole z de X,
vérifient la relation binaire z 1 y.
Proposition TTT-2.
Soit G(s) une GRS et une suite de mots non vide (A. \ ).
Pour que cette suite de mots soit le lignage d'une ramification r en-
gendrée par G ( s ) , il faut et il suffit que :
1.* i + 1 soit couplé à } , . pour 1 é i i n-1 .
2. V finisse par un symbole terminal pour 1 i i s n.
S
3. V, * G .
k. \ S D.
- 165 -
iSn effet soit r une ramification engendrée par G-(s) et soit (A ,..., A )
t
2. *., e a.
3. x « a D.
A partir de ces propriétés et comme conséquence de la proposition III-1,
la ramification r vérifie les conditions (t), (2), (3) et (4) de la
proposition TTT-2.
La grammaire G-(s) est sans boucle. Par conséquent x ne peut pas âtre
r A e r A a v e o = x
£é§-l -i = * 2 ^ *1 *
La ramification r„ est la ramification engendrée par G(s) et
admet pour lignage L(r_) = (>-, ...» * „ ) •
Dans ces conditions» la ramification r devient :
£è§_£ r
i ^ A
»A 1 j^ x et L(x*r,j) = (\^ t ..., \ ) avec
x
h - *i
a. Si r_ = A , alors r est la ramification engen<irée par G-(s)
1
(z.y)
t. q. z Ty
Proposition III-3.
Si L est un langage régulier, C(L,a) est un langage régulier.
En effet, <ya et D sont des LRS et le quotient,
z
** » la différence
et le produit de deux langages réguliers sont des langages réguliers
[Hfco] .
III.14. Applications à la dérivation formelle.
TTT.141. §£^£5§_llîi££§i_l£_ilâif£Eiï52£'
Soit G(S) une GRS sans boucla et un mot 0=0. ... a à analy-
ser. En conséquence de la proposition (lH-2), les ramifications cher-
chées seront déterminées par leur lignage.
Lors de la recherche de ces lignages, nous construisons la
suite de langages réguliers définie par :
S
[ K. = G
î a
K ± = C(K _ , a ^
i 1 pour i = 2 , ..., n
Proposition III-4.
\ . ê K. si, et seulement si, 3 X. , ..., X J , tels que :
S
1. X, £ G .
2. ^. se termine par a., pour 1 * j à i.
3. X. +1 est couplé à \ , , pour 1 t j 4. i-1 .
Proposition H I - 5 [B5CT| ( p l i ] .
Le mot et e s t engendré par l a grammaire G-(S) s i , e t seulement
K n D ^ 0.
- E=E' U S_
G
1
- r » r U T | (x,y) | x G E ' e t y G I
G G e t ( 3 z € E | x H z e t g' (z)"Cg (y) ) |
D G
- 1= I»
(x,i) ^(y.i) W x V y.
à (a _ ,i-l) par un chemin dont les arcs ((x,J), (y,k)) vérifient xSy
i 1
1) - E 1
2) Pour i=2 n :
- E =B U ± W (V x j i | )
- r ± = r 1+1 u TT u ( ( U , j ) , ( y , j ) ) | j a
± at ([aztvj et[ak<i]l
((z,k)eD _ i 1 et (x,j) ["^(z.k) avec zCy) j
3) Pour 1 é i * n !
- X. est réduit au point (S,1)
- F. est réduit au point (a. i) t
- S^x.j) = g(x.j) = x.
L'ensemble E n
= U E. ainsi que les relations ?. sont con-
x
1=1 ,n
nues dès le depart. L'algorithme revient à .ajouter des arcs à chaque
étape pour parvenir au graphe final (E,T*) = ( E , P_). Ce graphe permet
de déterminer tous les ensembles K.. Il donne donc le résultat de la
dérivation formelle. Plus précisément, il permet de déterminer les ra-
mifications qui forment le résultat cherché. Ces ramifications sont
définies par leurs lignages, les n-uplets (A-, ..., X ) tels que :
m . 21 . Introduction.
~ *ttaV
t
/ 1 B 11 1 N
i\ o N
1 / N-l 1
I
N
1 J2 1
N
2 4 * 2
Niveau_0
Niveaul
N
. 1 2 1
S 1 noeuds ayant les degrés K„, N,, . .. , ÎJ avec :
N 2 =| 4
Niveau_2
11 2 1 *T 2
N^', ..., N 3 * avec N 2 = 2 N.j "
N
1 k
1
N, , . . . , N " avec N, = 2. N, '
A
J
1=1 ^
N, = 1 NÏ
- 172 -
- ïjiveau_3
Tous les noeuds sont de degré 0 (le degré des feuilles est nul).
m . 2 4 1 . Les vecteurs.
Un .vecteur est un ensemble d'éléments physiquement adjacents
dans la mémoire de l'ordinateur. XI esc entièrement défini par la con-
naissance de son ADRESSE DE BASE, de la TAXLLE DE SON ELEMENT et de sa
LONGUEUR. Un tableau unldimensionnel structure fictive de données, est
implanté en machine par un vecteur.
p V H
dans lequel :
que nous avons implanté ligne par ligne. L'arbre correspondant, les
liens et l'implantation sont représentés figure III-5.
III.2^3. Les_listes.
Une liste est un ensemble d'éléments dont chaque élément con-
tient un pointeur vers l'élément suivant.
L'implantation par listes n'a d'intérêt que pour des zones
non contiguës.
Nous avons représenté figure III-6 l'implantation d'un tableau
T ( 1 0 , 1:2)
avec un maillon du même type que celui décrit précédemment.
Le mécanisme d'accès doit permettre d'atteindre la position-
uémoire associée à la composante T(i , i ) et, dans le cas général, à
la composante T(i-,i ).. Dans ce cas, l'accès est effectué en considé-
rant la liste des indices à partir de i- , par n boucles de calcul (pour
la figure TET-6 l'implantation a été effectuée ligne par ligne).
©—©—©
1*1 Ta TM Tu T« T»
TM Tn Tu Tu ÏVt T M
arbre liens
i^âr^
ft «•
\tuvl\l\i\lv\llu
«H ««H « M , «M «Ml CX.U °*4i ""'H '"'"*
implantation
«6» •*»
' <*n 1 ««•. *ftl« 1
£ •«it-
r
NII N» NU Nu Nu Nu
« H ,
«* «il «».
Dans les autres cas, il est bien certain que cette implantation peut
faire perdre beaucoup de place.
Nous choisissons un maillon du type :
H V
*1 X
n an
- 178 -
dans lequel :
- H désigne le lien horizontal
- V désigne le lien vertical
- i-, . . . » i désignent les valeurs des indices de T telles que :
1. pour une tôte relative à L , i- = -1
n- i a 4 [jMin n, Max n
" 11 12 0 14 "
T = 110 0 130 0
.0 1200 0 1400 -
I U . 251. Généralités.
Mous considérons une mémoire adressable. aonsti-tnêa de cases
de mémoire identiques repérées par des numéros consécutifs que nous dé-
signons par adresses. Ce type de mémoire est celui des mémoires dites
centrales. De plus, nous supposons qu'une case de mémoire peut contenir
ofe PCI^L
u
FIG m-7 IMPLANTATION PAR PLEXES AVEC TETES IMPLANTEES PAR CHAINAGE
180 -
D si D est élémentaire
contenu( adrsssed)) ) D(l) si D a la dimension 1 : D(1 :N)
D(l ,1) si D a la dimension 2 : D(l:N1, 1:N2) etc.
1 et de longueur n ;
D - (D 1( D , ..., D , ..., D )
a ± n
A A A
- <V 2 V ••" n>"
- 181 -
A - Problème de consultation.
Considérons une donnée structurée indicée E de dimension 3
logée en machine selon le mode mi-séquentiel. Désignons par A la table
d'adresses qui lui est attachée. Proposons-nous de trouver l'adresse
d'un terme élémentaire D. . connaissant les indices i, j et k.
fe
Nous avons :
a. adresse (A.) = i-1 + adresse ( A ) , puisque A est logée séquentielle-
x
ment
1 1 1
b. adresse ( A ' ' ) = j-1 + adresse ( A ' ' ) , si A ^ ' est la table d'adres-
ses attachées à D ±
1
c. À } ' » A , par définition.
1
i j )
A^ =» adresse ( D i j k )
"i'\ D,, est de dimension 1 et contenu (Ai ') n'est pas une adresse.
' ij -^~~"~~ J
Dans ces conditions :
1
CC - A; ' = adresse (D .) ±
+
p - adresse ( D i 1 k ) = k-1 adresse ( D J J )
En résumé, posons .'
m = k-1 + contenu (j-1 + contenu (i-1 + adresse (A)))
Nous avons :
- 132 -
- adresse (D. .,_) =» contenu (m) , lorsque contenu (m) est une adresse
- adresse (D,.. ) = m, lorsque contenu (m) n'est pas une adresse.
que chaque terme B. soit l'adresse d'un bloc vide disponible. Nous ap-
pelons B, la table d'adresses des trous. En anticipant un peu, les
sous-programmes NONDERI et CALDERI, assurant la dérivation formelle,
laissent, dans une certaine mesure, au système d'exploitation le soin
de gérer la table d'adresses des trous. En effet, ils prélèvent les
blocs dans une zone-mémoire, appelée ZONE, de type AREA (PL/l). Au
besoin, certaines unités (ON-UNIT) centralisent et hiérarchisent les
traitements nécessaires à cette gestion.
Afin d'exposer le mécanisme de la mise à jour, nous nous con-
tenterons de recourir à un exemple.
Considérons B la donnée structurée indicée limitée à 4,
D = (((a,b,c),b),(d,e,f)).
Cette donnée est représentée figure H I - 8 . Proposons-nous d'effectuer
une mise à jour de cette donnée. Soit alors à placer les quatre données
élémentaires suivantes :
i.n 3 1 =m
2. D 3 2 = n
3. D 4 3 3 1 » m
k. D 4 3 3 2 = n.
La nouvelle donnée structurée eat alors :
D = (((a,b,o),b),(d,e,f),(ra n),( (,(m,n))).
> l
e x i l <BU4»uo EH
H3H
^Soa
En EEED sun
sum
l?M I I SffX* E2
KX>fQ
Êx^gg
. A« >vA»vvAi >vA i
2
1
1. Nous constatons que la mise en place initiale en mémoire d une-
donnée structurée indicée limitée à n, selon le mode d'organisation
mi-séquentielle, peut se réaliser très simplement par une succession
de mises en places de termes élémentaires repérés par leurs indices.
Chacun de ces termes peut se présenter dans un ordre quelconque.
2. La suppression d'un terme élémentaire s'effectue de manière-
symétrique en détachant un ou plusieurs blocs de D afin de les ratta-
cher à la table d'adresses des trou?.
3. Il peut arriver que la mémoire soit mal utilisée et que les
blocs ne soient remplis que très partiellement. Deux palliatifs s'of-
frent :
3-1 Utiliser des blocs de longueur variable. Nous avons laissé de côté
cet pjptifice car il présente l'inconvénient de faire apparaître
des empiétements entre blocs.
3-2 Modifier artificiellement la donnée structurée D. En effet, il
existe une correspondance biunivoque entre une donnée structurée
indicée limitée à n et des données structurées indicées limitées
à 2> 3, k etc ., par introduction de structurations artificielles
facilement repérables,
c'est-à-dire a, , =» a, + ce. .
Les a, constituent les états de la pile.
- 187 -
FIGURE 1-10
E a A t 3 + 6 * C * SIN(A).
î Al P-,
- A la phase 3 , la dérivée partielle par rapport à A devient
H|p " ™ -
3
1
SE
- A la phase 5, une nouvelle variable, C, intervient: 3IT^.
0 p,5
• A l a phase 1 0 , l ' e x p r e s s i o n e s t entièrement a n a l y s é e :
If! = 3*At2+6*C*COS(A)
•3cjp 10 = 6*SIN(A)
- 189 -
/ PU ) A
A JU) 1
PHASE 1
1 PU) A
A J<1) 1
0 P(2) 3
PHASE2
t P(V At3
A )(1) 3*At2
PHASE3
1 PU) At3
A J(l) UAt2
0 Pf2) 6
PHASE 4
A J(1) 3*At2
o \P(2) e
1 P<3) C
c J<2) 1
PHASE 5
1 P(1 ) AT3
A J(l) 3*At2
1 P(2) 6*C
C J (2) S
PHASE 6
1 P(1) At 3
A J(1) 3»At2
P(2) 5*C
J (2)
/ P(3) A
A J (3) 1
PHASE 7
191
7 P(l) At3
A J(1) 3*At2
P(2)
s#c
J(2)
1 PI 3) SIN(A)
A J(3) COS(A)
PHASE 8
PU) Ai 3
j(i) 3*At2
—* 2 P(2) S i C *SINIA)
C J12) 6*S1N(A)
A J (3) 6 *C *COS(A)
PHASE 2
2 P(}) At3*6lC*SINTA)
A J(1) 3»At2*6*C»C0S(A)
C J(2) S*SIN(A)
PHASE 10
.2*- = o V(x*S
ïvt*
3 vfS
^ ^ /0
- 193 -
a - a , + ... B . k
V x € D,3 (X £ A, £ € B|
f (x) = p f (ocx)
a t
V(f) = F (V (n)).
x
±
r * R
Cette fonction nous permet de partitionner l'ensemble des chemins du
graphe.
Remarques
1. r est tel qu'il n'appartient qu'à un, et à un seul, des ensembles R^
2. n, le nombre d'éléments admettant r pour image, peut être nul.
Par exemple, si K est le graphe complet admettant n noeuds,
considérons des applications de l'ensemble D de tous les sommets dans
un ensemble R composé de trois sous-ensembles de sommets et, j3, V cor-
respondant respectivement à des sommets associés aux éléments invariants
de la matrice jacobienne, aux éléments qui dépendent de la variable in-
dépendante et à tous les autres éléments. Le graphe initial K peut
alors être transformé en un graphe colorié G de la façon suivante :
IH.421. Çlassifiçation_des_çodes_engendrés.
Les programmes NONDERI et CALDERI éclatent en opérations
élémentaires monadiques, diadiques et appel de fonction toute expres-
sion mathématique quelle qu'en soit la complexité.
L'opération élémentaire est sauvegardée dans un quadruplet
d'exécution qui à son tour est rangé dans une des dix tables de codes :
4 tables pour le calcul de la norme, 3 tables pour le calcul des fonc-
tions d'erreur associées, 3 tables pour le calcul du jacobien.
- 198 -
I NONftCRl I
l«iM«ltnWt«i :
. f M a l w u : N u n * * * ,XfV, fTMJM
.Vniiiiliilmlii : mum/to} x i m r i u f M ' ) ;
I - I * » » • * H-
IMNtiHuul
T»f*« Muta»
I MH:HMtPmg|
i
| |»coimiU»«u) | < TT«»I> >— H |«<J««HWTH WftWt)"
XMM
I TWIKU i itau ^ TKfgit.»
WRIT»
FiLtC T i n m c ) < HM.t.11 > - j | I «I» «.»«<•>'» * T - f .
FftOH(Nmiiit)
KiyFMMtTWIttll)
I H | »i»»»<u'vn H ,
Tc*nMiu)iTewma»<i
vrtrwuMioii «VM>lt»U4m>Ht) I ij.
( Fût A » * . } .
NOHDtM
N
)
I
H
• ^ TTftrtt ~>=n-»Tl*lWTtr\Nfi |
T M »
I Inlt;*ll>*tM« Catling :
11,11,1*.,MAX!,MAU.
<S=>
5>
,
f«n A»V *<f«naJ>
UfKiai.ihalM | » U |
G
I«W«lil«H«i> SIIMH'.
COMCMtHATim 3AMtt, KAN&t
)
ttMWI • * * • • * * *
^ < >5
ltAN4t4*AN«t?
< >
4
J
/ f i l » AU. I m ^ M f * ™ ^
r<ïEï ^
-<«.wi«wa? .> RE* W.0 t i l )
X3f s » t t l dI>PARrenc(M)
Ruts m a t » )
|»IWUW»<'U>T',0,O,»O
KtwdiiAstif 4
|*THfHO I M W . I U M , nil», •* » Mll.Mil
AILK SftUU
| BIHCMOMCMIW, B « , I t . T U W ra*cct»iti*)>PM»
| frlKCHOWQW',1H,«M,H1) 1
MX'ONIN )
—3__
•<»t«Tie? >-;
I |#incmwt'»mn',».»w,i»w,)
"VRAIJ'0'6"
I JOHiomtUNtt.t) I MfMtWMWi'J' I
—x—
I |»lN»UH(,' |TTa',30«.tOH,Jon|
l
•
C K n Au. ».(•.
»SX»0MiH
"\
)
fEXTERNE et SEXP0NEN
- 201 -
(op, o p , o p , o p ) .
1 2 r
1. Affectation.
(=, o p , o p , o p ) .
1 2 r
2. Addition.
( + , op , op , o p ) .
1 2 r
3. Soustraction.
(-, op., , o p , o p ) .
2 r
6. Exponentiation.
Bile porte sur deux opérandes dont le second est un entier,
pour un monâme, ou un nombre réel. Dans le second cas, il est impli
citement fait appel à la fonction logarithme lors de l'exécution, ce
qui impose, par conséquent, que le premier opérande soit défini po
sitif.
!
En fait, op- constitue le rang d'une fonction incorporée trai-
tant le cas de l'exponentiation ; op est l'expression arithmétique à
2
oPj.'op^oPg t( op -1 ). r
op 2 = fonction^ (op )
2
8. Fonctions externes.
La syntaxe de l'appel des fonctions incorporables à l'exécu-
tion doit être de la forme :
Valeur=Nom-f onction (var.. , dér,. , ... , var^, dér.^, ..., var , dér )
avec :
- var. . le nom d'une variable-système,
- dér., la dérivée partielle de la fonction par rapport à la variable
var..
Trois types de quadruplets perau ttent une exécution correcte
de ces fonctions. Ce sont :
1. Un quadruplet de reconnaissance de la fonction et de choix de la
liste d'arguments appropriée.
2. Un quadruplet d'allocation des adresses de la variable émettrice
var. et de la variable réceptrice dér.. , pour i=1 à n.
3. Un quadruplet de sauvegarde du contexte de l'exécution, de branche-
ment à la fonction désirée et de rétablissement du contexte.
+GTG.
Il représente l'opération
(+, G , T , G ) .
t 2 r
1 -C T 21 -ses 41 =T F
2 =V T 22 -CCS 42 -- J S
3 -0 T 23 -SSS 43 = C J
4 -C S 24 -STS 44 =J S
5 -S S 25 -CTS 45' -- T T
6 =C G 26 -CCG 46 +GJG
7 + CTT 27 -CGG 47 +JJJ
8 + CTF 28 -DTT 48 -CJJ
9 + TTT 29 - GTG 49 -JTJ
10 + TTF 30 *TTT 50 - C J
11 SSS
+ 31 *TTF 51 - CFG
12 + SCS 32 *SCT 52 -JJJ
13 + STS 33 XSCS 53 XJVJ
14 + CCG 34 *SVT 54 XJTJ
15 + ST6 35 *TCT 55 *JJJ
16 -CTT 36 /TTT 56 /JTJ
17 -CTF 37 /TTF 57 BR EX
18 -TTT 38 /SCT 58 BRFI
— 19 -TTF 39 /ses 59 DATJ
20 -CSS 40 /TCT 60 BRUF
61 LIST
Quadruplet d'origine :
Quadruplet coda Î
rang opérande
Code opération rang opérande 1 rang opérande 2 de sortie
Nous remarquons donc que le code opération occupe 7 bits alors que
11 positions binaires sont nécessaires pour coder les rangs. De ce
fait, la taille admise pour les différentes tables décrites paragra-
phe 1X1.422 ne doit en aucun cas dépasser 2 -1 • 2047 positions dans
la mémoire.
de l'Assembleur
- 211
1. ORGANISATION GENERALE.
SOURCE APLUTIL
ECRITURE
- J — ^ et/ou fonctions externes
COMPILATEUR
COMPILATION PL/t ou FORTRAN
±
PROGRAMME OBJET
EDITION DE LIENS
MODULE CHARGEABLE
EXECUTION
MOTTNCN -.PROClPARAtlETRES)
. OPTIOtM(MAIN);
o u . PMunrrnu CHAR«4M> vnmiH*;
i "
| fCIHT»UK»A»Mt(PIMt»n»TM») |
iw«H*L.'cf»~|»!<:suatn>wrô,M)i«'c? >
1 ?»
3C
! — ^ f»«l»wi«M,«) »'W T 2>zA eon»»" » '»'»
ï ,
WORW»L » 7â"fe-<yiMT»lw»rô,< »>-i» r !>•
l
1 À *£.
wwwlt'o »1
£ — < ^ »y»«IB(M«M,l)j'l»' T
[*T<*w»tmnnic»,4,4)-«'»'^.
> — | T M I W «'0' »
I i r ,
IM»»*tll»0~~T*lSrC»''t«tB»«>t't.'|4)» W'? > | MORWKUt'Q'»
Nuaéro
du Rôle et réservation Renarques
registre
TABLEAU IV-4.
1 - PLISTART
2 - PLICALLÀ
3 - PLICALLB
Xls diffèrent par les arguments à transmettre.
Lorsqu'un s.p. appelle le PL/1 par l'intermédiaire de l'un
de c-is trois points d'entrée, ce sont les 'routines' d'initialisation
qui sont appelées afin d'établir l'environnement du PL/1. Le contrôle
est ensuite passé à la procédure dont l'adresse se trouve dans la
section de contrôle PLIMADI. Si la procédure appelée est la procédure
principale, automatiquement son adresse se trouve dans PLIMAXN. Dans
le cas contraire, c'est-à-dire quand la procédure appelée n'est pas
la procédure principale, il est nécessaire de mettre au préalable le
nom de cette' procédure dans PLIMA33T. Nous avons donné figure IV-5a
la façon d'opérer.
Le s.p. doit être capable d'appeler des procédures plusieurs
fois. La création de l'environnement du PL/1 à chaque fois n'est pas
la bonne solution. La solution est de créer l'environnement une fois
pour toutes. Ce dernier doit ôtre sauvegardé à chaque appel. Un moyen
est de faire en sorte que le s.p. constitue un programme principal.
Le squelette du s.p. est donné dans ces conditions figure XV-5b. Le
code dans cette figure permet au s.p. d'appeler le PL/1 sans beaucoup
de pertes de temps et avec peu d'instructions.
Une variante de ce code est donnée figure IV-6.
Dans la figure IV-6, le sous-programme MNYMAIN reçoit le con-
trôle du superviseur. Il appelle ensuite la procédure principale
MOTTMCN par utilisation du point d'entrée PLISTART se trouvant dans la
section de contrôle PLIXAIN. Le contrôle est alors donné aux 'routines'
d'initialisation afin d'établir l'environnement du PL/1. Le code de
début et le ~codë fonctionner de MOTTNCN "sont "ensuite exécutés. Une
procédure, CALFONC, que nous décrirons plus loin est capable d'appeler
le s.p. par le second point d'entrée ASMXBQ3.
Remarquons que dans l'exemple de la figure IV-6a» le nom
A5MXEQ3 est de longueur impairs de telle sorte que l'instruction sui-
vante est alignée sur une frontière de demi-mot. Examinons dans le
détail le code correspondant aux instructions de la figure IV-6b.
- Le code correspondant à l'étiquette PROLOGUE correspond à une
sauvegarde des registres de la procédure PL/1 appelante.
- 224 -
LA 1,USTARG
L 2JHPUMAIN)
L 3,'V(M0NPROG)
ST 3fi(2)
L 15.WPLICALLA) se branch* à l'adresse se trouvant dans PL1MAIN
BALR «,75 afin d'établir l'environnement du PL/1
• ••
USTARG DC Alargl) premier argument passé a MONPROG
DC W
DC AL3targ2) dernier argument passé à MQNPROG
ASSEMBL START
DC C'ASSEMBL',AU(7)
PTENTREE ECU * point d'entrée
STM 14,12,12(13)
BALR 11,0
USING »,I1
LA 2/SAVEAREA zone de sauvegarde du sp.
ST 2,6(13) chaînage
ST 13,42) chaînage
MVC 72to,2),72()3) recopie d'Informations pour le PL/1
LR 13,2 mise à jour du registre 13
»
tcode fonctionnel.Le registre 12 doit contenir en permanence l'adresse de début de la TCA.
•APPEL DELA PROCEDURE. PL/1-
L 15,*V(PUPR0C)
BALR 14,15
•RESTITUTION DE L'ENVIRONNEMENT DU PL/1.
L' 13,4(13)
LM I4J2.W3)
LR 0,13
BR 14
SAVEAREA OC X'90000000 ,19F'0'
ENTRY PUMAIN
PUMAIN DC AiPTENTREE)
END
START
ENTRY ASHXEQ3
SAVE U4.12),T,HNYHAIN SAUVEGASOER LE CONTEXTE
A0RESSA6ILITE ET CHAINAGES DES 3AVE AREAS
BALR 10.D 10 OYNAH. REG. BASE
USING MO OCL 1 0 REG BASE
4.SAVEMAIN AOOR SAVE AREA HNVflAIN
13.4(41 CHAINAGE ARRIERE
4.SC13] CHAINAGE AVANT
13,4 SA ACTUELLE
15,=VtPLISTAHTl ADRESSE DE "HOTTMCH",
PROCIPARAMETRES) O P T I Û N S C H A I N I :
BALR 14.15 BRANCHEMENT ET L I A I S O N
RESTAURER LE REGISTRE 1 3
L 13*4(13)
RECUPERER L'ADRESSE OE RETCUR
14,12(13)
HESTMJREH LE CONTEXTE ET
RETURN ( 1 . I 2 I . T REDONNER LA HAIN AU SUPERVISEUR
LTORG
SAVEHAIH OS 1SF
OC C'A3tttEQ3' NOH OU POINT 0*ENTRES
OC AU(7)
LSMXERS OS CH
!»•«*»»» Wtl»»ttW»l>«IHHHt »»«»•»»»«»»« « PHHH ;»Mr-WWtHi-»«HIM»«HIMI»»MMMMM«
"•waLio"
QUI EST EN ASSEMBLEUR ET DONT LE ROLE EST DE RESOUDRE
LES ADRESSES DE5 FONCTIONS NON LINEAIRES A L'EXECUTION
LISTE D'ARGUMENTS DRESSEE
1- RANG OE LA FONCTION INCONNUE
ENTIER 1/2 HOT
Z- ADRESSE OU RECUPERER L'ADRESSE DE LA FONCTION
MOT OE 4 OCTETS
,
|l»HHt»WIHI»»»#» tf»HHIt*»li^tHt » • * " * « • * « « »^«••*»«»**•l•»•*»*»»"»•*«» • * • • » » * •
instruct ions
L X914.7ZIXRI3) ADR. LIBRARY UORK SPACE P L / I
LR XRI5.XRQ
3TÏ1 XH14,XR0,73(XR1) COPIE ( L U S t . I D E B . I
ST XR13.4(XR1) CHAINAGE ARRIERE DSA
de mise à Lfl XR13.XR1 MISE A JOUR DE " 1 3 "
ST XRS.38(XR13> CAS D'UNE PROCEDURE EXTERNE
jour de la HVI ÛfXBlSI.X'flO' F U G PROCEDURE
HVI
HVI
îtxRisi.x'ei'
2[Xfll3),X*33'
F U G PROCEDURE
REPERER ASHXE03
DSA HVI
HVI
«4<XR13)tX'91*
95<XP13>,X'E0*
F U G ERREUR FOUR ERROR-
. . . HANDLER OU P L / I
EXTENSION 4 U F L i G D'ERREUR
BALR
Mir.nm.Mimui
XB8A5E.XR0 CHARGEMENT DYNAMIQUE
DROP XR15 CHANGEMENT DU REGISTRE D E . . .
USXHG «.XHBA3E BASE OU S . P .
*
» OHCTICKNEL
Remarques
1. Un s.p. appelé par une procédure PL/1 peut passer outre à la
gestion des cas d'erreur du PL/1 et assurer sa propre gestion de ces
erreurs. Il doit dans ces conditions fournir sa propre macro SPIE afin
de traiter les cas d'interruption ou ses propres macros STAB traitant
des cas de fin anormale d'une tâche. Normalement, il y a peu d'avantages
- 228 -
dans cette façon de procéder dans la mesure où le PL/1, lorsque son en-
vironnement est établi et sauvegardé dans le s.p. appelé, produit des
messages d'interruption assez significatifs. De plus, il y a d'autres
avantages que nous pouvons tirer du fait que nous opérons sous environ-
nement PL/1. Un de ces avantages, et non des moindres-, est de pouvoir
avoir la main par l'intermédiaire d'un bloc du type ONONIT permettant
de fournir d'autres renseignements plus significatifs dans le cas d'une
interruption.
S'il s'avère cependant nécessaire de passer outre la gestion
des cas d'erreur du PL/1, il faut fournir sa propre macro SFXE et de
plus sauvegarder l'adresse de la PICA fl12J. Avant le retour au PL/1
toute gestion des cas d'erreur par le PL/1 doit ôtre rétablie. Cela
est possible par utilisation d'une macro 3TAE ayant O pour opérande ou"
par utilisation d'une macro SPIE effectuant le rétablissement de la
PICA en fonction de la façon dont la sauvegarde et la désactivation
ont eu lieu.
2.. Nous avons utilisé figure IV-6 le point d'entrée PLISTART afin
d'établir l'environnement du PL/1. Nous avons par ailleurs indiqué en
début de ce paragraphe qu'il était possible d'utiliser les deux autres
points d'entrée, à savoir PLICALLA et PLICALLB. Ces trois points d'entrée
diffèrent par le type et la façon dent on veut passer les argumenta à la
procédure appelée. Essentiellement, les différences sont les suivantes :
*1 0 0 "
A = 2 3 0
_ 4 5 6 _
fr 1 6 0 0 0 0 0
KF « 0 0 0 0 0
F F^O 0 O O O O
/OH
c CAU=OHCQt,î.f,«« M*m) l
îi
EJWOR BESUI} I F KNÏ«>0 THW CAU. » B I K T ( D « l V X , l
( ewpnm p s,iM»,KHTit nn *ui,M«T,8 x)j
f t > > > IHDJ
|
l»nj)TiHMi>ivn.iift.a«».»'a»M*'«nW'»> I
KNTK)
MtT,KNTft)
-+•+-
I IAW.UTIL(8WHXf,6J[m,IN>»M 5.yAl.g<m,X)1 1
- g = = _ ^>
" nuwun-wwL?
/ O K H C0OJ6JT / À R E M M I O 1fTM,NCoy
/ IMWIT h" yi»,Ttiu,»«",nn«,B», /
h
ALLOCATE 'GET(conuT) W W I I H H / r
IMITA*, HTIMP,
AUKATI HOMIMN
NHOWt,VT«PB
/atTlMWCTT) 1—U
NHLTAaiimnr.nHtw OONSTMfTI* AU |
«TP«J PMtltM*
VT1>» /
/ AU.OCKT» VAIM«
HA3I.LH; «A*I»L«SMAW»LM) « « « . I . M
(nmuli PIS
romnwsPM
mma)>)F|
FMMHIUAPML.'or 6 J»
T< C L O S E . eenowT
7
PWHVUÏSPH
pnmsais PIS
M i m M i Pfti
Poim»B)iPF4
PLIRXEQ (PREF,J,T,K) .
P.fBEF
A5PlXtai(Tonu,TOPiu,TOPM,Tonti , x u ) ,
»M>, T«),ato), FU), otmvxu), VAL&OIUO),
<IW>)
LU*
12 MAXS
(fin PUHXEOT)
UNassuunctcHM,i, s)
«ECODEA
*—
TOPM>»0
TOPHO<5t? /oui.
TOPK»<bi >SMXESt
>.
ASWEC3CTomt>,Tonn,Tomi,7o«s ,Ti»),ttft),xit)
{ PLnXEQCT»B,t»AT,K) )
Mnxeai(TDnu,TetM,Tana,T«m,M4,
-CEE =«,ITA
1
m» Mixta _T\
»ICODE*.
TOP«.6>sO
I / TOf«.D<*iN $»twess.
MnxM3CT«pnt,-r<'"i,7omt,7«fn Ti»,3uA,ii»)
l
CAL FO N C
<56
K rang du
quadruplet
>56
\
)
ASMXEQ3
FONCTION APPELEE
fonction interne en PL/1, CHEMIN REEL
fonction externe écrite en
PL/f, FORTRAN ou AL360
1
I chemin ASMXEQ3
( apparent
restauration de l'environne
ment de la procédure
I CALFONC, récupération des
arguments temporaires.
CALFONC
suite...
externes
- 237 -
/« OECOOAGE ET TRADUCTION OES 56 PREMIER! ITPCS DE COOES */
ASrKEQ2:PSOC(COrD»ZOPliJOP2«iaP3rV.S.T,GtF,D,C.Ji;
/• ..-.„..-...-«. ..—-.. —--, _........---»——
DESCRIPTION DES PARAHETRES REÇUS:
COOP EST LE CCCE DE L'OPERATION.
XOPl EST IE RANG OU FREMIER OPERANDE.
IOP2 E5T LE RANG DU SECOND OPERANDE.
IOP3 EST L'OPERANDE OE SOTTIE.
V EST U TABLE 0E3 VARIABLES.
5 EST LA TABLE RECEVANT LE5 ELEdENTS OE LA JiCOOIOPIE.
T EST UNE TABLE OC t'i>VEG4RDE OES RESULTATS TEMPORAIRES.
« ESr U TABLE RECEP1RICE DE L'ERREUR ASSOCIEE.
F EST U TABLE RECEPTRICE DE LA NORME.
0 EST U TABU OES DERIVEES ASSOCIEES AUX VAHIÂSLE5.
PAR RAPPORT A U VARIABLE It (DEFENDANTE.
C EST LA TABLE OES COttSTANTES tMIERIQUES DU PflOOLEItE.
J EST UME TABLE OE SAUVEGARDE 0E9 RESULTATS TEIirCRAIRE5.
_„_„_—._-———.—--_-—————————— — */
DCL APPEL1561 LABEL AUTOMATIC;
DCL (V,3,T,G,F.D,C.JII»t DEC FLOATI16K
DCL (CQPa.I0Pl.I0P2.I0P3» OKI FIXED!31.0I1
COFO«COPO»1!
/• »/ GO TO APPELCCOFI'Î /• */
APPEL! I l : T(IQP3)*CtIOPli;RETURN;
APPEL! 2 1 : TIIDP3l*VllOPli;RETUlli;
APPEL! 3 ) : TIIOP3I-0IIOP1KRE1URHI
APPIL! * ) : SIIOP31iCriOPIi;HETUnti;
APPELI S U SflOPStsSIIliPDiRETIIRti;
APPEL) h\i G I I 0 P 3 | S C ( I 0 P H ; R E T U R H ;
APPEL!41K FI IOP3 l*T! M P I I"RETURN;
APPEL!HZ I : SI Itll'3 1»J! IOPI ) IRETUPII!
APPELI43K JIIOP3)3ClIOPt>:RETURNi
APPEL!**): jriDP3)»SIIOPli;RErUFN(
APPELU51; T I I 0 P 3 I ' T ( I 0 P 1 I ; R E T U R H ;
APPELI5011 J|IQP31«-J|I0P31 fRETUHH;
APPEL* 71t THOP3l«CllOPlt»T<IOP2);RETURrU
ArPELl a i : FU0P3HCIlOPlMTU0P2>;RErupn;
APPEL! f H TfIOP3l*niOPII*TUOPStiPETURNï
APPELI 10K FIInP3)*TTICPlHTUOP3>iREIumi;
APPELIll): 3U0P3l=aiI0Pl»*SU0r2»iRCTURN;
APPEU12I' SfI0P31"SII0PlliC(IOPZ)iReTURHi
APPELI13): SCIOP3]xSIIOPll*TIIOP2>.RETURIU
APPELtl*)- 8(I0P3l3CII0PlliCITOPZ);RETURH;
APPELI15): SttaP3MGII0PlliT120P2)iRETURHi
APPELI 1*K TIIOPSHCIIOPll-TIIOKMRETUmii
APPELI 17If HtOP3)*CIIOPll-T1XCPS>;ReTUKIÎ
APPELI 1 0 I : TII0P31*TI IOPIl-TIXOPS >IR£TtftMt
APPELI I f >: PI IDP3)»TI IOPI l-TI I0P2 KRElUtlU
APPEL!20> ' SI IOP3KCIXOPl l-SI IOP2l'RETURMî
APPEL! r i ) : SI ÏOP3 )"3I XOPl »-CI XOP2 > jRCTURIIÎ
APPCII22): SUOP31«CIIOPl)-ClXOP2liRErURHi
APPELIESIt SIIOP3)'SIIOPI1-31IOP2tiflttURH;
APPELI 2*1 < S(IOP3)*SIX0Pl)-1UOP2IiR£TURHi
APPELI251: 3UOP3l=CIIQPlt-TIIOP2)îRtTUKHt
APPELI 2* t î 61 10P31*C( IOPI (-CI IOP2 »-RETURNi
APPELI271: GUOPSI'CI IOPI l-CUOPSliRETURN;
APPELI201: T(IOP3)z0fI0Plt-TUOP2>'RETURNI "
APPELI211: G(XOP3}xGIIOPll-TIXOP2»iRETURIi;
APPELI 3t1 s TIX0P3)»T(IOPIl«T< XOPS »iRETURN!
APPCLI31JI FIXOnisTIXOPlINTIlOPEURETURNl
APPELI32)' TIXOP3l*SllOPll«CIXOP2l'flETUHNÏ
APPEL!331i SI X0P31*51IOPIJ«C(XOPSI;PETURHi
'PPELI34I* TII0P3USI IOPI l«VII0PC>"RETURN!
APPELI35I; TIIOP3}sTU0Pl)*CIIOP2i;REILlPli;
APPEL!341.* TllOP3|iTI[OPll/riI0n2i;REU*(;M;
AFFELI371: F! X0P3)*TI {CP1l/TIIQP2liUf H"RH"
ArPEKIO): TIIUP]13SII0PI)/Cll0P2liRi:ilJRIi;
APPELI39H S<tOP3lsSIIOril/CII0P21-PElURIIî
APPCLKlO)' TII0P3)KllIPP!l/ClinPC)iPCH«M;
APPEL!** 11 G! I0P3ISGI IOPI 1»Jl I0P21:P.t ILJRNi
APPELI*?H JllOP3l*JltOPI I*JH0P2IÎPE1URHÎ
*PPELf*«)i JIIDP3l>CIIOPll-JIIDP2KRerURtli
APPELI*?li JU0P3J*J< lOPII-T'lOPEI.RETURN;
APPEHS111 Gl I0P31*CI IOPI I-PI10P21 'RETURN!
APPEL!52 11 Jl MP31Z.H IOPI I-J-10P2I(RETURN!
APPCLI53J' JII(irj)=JUCPl)»VIIOI':iiHClUPIIJ _' y-- A-*
APPELi5*ii JiiaP3i'JiiDPti«TiioP2i;nEruPNi r l Q U r fi 1Y * 1 J
ArPELi5sn jiiapsi-jrTOPII«JIinpsiïflEiutïfii — i -
APCELI f7* i : j i t n c j i s j i mpi J / T I I O P Î i;«r IURII;
EIO A5MXCQ2;
- 238 -
IV.4l. Introduction.
T(1) = -D
T(2) = C*T(1)
T(15) = B+T(2)
Cependant, ce type d'optimisation ne peut Ôtre que local.
1 1
L instruction CHARGER X place dans un "accumulateur' la va-
leur contenue en mémoire à la position repérée par X. L'instruction
ADDIDTIONNER Y additionne la valeur contenue dans l'accumulateur à
celle désignée par Y, le résultat se trouvant dans l'accumulateur.
L'instruction SORTIR A met en mémoire à la position de nom A le conte-
nu de l'accumulateur. Signalons au passage que cette dernière instruc-
tion n'est pas destructive.
Dans l'exemple précédent, nous avons supposé que la machine
de traitement ne possède qu'un seul accumulateur.
Si l'accumulateur contient initialement la valeur associée à
la position de la mémoire de nom X, alors l'instruction élémentaire
CHARGER X est inutile. Il faut en tenir compte, lors de la génération
de code. Ce type d'optimisation de code est fonction de la machine sur
laquelle s'effectue la génération.
l'opérande. Far exemple une constante est accessible par un indice dans
la table des valeurs numériques, alors qu'une variable et une fonction
interviennent directement par leur nom qui est placé dans une variable
temporaire.
L'optimisation du code est jugée en fonction de l'utilisateur
du programme. Il s'agit plus d'améliorer que d'optimiser :
- 24a -
c U c o d e
•*• " ?£2É£ --2£ °- -
Nous disposons de T.. , ... , T_ positions temporaires. Le code
est engendré de telle manière qu'une fois évalué, il laisse la valeur
de l'expression dans T-. Une fonction CODE (n,i) engendre le code cor-
respondant au noeud n en fonction des codes de chacun des descendants
directs du noeud.
Appelons CODE (n ,1) le code correspondant à la racine n ,1
étant le numéro de la position en mémoire où est laissé le résultat.
Comme à ce stade nous opérons sur des arbres, nous définis-
sons sur l'ensemble de ces arbres deux opérations :
- Une opération d'enracinement qui correspond à l'appel de la pro-
cédure CODE (n,i) avec les arguments correspondant à l'opération à
évaluer.
- Une opération de concaténation qui correspond à la concaténation
de deux chaînes de codes se trouvant dans deux positions T. et T. ,-.
Un noeud est dit MINEUR si c'est une feuille avec étiquette 1.
Un noeud est dit MAJEUR si chacun de ses fils a une étiquette
supérieure ou égale à N (N étant le nombre de positions temporaires de
sauvegarde).
- 243 -
L20
B - Çontrôle_de_génération_lors_de_la_tra^ [viOJ [ J•
Il existe une différence fondamentale entre le calcul algé-
brique et le calcul numérique sur ordinateur :
- le calcul algébrique porte sur des opérandes infiniment précis
et les opérations y sont supposées faites avec une précision
infinie.
- le calcul sur ordinateur en virgule flottante porte sur des opé-
randes qui possèdent un nombre limité de chiffres significatifs
et les opérateurs qui les traitent ne sont qu'une approximation
des opérateurs mathématiques correspondants.
Ainsi, toute opération effectuée sur un ordinateur peut en-
gendrer une erreur.
Lors de la génération de code, il faut s'assurer que le pro-
gramme qui va être transmis au module d'intégration du système NEPTUNIX,
ne dégrade pas progressivement la précision des résultats.
En effet, il serait fâcheux que l'algorithme d'intégration
dont la convergence a été démontrée [M3OJ puisse diverger lors de la
phase d'intégration parce que le générateur de programme produit un
code non valable du point de vue numérique.
ce 9(p e s) = (a 9 (3)© T
Par exemple l'addition peut être une opération associative. Cependant
il faut être prudent lors de l'utilisation de cette transformation.
En effet
CC +(0 +7) peut être différent de (a+(3)+ IS
a 9 ((3 9 v) = (a 9 p) 9 (cc 9
t 2 1 2 1 v).
- , e : r uc
** îSÏ2EÊi_-2-iS _ïïé*^2Ë P od- *ion 'Vun code transportable.
L'intérêt de la méthode est d'écrire un programme indépendant
de la machine tout en conservant des performances acceptables. Nous
avons pensé que le langage de haut niveau (PL/1 ici, mais pouvant être
aussi FORTRAN) constitue une réponse à ce problème. Un bon nombre de
critères ont été pris en compte.
- taille du programme
- niveau d'indépendance de la machine
- dégradation acceptable de performances.
Un complément évident de cette transportabilité est l'adapta-
bilité des programmes que nous n'aborderons pas ici.
- Zk7 -
V. CtNTRAO
DECLVAR
! FONCTIO r
<^y
tPFEL.FOUIll ,1 , FREE JACS
y »*X4CU* /
FREE JAC3 f
«EXECU3 / ^
f e/s u./
/ ^ —C5E±>q
XMITVAR
INITVAR
X
APPB..POURI «AJ5 ,
PJ5)
1
^ L
AFPEk.POUItlOXMU), PAMHUSC fUTRA0(FONÎ,MF3,
I» TNOMFON.TPMinN)
F M E FOM.rWIilllX.TNMireH.TMKfON
C FIN du S. P . ~ \
CENTRAD J
/cumui,F«iu.ucnmkk
( OV FltHlM FONCTM I
^ A
OMN FlLMFOHCno) /
INFUT /
/
1 '
GET FiU(FOMcno) /
(BFON) /
/
TF0H-.»FOH«a
AtUC TNOMFOH.TFARFON
«L2E
^
OIT «IlKrOtlCTIi) ( NOMFON , PARFOM)
7£ OSE f l L t ( f O M C T I Û ) /
<s
<
J x FARFOH
Dt!••»
7
»UT F I L Ë ( * O R T I M ) C ' O t C 1 PUTflLE(SOItTIH)C»KFLOAY
'LOAT«t>, B U FLOAT (4b) ' )
IS 2
FINduS.P.MaVM P3X.I
<! ) C*RTt.'#f'llNOTOOSNCI) | |
'=AOWU*Xt'PUir)V,'
C«TE»'OU. 'HMtaKMXJU'Mt
FLMT(M) SAM» If P'HNOKIUIIO
JII'V,'
ï
/FIN
5
au S.MNfTYAP.
/
/ F U T nu(«MTiis^
(CARTS) /
PUT FlUCSORTIiy
(CMTC) 7
/
LT» DIM I
PT.PHT
EXACT» D I M / 5
T
PUTRA»(TABU,lXACT,THOI<irOW ,TPftRFON )
Longueur
Nom Commentaire
maximale
GBR1 MAG1 Codes pour calculer les fonctions d'erreur de type î"
2) B/S 1 :
C'est une opération d'entrée/sortie sur le fichier SORTIES
de la génération correspondant à :
1. L'ouverture du fichier en mode écriture par flots
1
2. L écriture du début du programme engendré.
Nous trouvons dans l'ordre séquentiel les chaînes PL/1 suivantes :
/* titre du probïème_ à_ répéter sur le listing de la compilation '*/"'
SEXECUT:PROC(SC,SD,SF,$S,SX) REORDER;
DEFAULT RANGEE(*) STATIC;
DEFAULT RANGE(#P) PTR;
DEFAULT RANGE(MN) DEC FLOAT;
DEL (SC,SD,SF,SS,$X)(*) DEC FL0AT(16);
Ces instructions correspondent à des déclarations portant sur l'ensemble
du programme engendré.
3) E/S 2 :
C'est une opération d'entrée/sortie sur le fichier SORTIES
correspondant à la création du premier point d'entrée du programme
engendré qui devrait commencer sur une nouvelle page lors de l'édition
sur le listing par le compilateur PL/1.
Cette opération symbolise l'écriture des chaînes suivantes :
<$PAGE;
#3KEP(3);
RETURN;
«{PAGE;
SEXBCU2 :ENTRY( SC,SD,SF,3S,SX);
^SKTP(3)>
5) E/S h :
C'est une opération d'entrée/sortie sur le fichier SORTIES
1
correspondant à la fin du second point d entrée et à la création du
troisième point d'entrée. Le troisième point d'entrée débutera sur
une nouvelle page à l'édition et groupera tous les termes du jacobien
non linéaires et *iutes les normes.
Cette opération symbolise l'écriture des instructions PL/1
suivante»s :
%SKIP(3);
RETURN;
SPAGE;
3EXECU3 :ENTRY( SC , SD, SF, SX, SX) ;
£SKEP(3);
6) ES/5 :
C'est une opération d'entrée/sortie sur la ficnier SORTIES
correspondant à l'écriture de la fin du programme engendré.
Cette opération symbolise l'écriture des instructions PL/1
suivantes :
#SKEP(3);
END ÎESECUT;
- 25k -
IOC OBJECT CODE AOORl A00R2 STMT SOURCE STATEMENT ASH 0 2 0 1 2 3 . « 06/09/76
00000320
72 D E F I I I I T I O I I OES o r . 10H5 DE CKIPILATIOM ET DES F I C H I E R S 00000330
74
*
7 3 1K»***)l***l*»W**W'*WHPHn**mr,m»n*M*n»nm****M****1'm***W<l*m'**tU**mWMm**
m
00000340
75 * PARAMETRES OE LA COMPILATION «
00000350
00000360
74 • * 00000370
77 CAS DU I A COMPILATION SE F A I T SANS DECK a » 00000380
0OQOE4
O00OE6
0700
0054
78 »
79 LISTOPTS
CIIOP
DC
2 . 4 00000390
H'8V 00000400
0000EQ D5C1C76B05C16BC3 eo DC CL47'tMÇ,HA>CSI60 E B I , C . N C T . M D . H I S , L C t 5 7 > , M 0 L I 3 T . l l 1 . ' 00000410
000117 D3D4E2C76BD5C5E2 Bl DC >
CL37 LIISG,NE5T.OPTf2^S>M0STMT,STG,IK.FfE> ,
00000420
62 CAS OU LA COMPILATION SE F A I T AVEC DECK «
00013C 0700 83 * CHOP 2 . 4
00000430
00000440
DDD13E 0057 84 u s T O P r A DC H*63' 00000450
000140 05C C76B05C16BC3 65 DC CL46'IIAG,HA,CS(60 EBJ.C.HCT.D»NIS.LC<S7l,HOLIST,HHV 00000460
J0016E D3D4E2C76BD5C5E2 66 DC CL37'U1SG,HEST,OPT(2»,S,tlOSTHT,5T6,HX,FIEr 00000470
67 N • 00300480
98 HOHS OES F I C H I E R S ffECE5SAlRES * 00000490
000193 00
89 « m 00000500
000208 0 7 0 0
108 »
m
CHOP
m 00000690
109 2,4 00000700
00020A 0004 ISO PACE DC H'4" 00000710
00Q20C 0 0 0 0 0 0 0 0 111 OC F'O' 00000720
000000 112 EDO LOADPLI 00000730
La liste doit commencer sur une frontière de demi-mot. Les deux premiers
octets correspondent à la longueur de cette chaîne.
Tout nom de moins de huit caractères est cadré à gauche. Un ou plusieurs
blancs, à droite, sont utilisés comme caractères de remplissage.
Lorsque le nom standard est utilisé, les 8 octets qui correspondent sont
mis à zéro.
e) VL=1
indique que le bit de signe du dernier mot de la liste des paramètres
doit Stre mis à 1 avant l'appel.
r
Cela correspond à X'80 dans le premier octet du dernier paramètre de
la liste. Cette indication correspond à cell* de fin des paramètres
transmis.
Le programme-source se trouve sur le fichier SORTIES.
L'édition du compilateur se fait sur le fichier SORTIE. Le binaire
correspondant est chargé sur le fichier BINAZRl^G qui est transmis à
l'étape d'édition des liens en vue de l'intégration. Une copie de ce
binaire sur cartes est effectuée si l'utilisateur le demande.
- 259 -
Chapitre V : EXEMPLES.
dn _ p(t
-Sa* I a. c. + s
i=1
(V.1)
dC.
i -S n - A, 0, 1 à 6
dt
= »{«).
n (t )
0 (t)
±
(v.a)
-— = X (PN-X )
i i pour i = 1 à 6
Valeurs numériques.
2,8 10
5
0 g = 84 1 0 "
- 5
0, = 240 1 0
- 5
0^ = 210 1 0
- 5
0. = 170 1 0
- 5
0, = 26 1 0
+
0 = Pi 0 * ^3 p
+
2
*h **5
e
*1 = 14
A 2 - 1,61
X
3 = 4,56 ID" 1
\ = 1,51 io- 1
*5
= 3,15 io- 2
»6 = 1 ,24 io- 2
- 263 -
OUDUSI
EOmGH
COUPTLATION
- 265 -
TUT DES EOUATXOHS DE L» CXHETXBUC.
L D C A I R E t S O i r n E DENUBEE
toei « i l i H t a a i i too* o s i i M M MOT
uHEuitE.ac*nE DOUHBEC
0001 OEM
UNtACTI.MtrTIl HON DEMANDEE
e a u B i u «BSf
untÀ3Mt,aamM NOM OBUNBEE
OHl tOI3 MBS
UHcuHEiiarrie «OH O D W M I
BBDl IM* MM
UHEUKEiMtnf HON ODtWOU
0101 1MB I I »
UHtAX*E.MtTXE HON ODWCR
M i l MM «104
LXMtUflC.IOJTXf HON 0OUHBE1
• H I OMT HOT
vMBurcmsTWTt
Tom « in
7.MM0IHM1
l.lMMMC-f)
L i m m M i
••MMMH*«t
S.IMIIMf-M
l.f
MffTXZS TAJUUt* ET OUMC9 Of HtUTWIM
C0UP11ATIÛN
n» m n u u o s L'ÀHUTM
• W I O'EXTWMW M U «•LXOTHEM
- 266 -
SOUKI u r r o *
OECUMTtOHi m m i A
DCL icr*t*i ate r u u n u i STATIC IHITI
UE-S.Ml'I.ttH-liSlH-lilTH-I.ME-III
KL UlTFt MC FLOATIU) ITATXC D m u . K - O I
KL «i» DIE FUUrUll STATIC IHXTKII
KL J UX TXOO tHCTIVJI
KL rMLTM.UnuiI DEC PLUTtUII
KL 0UUT i n i t l STATIC INCTI't'tll
u ( court THU oai / • CALCUL D I 'sun' «J M i m n * m i » /
DESUTCS'II
KltMl
DO J»l TO *t
MW*UM€T*tJM
ENOI
FONCTION EXTERNE
Ï M I U T O H oi srsnws *Lanm-oirrefEHTiELi
L U ratAMnca ei et W > M I m r r
« ou n o n «ma
u u u IT
ruaca U V M T
(•CtD.IF.tl.lX)
n / x OFiuuiua) a a n n m IBUATJB» H
*n i a KL i aie n u T i u N K c FLDATIUI
) M I W a i H C FIDATIUItt
na i • (tc< « i . i r . i a . t x t
IF R t s r mm H I
1
FUIT» »'»!
MCaADMUCtllll/wlAM COWTAKTt *M K i l l
HI
m «irtoin/Ktaaai
tat T)«tciip*/te»«itt
itt aiPiesiPi/icaaiti
itt
*tt
*)iietiB*/f'.Mi(t
tai>K9aar/tcHt«i PWRAMME ENGEimE
tSI U1«CM»»VIC*0I»I
«ai l i i w w m s '
«it i s i r t c a a u i
III lTKfCtaMI
it-i i f i r t c i a u t
It! ttlrtCMUl
1*1 tll*ICM17t
• • • i t mun i
268 -
(IC.W.IF.I1.IK1
m UI*-IICMIII*IIIJII
«i ntbiMsaui>*i(3ii
(II ttl*-llGMUl**lt31l
« M I S RETUM
itc.H.tr.ti.ixi
HI .«HOT •»l>l
131 UHM E
ft u>conar><rr .m uni
i w loacuT
PROGRAMME ENGENDRE
- 269 -
FM SI MTUMMI I.MHI-K
Td»> MCTIAL
Miiuxau) i.MMt-U
t.NHMI
MRVMUIU
IT
i.HHIXl
I . M M l . CI
i.nwi.ti
i.u*n*«a
l.UfttMi
I.urn.»»
•l.flll!**!
-I.MHEttl
-i.tnttii
•.1lt«E<*l
T.UME'll
7.ttHUn
.«TTTEtM
-M)tE<B*
.**Jl(*9t
•T.171*1*11
-r.jjjrt.ii
-T.llT*t««
1» i.*i(n**i i.itm.e* 4.I1I7C.I1 i.unutx .IHtl.H •T.EKlEtll
1* t.Mwm L.lMÏItC» •a.u?*t*u T.:IMI>*I .i9*tf<n -MlklEdl
t.Hietxi t.lMMMI -i.raju.et T.11Elt*CL •K:*f*ei -T.Itttt.01
I.eXICIXl t.umrii -#.7MJ|.0l T.u«gE>« .i;toi*n -T.aart.oi
4t J.lKCiXl 1.IMU.il •*,7:ititei T.MHIMl • llMIMI -T.ITWE.M
l.USCI'll i.ikrjt.n .*.71071.11
i.tteeixt L.mute ••.*7JM*I1
j.nct.ci l.17Tll.lt i,isni>ii
1.1IITIXI -l.ttlMtll
i.:>»!••» -«.ttiite.ti
IB
>-*»»(>•!
Ï-J>»l>ll
}.»1»E»J
l.Mise.oo
i.l*?:>>»
•i.itr*i>ii
• t.IMtl.il INTEGRATION
l.r.titoi (. » « : ! • • ] -i.ii-je.oi
11 J.TWfT.il I.£9TM*I3 -4>NtIlll
It JII«3t>(I i.mmos -«.LtDTt.Ol
It J.tJlJdlJ i.:if;«t« .*,«:(!.11
1* • -4KOK01 i.;;nt.oo •«.•triKii
I» «.etgeoii I.:EIIE*M •«.»*)E>I1
*.!•(! )l.11 l.iMOIi» -l.IMtl.01
IT +.:ir;«.« I.:Ï*TE>» -I.JJlTl.dl
1* «.JtfGCïl Litmus -«.)SIDt<«
- 270 -
1 ! I>--
1 1> - i
1 i i >1 1 i
1 1l - r i i
...---t"T M M M i M
*.:&••• i.:u*«t i.ut*«i t . u n n j.ui*n i,Tn**i !•*! *.m**l I.3H*S1 t.KE'IL *.Ml«l
i t i i : : i i i : : •• » i
i i t t t : i : î i • —i i
i t i i r i i i i «i» i i
t i i i t i i t IM« i c :
I I t 1 I I t t *» •! I t 1
i i i i : i i ia**i i : i
i i i i t i i » • i i i : :
t t i i i i ***i i i : i i
t t i i i . • i t t : i i
i t i i i •« i i i i : i i
: i t i w* i i i i i i i i
: i : « » x i x i : t i i
t i i •• i i i Ï i i i i i
i t ">i i i i i i J i i i
i >IM i t i i t i i i t :
• » i i i i : i i : i t î
4.2»*aB [.:«••«! i.i»(*M :.*«•« i . l i m i i.n(*ti « . m o i *.*tt<si s.sn*n «.iit»*i. ».m<ei r.*»i«
Î.VTEGRATIÛN
- 271 -
V. 121. Définitions.
Le DOME est la portion d'espace limitée par la vanne d'admis-
sion à la turbine, la partie haute du générateur de vapeur, le plan de
sortie des séparateurs-sécheurs et le niveau de l'eau dans la chambre
d'alimentât!on.
La CHAMBRE D'ALIMENTATION est la portion d'espace limitée par
le niveau de l'eau, l'étranglement qui définit le début de l'espace an-
nulaire d'injection, la paroi de 1'évaporateur et la paroi externe du
générateur de vapeur.
L'ESPACE ANNULAIRE est limité par l'étranglement qui le sépare
de la chambre d'alimentation, la paroi inférieure du secondaire, la
paroi de l'évaporateur et la paroi du générateur de vapeur.
L'EVAPORATEUR est limité par la partie basse du secondaire,
par les séparateurs et par la paroi cylindrique.
e
V. 122. Ç .22£iE£i25_£255âîE2_ÎÎ!i_52ïÎ2i2 *
Le modèle correspond à celui décrit en Il est détermi-
né par :
1) les phénomènes thermodynamiques dans le dôme représentés par
un bilan de masse, un bilan d'énergie et un bilan de volume ;
2) les différents états thermodynamiques du mélange de différents
courants d'eau liquide dans la chambre d'alimentation ;
3) un retard et une perte de charge pour l'espace annulaire ;
4) un bilan de masse, un bilan des énergies et des équations entre
les entrées et les sorties de 1'évaporateur ;
5) un modèle point pour le primaire, dans la gamme de variations
fixée ;
6) une boucle de régulation de niveau.
272
«Aw-....
_9ii!r.!hi?Ss:.._...J...
.îlîfKiî. .îftWîîT*.
s e e s
v. 123. §i25 .âi£2_.É .2_£ï5È2i . .'
Le tableau ci-dessous précise pour une même variable :
- le symbole mathématique (colonne (1))
- le nom mnémonique utilisé pour la simulation (colonne (2))
- la signification physique (colonne (3))
- l'unité (colonne {k))
Symbole ^ ' 1
Nom <> 2 (3)
Signification physique Unités
mathématique mnémoui lue
P
h PH Pression en haut du mélange bar
P PBI Pression dans le îuélange bar
HI diphasique
chambre d'alimentation
D 02 Paramètre de contrôle
2
N N Niveau d'eau m
WPS WPS Puissance transmise du primai- MW
re au secondaire
T
PM TPM Température moyenne de l'eau •C
primaire
T
T TT Température des tubes •C
3
PLS(PD) ROLPD Densité de l'eau saturée kg/m
à la pression Pp
fvsCPD) ROTOD Densité de la vapeur à sa kg/m 3
turation à la pression P~
3
la pression P.
PvstPj ROVPH Densité de la vapeur à sa kg/m 3
turation à la pression P h
J
dpLS/dP^. DHLPRI Dérivée de la densité de kg/ra /bar
l'eau saturée # pression en
P
RI
cipVS/dEVPjy. DRVPRI Dérivée de la densité de kg/m /bar
vapeur saturée $ pression
a n P
RI
- 276 -
T
SAT( P R I
>
TSTPRI Température de saturation à °c
la pression P_-
H HAL Enthalpie de l'eau alimen MJ/kg
AL taire
ROAL Densité de l'eau alimentaire kg/m 3
PAL
6(t) EPS Ouverture de la vanne
1
TEP Température de l eau primai "C
^EP re à l'entrée du GV
T TSP Température de 1' eau primai •C
SP re en sortie du GV
u U Coefficient de pondération
V V Coefficient de pondération
, ,
TOM.if*i^ni.c.ttr <n.oe4^aTT *i«tW«.oi
M I I un^M.tt£.m*H3.atiTmM.T»Mtn>t.2io.KVfl>*t.rM4.
. Nim»i.ei5^v«tnt.7ji7.H(jw»i.aM,KWHn,r»*i.
,l
0HVIO«.l.lir'-I MLMIia.SfH -1.0HVMIbi.i3*7—3t
l
«TT» DWLW«l.4I7S-*l.B(Vm»-L.UK".*.MtFO»TI».Ml
Dim «wn>>H.4TiinLnt*ri7.4*>iovMii».H<iatwint,m
m m tavm«M.niomv*a»r.4r'<tiDtima-i^M*<on-ma).jiir**ii
WTTI T t T W « t T * . t l . T 3 7 W I » t r j . M . 0 W » ^ I . T r ' - I j a t M . « W I
m m n«i««*3.aiNen.i.fpm.3tTip>ru.«ii
WXTI r j n t | t . t t , | | M W , U , ) M J I ] H , V M . I M M I
WTTt TtT*lf.4tt**.6PM>.fr'll
CWTfHTAIW
'•••• « H H t'DttTMUUTIOm
inn
mots otcunrxoM
L'OMI 0 » MCATTEMS M'lIT H I XMOM.
L'wewi mat»* m c m x n IMSUIMOT A T » of n c i u m us
v w m u n w » AVW u rojtu o r j t m u .
lUNUI'l
1> SfV*«C-4fV*HVfl'*HU'I
i> Ktmfl'iiHv«>oKvn<nfl"wini/(HLn-Hvn)«n'i
i
n oa-fiL-«i*«e»*.ii«iceji*N *DOCA'*U.U4MIII
f i nva<«ovn>'iti-<.it*Nii
t l F0HCTI(Q«.*,»U.I,IM,t.Ifm.#1I
e c r r a m n i osv-iti.THo*m/(feirrui3iTtTre«i73iii
,
71 »il -«.JiM<0iM)IV-tHI.'e9*M't«V-«AL'M
I t 0I'-IM"-J«fNC-OI-ll00rtl'>t
<l 01t|*01»HI
m Ho<MCi*rowuM
11< r0-4.«4»iaCA/00l
131 »F0-«MI0CJW(10.M+l.l*«t<t**.«"-S4<]H)1
n
!*• OFl-<i.*ï -i/t]*raui/»ot
in nt'n>*ont
i*> m*u**n-v*ire*onH
171 IOri-*U«HMOVF«-tt-*lHtH«0lPlt1
m efmiMMvm^otrtr)>HJtnfjF-âLfi»i»o»vFti-it-UFiJit)")ftF*ii f V l U P T ( ATT ON
, l , w i r t L n i i V t
HI ^cllOvrtr•«otF•t)'lotwtF•*trl•^ol^vnïHI-AtFJUl:)•o^lrtIl•Mt "
•i«r-«i/fH»rmn
:oi 4Lrio*«ti't.7ai(i>xiii)'(wovp«t/iaimiii
HI HFMHILfM.ïfll
111 0lMIFit»ir*0lî)-il.MI)»OMrrB*-X««itJ*HI
j i t *uAH-<tiovp»L-»oimt»t,r»j-ii«ox*niF
-t i . Ti/i ROLimi i a 11 •< j - w i i n RovPM»ottm-ioim»oiivrm ) i
£*l HO-*tn»*OVFH.It-4LrAI>IIOLFHI
- 2?8 -
Tttr M u v n i o N t . noons n «NBUTTOI n v
Mt ts> IMBW—i««M|*MiM»MMl'-tqBMB • « m w i / f T c w w n
«M ï»i mi-VW-Wtl
«f* (7> M W I W M M I M Ï M W M U W I I I
«0 lit jnlfflMMKMIlH-Mimil
««• tf« >M1>XI<II
IIM m MV-XXI
IMt MHtI-Mtni)MDtlVf«I-<Mim)l
lua n> AIHH>MII->O«U.ÏI"«MV«/MI*II>I.*I .
1M» JJI ÛH»IT*-U»#Hrt*-V»«tft
11*1 l i t tHVfH««ILMI»<tWr»<HVWHfUWI-<IIIM» a H W n i W M U f H f
MM I(HVM>MIMI|
tarn » • »'««•»•«»-«'i*i.7--n
un 17) M U D i N i a i i t a i M c i - m i n a m M c i t
UN Ml m-m»«.U"-f"U(.*"MflEI*W«IHI.O--MM/rT*ra>»>l*ll
in* »» raHen»Mtti.sa>**dii<i(otMZ>*it
un camomm owt-i.7T--4MAOTwoi»«uj»j"«iir»i/*uwi
UM *VK OXMMKM nflHllUiSM
uu *** raw*tum>.i.ca.t.«oei.*ii
X1M COmtHTJUIt 0M>l.3V*-MHMHMll»1.71t/IKm
UM *II i.i»TM*>t>mHftp*TMi
un cmaT np>t.si
UM «IllVt- MM *mTT-TimX!/tt.MHSIKXKMt/»WH
rot . commuât sruwtt
UM » m . wwi.w-i»ww—.av-i»M—•< TWWTI-MII
uu eotrar i»n.*«-* cMt.4f-i KVTM.W-S I T * M »
ttM *** «.r^—.*l*-*MT'->.JV-liMMMTWIirT>WWt
tm ntmrun merwrm
UM MMMtlttUMttllt
UN ttmuiuisiuiii
mi «nnudHciit
ttJi «•rauMmiiM
UM ••IVM.TMITM.III
UM HinHCSMtW.l.aC.tll
UM C O I W I i n UHMC-Htt AVR (IP MO<t TM< n U M t l
ut* irai
UM lUHUin
UM III MM - l . i l i r . l t (!**•)
UM *«T.«"*M" rn-Miit
UM -*.*--*•• IPjtMUl
UM -uu.ttn^-M*
urt nt m m -i.iu^<wni>Mi
UM *«T.r'-M" (Mt-MIlt
UM ~4.tr-U* (»*!•*• III
iMi •itu.3tfr<«ii >
uu n* H I M •a.éur -ixPw-Mt
UM •uu.mr4tt
IMt Mt KVM • t . M N ' 4 ]
1M» *l.t"<M« IK-MI I t
UTt • l . r * * » IM-MII3
1*M •Cnt.HtJ"**!!
ItM Ml HVMZ • l . M M ' . M M M I * * »
1M* *1.*--M« tm-*»Ut
IIM ,
•i.t*-*n ipii**tiu
un •t7M.Mfr *«ii
»M*4d ifn-Miii
UM - ! . « " • « » <m*MI|»
ISM -tTM.MfT"-*»
It» ITiOHVM *C.II«*MWM-MI -»J--*T» IM*Mllt
UM *i.uf"<nt
1M Ml MWW«.U*-M>IMI-MI-f^^W IMI*Mllt
UM *t.ur*«it
UU S*l MMW H.lg*-M»tM-MI - f . I - - m 1M-MIU
un «i.ur*-«3i
>
UM HIMMt »f.l»»-«f>fM-M>-*.r >«T» (M-MJlt
UM *f MIY**Mt B
V.124. Réaultata.
1 1\ y 1
: î
1 :
ï \
1 i
Z 1
z z
z
l -"
H
î :
1
î :
î î
î :
î î t
IW
z
z
I ••
I
I
I
«
. 1 _
I
•ï I
• ï I
*.MI*H 1.MM1 ! . m m l.HItU t.*K*U S.MM1 ».fjt*ll T.KIHl •.«!•**! ».fK**l l.mtlt 1.IHH1
z x t z t z i i i t i i * :
î : z z î z î x x t î : •* î
i t z x x x t x t x i î » î
X 1 X X X ï I I t I I î • I
X X X X X X X I I I Z I •• I
Z X Z Z X Z Z I Z I Z ' E I
Z X Z Z I Z Z Z Z I I » I Z
Z Z Z X Z 1 Z X I I I « I I
Z Z X I X X X X I I I M I I
X Z X Z I X X Z X Z I • I I
X Z I Z Z t X X I Z «• t Z Z
X X Z Z Z Z Z X Z I •» I Z I
X X I Z 1 X Z X Z I M I I I
I I Z Z I X Z J Z M Z Z I
X X Z X I Z Z X i » I I I I
I I Z I X I I I x w z Z Z Z
I Z Z Z I Z I I i " ! Z I Z Z
I I I MM N > I Z I I Z >*•• I X X I t
X I » I I I I I I X I X X I
I « ! I t I I I I I I I I I
I » I I I t I I I X X I I I
J • I I I Z I I I X I I Z X
f.fw*nj i.fw*n *.*nm i.fM*tL *.mm S.MML ***!••• T.mni 4.nim «.mtai L.m*u i.m*«t
l.Mftll l.fTKM X.HKtl *.m«« l.*M»*l t.TOIMl ».«!•« «.«Util ».HI*I1 l.ttftlt l.XfCtlt
TOTEQBA770H
281
Ï i«a • * » { : i i i i t : i t i
[ î } [ | | | { ;"- •_ { [ |
INTEGRATION
- 282 -
I I Ï I I I I t I I I I •• • I
I I I I I t I I I I I IM» I
I l ï I I Î ï t l I I * " " !
i i i I i i i t : i i • •« r i
I I I I I I I I I I i"» i i
i i i i t i i i i i « " i ï Ï
i i : : i t i i i I « I ï ï
I I I I I I I ï X • « I 1 I
: ï t ï ï ï ï ï I » I ï ï ï
I I I I I I I X I « " 1 I X 1
I I I I I I J J M I I I I I
t ï ï ï ï ï ï i »•• x ï ï ï ï
i : ï ï ï ï j i«» ï ï ï ï r
t r i i i i i " » x i ï i 3
I I X 1 1 I I » • I J 1 X I 1
I t t X X X •!• I I I I I X
I X X X 1 I — 1 X I X 1 X X
X I T X X I • •• I 3 X 3 X 1 I
I I X X X I » X X X X X I X
I I X X I B M I I I I J I X
1 I X X M a i I I X X X I X
X X X I * «I X I X X X X 1 I
X X X X »•»• I I I I I I I I I
x x i MM ï ï ï ï ï ï ï : i
X X !<M • I I I I I I I I I I
t.flltM X.tU*u I-tTMl l.HEtll 4.Ht«ll S.MKU •.flMl T.«I*I1 «.«Em 9.TM*I1 l.lft*K l.lMt
.mm i.Hf«n um*n t.ntm *.nt*n s.«*t*u I.IIKU T.wm «.mm t.twtti i.m*w i.m**t
IMTBSMnOM
283 -
Nous supposons
- que le train est unique, de masse m +
V.211. No^tions_utilisées.
M masse de fuselage de l'avion
1
m masse du train d aterrissage
Z déplacement du fuselage de l'avion par rapport à sa position statique
z déplacement du train par rapport à sa position statique
e enfoncement du train
h hauteur de la piste
P force de liaison entre le fuselage et le train
P effort des pneus
Zç déplacement du centre de gravité des deux masses M et m par rapport
+
à sa position d'équilibre.
Z8k
J'
FIG V-2 Train d'atterrissage simplifié
- 285 -
ues o r e s
V.212. Expression des forces fil52*iq. „et_cles £ £ de frottement
visqueux.
Liaison train-fuselage
liaison élastique Ke
frottement visqueux K. e (de signe opposé à celui de e')
Liaison train-piste
liaison élastique K (n-z)
frottement visqueux K (h'-z*)
C
I F - Ke | > 2 F
Le signe de la vitesse d'enfoncement est alors celui de la force de
Coulomb.
- le train débloqué se bloque si la valeur absolue de la force de Coulora
1
est inférieure à 2F , au moment où la vitesse d'enfoncement e passe par
zéro. Cette force de Coulomb est calculée en supposant que les deux
masses suivent le mouvement de leur centre de gravité.
V.214. l;3uation^ï_du_S£3tème.
MZ a F - F (F valeur statique de F)
e * e" + z - Z (e valeur statique de e)
- 286 -
c
(V.5)
pour e< y, 0 F = K e + K . e + F
8 c
e t pour e ' * 0 F = Ke - K, e - F
m £ (F F
+ = p "V " ( " F)
F = ¥ 2 +
P p* KP^" ) K (h>-z')
P l
h = Œ(1 - c o d a i t )
(M - m ) z + G = F p - F . p
La f o r c e de l i a i s o n e n t r e l e s deux masses e s t :
H (F - F )
F - Ke = F + M + IB, (F -F ) - Ke J
P P v
V. 216. ^S£_en_oeuyre.
Les grandeurs sont exprimées dans le système MTS
DFP • Fp - F_
e
P
ozz - z'
- 287 -
DZ = z"
1
DE = E
Il est une fonction explicite du temps. Elle est décrite par
une fonction externe appelée PISTE. La fonction FONC décrit l'ensemble
(V.5).
Remarque.
Afin de permettre une gestion efficace de la logique, non dis
ponible dans le langage NEPTUNEC, nous avons signalé au chapitre XV, la
possibilité de laisser le soin à l'utilisateur de le faire au moyen
d'une procédure APLTJTXL. Cet exemple est uno illustration de cette possi
bilité.
288
TWAIN o A m t t m M z s w u m
HIU0/«.*tl«OZZ' - F « « H | MIM17I
M - t.it» *ZZ-Z I MHIIH
lIFOeif.*.I.*,«.»» IHHltt
4lflB/t.U>*DZ' - WF * F - 4111 M0H2I0
J1DFP * ItMMZ-Hl * TWZ'-H'ÏI CIMUU
«WSTIIH.II; aieinii
7'OZZ • ZE'I NHBNI
•IDZ -VI IMMZ4I
t:DE - (*f IMtOZM
iriM. NMHI
COMPILATION
- 289 -
«we» u s i n a
i lFlUTELiFF0SIDEFIVX.Fil.iraHP.lNacUFiSiV4LEUt.XII
• i n m n u n c H B B ruMtnwcs
» BR FlQaTIIIIt /•OEttVEE OES VMM l « •/
> DIG flOMIItll / • rant BIS totuncNi «»•
» etc n u t u t i t / • * i a F 4 » EXPLOITER «/
Ill 1 0 DEL /* VMIUU3 "•
151 1 « BEL VUtUlla! DU FLttTtUlt
1*0 i o DEL antor am f i x a i
1TB I * DEL ttSULT l i m i t /••llDUUr.SIFU
/•OECUMTTOH a » VAIEUL» IT RDIEIIELVI « HEFTUHK •/
**•
«IS
HI
1
a
FFM0D»IXI7))l
Fnisciixiim
in e nFFiicoaixi«i>i
m e FCE>i9HixrititFDn>iDationtvKi]>M
**• • Fnu'toeicKKvxuiji
lei • FDOZZilO«IIDniVX(*lll
na 1 10 TO CmiDOHFII
Til a manu
IF -modi/ i tun u t mm WTILIII/*O DUNCE O'UH 4FFEL auF«Ltnc
/* a 1FIUTIL
ne a I F catniv • •!• i IITJRT • i TOEH invmi
ltKIF(ai.C0L(T).«.C0Lt»).4.EOLtlLI.*.C0LI*I)>A>COl(m
COLriTl.l.CDLini.A.CDLt» 1,411
•» i isninii
lia 1 ItTUlKt
es» • tnodiittnmi
ITD • ETiaiin
IF -D0G4LF THE» RITUIlIt /'El H'HT Fil L'JFFEL OC 9I1VT*
aie 1 IF IlUKTte THCII tinmil / • « N'ISt FiS L-4FFIL 9UFFLIM.*
aie a eF'i.i COMMUWICAnOW AI/EC LE
•ne a IF m i n '».»
TNEII /«TllPI |LCm</
S/5TEME NEPTUWIX PAR
na i rr:tFL>K>Ei
1 IP HJIPPEt ) HFC
IHEII /•CIllOIULSt DU Tf«t>H/ UN LANGAGE PROCEDURAL
C9I
n» : TsiiMu.:
1EE0 t IWtïftttlUTKlt
C DP»>ItlKteiiPC-PLl
« M : «ai
icie 1 tlOI
a El» /•ttAIll OEILCWI*/
290
COMMUNICATION APEC LE
•SYSTEME NEPTimX PAR
UN LANGAGE PROCEDURAL
Fi/i o p i u u z n o c o n n u * *rurtiLinwciiiBHvx,r,»,iic«)r,iiec*tr,i.vAuui,xii
MISE* LEV HT
mi i i roretrmmrF.irF.iE.iEi.ME.icfi) « H U M I D E C m u r i u m
U4I 1 I KL FF DEC r i U T I l t l l /»MXCE t*/
ini 1 I KL M OEC FLUTIUII /IEHFOCDCHT ! • /
IHI i i KL irr BEC r u u T i u n mumi u m i u t oiraci/DM/
un i • KL MB n e ruuTiuit mntm mmtm omne»/nf«/
1JH 1 • KL Dfl KC FUUTIUIf /•UTTEMI B'tHFOCtWHI M*/
im i i KL fou n e ruMffitit / • a m m FMTKLLC atracivixoii*/'
1*M 1 • KL «ET flte FLUTtUlI / m i U * H U NOM R M V
Mit i » «ir«T»iiMmi»a.-TFttBt»»(Fwi«n.iaw(«iaootï«nrciii
1*JB 1 • fFFil.-TRILWI
IM« i • in>.ii,.rnuiiik*;i
i*i» i « tmrTnta*-iau.-min>*i»Bf««i>mi
IHI 1 • RETUMtRtTIt
FONCTIONS EXTERNES
291 -
I • I • I I i I I I
ï • r• ï ï J. £ I I
i • »i i i
»C I I •
! • | {• | | ,' ! . I I •
• iî l r i • I I •
I I •
ï ï • •! j • I « Ï ,
î • I • I I •
\ \ • I*. j- •
;• ;'
ï» i
i
i
i
t
ï
:
"•] r _
» -. i" 1 r~ •: • - !
INTEGRATION
- 292 -
T
V.22. Simulation de l appontage d'un avion.
m + y =
2 *2 ^2^2 ~ 3 ^ 3*1 (^1 " ^ 2 *
•S ï + skj^-ayj) = 5 7 ^
y. * h » 1/x + h 2 2
1
Afin d observer en simulation la décélération subie par
l'avion et ce pour plusieurs vitesses d'appontage x , nous avons trans-
formé le système d'équations précédent, en un système du premier ordre.
Nous avons de plus posé
z - y 2 - y.,
v « y - 2y
PISTON
masse m„ ..
3 2
frottement visqueux u
AVION
masse m
I'MW'UllilUI
IM Mil
I Ml
I ' M i t t 't-*!UltUa***UI*MUI
•M MH1 IIU'MUI a
• U M ttU'U'Ul'irM'AIJUUMIHMI
'•kCU'IAIIMU
IM Mil
IM
1-taUtl -T-alUICU-UI^ZUM
IM MHL IfMUI U
t ' w i u HMi I ' W C U I a
K i u o a < n u n u MO I M I M
t m t n v u am « t M i ' c w i u ' U ' i i i ' i i ' i i i ' u ' A V A ' w i i IM
I9UVU l»tM»mi 11AMM
NOUYIUWD
U1BI9H
•nuoM
UMIIH
•KCHM
CfttMtt
M)HM
m u m
ItCIMM
•tEIMM
itriwi
UHNH
nniiii
UUHH
HUM* I
MUM*
MUtt*
MUM»
•»•(•»
SI HI Ml
HMCMI <
iit^'i«xa'i>*.i*i iiix*i»^*i'4 i r n u T t n w i a i
UTMMB i < • IISNU • i t itMM * t E i e r a à t w s i i a o i
•IIIHH ix'xa'xsainilic*
UIBBIIB
•MUM*
•IIBtOIB
•It09II*
BE1MIU
K1MBM
IIIHMI •Miiin
eiiMiM •••iwtnii
0 KM SIS •tnnttHi
siaiaouitNOUia
en DU H
o u » a is
awoigiB ii-»g'iiM9»ntw
11 * t t * n a n u * »• Mnmaiit ITITACUHI
,I t--i • tumnau ' i • • i itnuxru* i B ' M A « m a a i m
'MUA» K M M U M U M - I u M u v i n a t
- +765 "
a95
i : : i t • •—*• i i i i t i i i
! I I I • — t 1 t J I J I l
i t i " t i i t : t i i t
i i • t • i t i i t i : i i i
i r • t • i i t i i i i i i i
i t : • i t i i i i i i i i
i : r i i Î i t i t Î i i
i •• • t » i i t i t i i i i :
i i» * i t i i r i i i t i
t i i t t i t i i t i i
• • i i i t i t i t î t i
I I I I I I I I I : I :
- i i l i t î t î t i i i
i i : t t i t i t i t i
• i i i i : t t : i i i :
I t l l t l C l I I I t
i t i i i i i : i i i i
ï l t l t f l l t l l l
• x i i x t i t i t i t t
: : i : t i t i i i i t
i i t î i i ( t t i i i
i t t : t i t J t i i i
..-••-+-r— i
!_-""
-
^"i" '
tim
INTEGRATION
- 297 -
Messages du type I
1 ) ... L'ORDRE DU SYSTEME EST OMIS. 30 EST PRIS PAR DEFAUT . ..
Z) ... POINT FINAL MANQUANT. FIN PHYSIQUE DES DONNEES AVANT LEUR FIN
LOGIQUE ...
3) ... NOMBREUSES ERREURS. ARRET DE L'ANALYSE ...
Messages du type II
Ces messages ont pour modèle :
CARTE NUMERO numéro texte
où - numéro 'est un nombre donnant le numéro de la carte où se trouve
le pointeur-caractère lors de la détection de l'erreur fai-
sant l'objet du message.
- texte est une phrase construite selon l'un des 18 modèles suivants.
Remarques
1) les chaînes de caractères prenant leur valeur dans le program-
me source sont écrites en minuscules ;
2) || tient lieu de symbole de concaténation.
- Modèle 1
Le début du texte est choisi parmi l'une des 11 chaînes sui-
vantes :
a - mot-clé II symbole
b - mot-clé || symbole 1 It symbole 2
c - symbole-courant II symbole-suivant
- 302 -
- Modèle 5
Le début du texte est choisi parmi l'une des deux chaînes
suivantes :
a - /CONSEQUENCE/ Il nombre
b - /CONSEQUENCE/ || + (9)
avec nombre compris entre 1 et 9»
Le texte se termine par l'une des deux chaînes suivantes :
a - PARENTHESE (S) - OUVRANTB(s) - MANQUANTE(S)
b - PAHENTHESE(S) - PEPMANTE(S) - MANQUANTE(S)
- Modèle 6
Symbole CARACTERE INCONNU
- Modèle 7
Le début du texte est choisi parmi l'une des 9 chaînes sui-
vantes :
a - symbole-courant || symbole-suivant
b - mot-dé II symbole-courant l| symbole-suivant
c - mot-clé II symbole courant II /INCORRECT/
d - ; MANQUANT
e - symbole-courant II/AU LIEU DE ( ou ;/
f - symbole-courant II/AU LIEU SE :/
S - symbole-couant H/AU LIEU DE ;/
h - NUMERO MANQUANT
i - /POUR II numéro-équation II / : /OMIS/
Le texte se termine par ERREUR DE SYNTAXE.
- Modèle 8
Le texte est le suivant :
LE TEXTS A PARTIR DE CHAINE EST IGNORE JUSQU'(AU)(A LA) FROCHAIN(E)
séparateur
avec ' chaîne ' ayant pour valeur :
a - mot-clé || symbole-courant
b - symbole-courant II symbole-suivant
et 'séparateur' est un symbole terminal de la grammaire (par exem-
ple ',' ou • ; • ) .
- Modèle 9
symbole-courant IDENTIFICATEUR TROP LONG
- 30U -
- Modèle 10
nombre CONSTANTE MAL CONSTRUITE
- Modèle 11
Le début du texte est choisi parmi l'une des trois chaînes
suivantes :
a - mot-clé II identificateur
b - identificateur II /MOT RESERVE/
c - identificateur
Le texte se termine par VARIABLE/DEJA DECLAREE /OU/ INCONNUE
- Modèle 12
Le texte est le suivant :
DEPASSEMENT DE BORNES DANS LA TABLE - nom table -
avec pour 'nom-table' les trois valeurs suivantes :
a - DES CODES INTERNES
b - DES CONSTANTES
c - /[(identificateur II/DES PONCTIONS
- Modèle 13
Le t e x t e e s t l e suivant :
LE NOMBRE DE VARIABLES DECLAREES EST DIFFERENT DE L'ORDRE DU SYSTEME
- Modèle 14
Le début du texte est choisi parmi l'une des deux chaînes
suivantes :
a - mot-clé |J symbole -courant
b - mot-clé || :
Le texte se termine par CLE INCONNUE.
- Modèle 15
Le texte est le suivant :
PAS DE VARIABLES FOUR LE SYSTEME A RESOUDRE
- Modèle 16
Le texte est le suivant :
PAS DE VARIABLES-SORTIE POUR LE SYSTEME.
- 305 -
- Modèle 17
Le texte est le suivant :
PLUS DE 50 VARIABLES-SORTIE DEMANDEES
- Modèle 18
Le texte est le suivant :
-.-. ARRET DE L'ANALYSE.
Autres paramètres
//STSUDirP DO 00000400
ATEHPREC DSH*1(TEH, • COOES IHTEmEDIAIRES PAR EQUATION • 000(0610
// 0ISP«INEU.DELETE.0ELETEl.L>UT<lTU.3PACE><CyL.l£TI. 00000.CO
// DCMIffiCFIt*F.U>ECL*21*0,BLItSIZt*21«0.O30RGiDA,KETLEll>SI
EXEC P O U t l K t l .
000006»
000004*0
//UXEO
// PAimc'tCALL.SIXT.IUST.lHAPrlOVLY.ITFJIH.ISIZE', 0(000690
//
//•
C0HB*ILCOND0,REGI0NstLRE6O
2
00000660
oaooo67(
//«ÉTAPE 2 OUOWUCEMEHT ET nECOHPILATZOH. 2 000I0AS9
//• 00 DSH>SES.SERF.H4KHIE.M0DULES.0ISP39HR
00000690
60000700
//HCDUIE
//sniit
00' DSH'ILKLeOSN.DISP'SHR ooooono
M osrcsrsi.PLmse,oisP"SHi) 00000720
// 00 DSIItSTSl.BBLPLI.DISIttSHR OOOOST»
// DO D9N'9VS2.F0RTLIB,DISP»<SHR,PA3S> (OOB0740
// 00 DSWSTSl.eRLFORTiDISP'tStm.PASSI 000107JO
//SYSLIN DO DStKllCEX.DISPXOLD.DELETE.OELETCI 000(0740
// DO O0HAHE*3«3IH 00(00770
// DO DOWSES.SERF.NAKHLE.SllOVLIOCPRI.OISPtSHR BH007SO
//STSLHOO DO -OS>l'ltnSETrtOPLII UHIT*ITU,SP<CE*l»2e,ll9FI100..1l>,
>
0000» 7 »
// DtSPPIHEHiPASSiDELETEl •I000BOB
//SYSPRINT 00 STSOUT'A. « SPECIAL EDITEUR DES LIENS. a (O0OOUO
// 0Cl«(RECFmV»»,L«ECl>12J,iU<IÎZE'H»l •B(00t2(
//STSUTl DO DSN>tISTl.UHITPtTUtSPACE»<3120.<SPUT> (0O0BO30
//ORPR EXEC PBWMM0.SMLHO0. (OOO0S6O
// PASm'lCWT.HNII.JPBEC.IDEClt'. •00OBJ5»
// OM>»A6C0!f)0iRE6I0NsAGRE60 •0010340
//•loom DO Dsm».utEo.sTsua>,DisP'rsw.oELETE> 00000070
/ / U N A I R P O DO DswtiBW. » BINAIRE DU nsooftAitiE P U RÉSULTAT •
OO(O0MO
DI3P«INEN.PASS,DELETE!,UNIT«1TU,SP»CE"! TOI,«EB>, OM0H9B
0(000*00
•// OCB'<p:ECF11>FB.LRECl>tO,BLK9IZE'3120 > 00000*10
//CHHTIA DD 0SH*<iC3H,DI9J»<OLDiPA3S.DELETE> (OOODKD
//CCDOBJT 00 DSH*CICOD,DIIP»IOLD PAS3iDELETE>
> 00(00*30
//TUBUS DD OSNsttSTS, • FICHIER SVSIH DE L'IHTECPATIOH • 00000*40
// 0I3P«(HtU,PAS!,DELETE).*IT»tTU,SHCE«nBlL,»ECD1l, 00000*90
//
//FILENB2
DCB>tRECFH>FB.LRECL'a0,BLKSIZE'aO0>
DD OSHttlFlZ» « FICHIER FICHE OE L' INTEGRATION «
0(000*60
DISP*trJEU,PASS.DELETE>>lJNITslTU.SPAC£*ITRK,AECCm, oooom-o
OCBMRECnfsFB.LRECL'SO.BLKSIZEiOOOl (0000*30
//FILENB3 DO 0SN<ttFI3i • FICHIER FICH3 OE L'INTEGRATION » 00000**0
0ISPt(HEU,PA3S,0ELETtl.UH!T'tTUiSPACE*ITRK.(ECCH). oooowo
// BCB'(RECFHiFB,LRECL*90iILK3IZF'(OOI 0(001010
//rONCTIO DD DSHslIFOH.OISPXOLOiOELIIt.OELETEl 00001020
//FT04F001 DD STSOUTM, • CAS OU APPEL FORTRAN • •000105»
0CB'IRECFI1>VBA.UIECL'137.BLKSIZE*M^I 000010*0
//•EHERAT DD DSN'1KEN.DI9P«I01D.DEIE1E.0ELETE> 00001090
//TUTRICE DD DSHUtnAT.DHnlOLO.OElETE.OELETEl O1001I40
//PERFO 00 ST30UKB. • PERFORER LES CONDITIONS INITIALES • 00001070
// OCSMRECFH'F.UECLOOiBLKSIZE'OOl OO0O10OB
//PLTOUKP OD SVSOUTM •00010*0
//SORTIE DD OSIttltSOURCE.DISP'ISHR.PASSI 00001110
//SORTIES DO OSHUtSOR. • SOURCE OU PROSRAItlE PLI RESULTANT • 00001110
// OISPatHEH.DELETE.DELETEI.UNIT'lTU.SPACEXTRK.AESORli 00001120
//
//STSPRIHT
DCB'l»eCFNsFB.LRECL<eOiBLKSIZEiSOtl
00 STSOUT'A, • ECRITURE OES RESULTATS OAHS PLI
(0001130
000011*0
// 0CB*(RECFH*VBA»LRECL'137,BLKSIZEsM3l OOBOUSO
//STSPUHCH DD STSOUT'*. • OCCK DU PROGRAMME PLI GENERE 0(001140
// DCB*<RECFH»F,LRECLcSf,BLKSXZEBSO> 00001170
//STSUDUHP DD OUHHT 00001100
//STSUTl DD OSN'llSTl.UNIT»ITU,SPACE»!3120,1E5T1I (OOOlltO
- 312 -
//SY5UT3 DO DSN=*l5Y3.UNXTajtTU,3PACE=C312».IE5Tl)
<VLK£X EXEC PCHslLPGH, 00001200
// P«rt='lCALl.tLET,11137,JHAP,«TERM,I5IZE". 00001210
00001220
/f COM) ULCDM) I . REGION* AUJEÇI
00001230
//«CTAP* 3 : INTEGRATION 00001240
00001250
//NEPTUttl OD 3 00001260
DSM=S£S,SERF.MAKHLE.HOOUL£S.OISP=SHR
//5Ï5LID DO o s N s t u ; L e o s N , 0 I 5 P 3 SHIT 00001270
OSH'SYS J . PUBASE .0I3P=SHR 00001230
DSN=SVS1.891PH.0ISP=5HR 00001290
D5r)3STS£.fO0TLIB OXSPs<SHR,PàSS)
(
00001300
DO 0SH=SY3I.fiBLFÛRT.0I3Ps<5HR,PA5Sl 00001310
/V5YSIIN OD 00001320
D5N=*ÏBIH,0ISP=<OLD.OELETE,DELETE)
OD oor»n£ssrs2ti 00001330
DSM=3E5.SERF.HAKHLE.BJIEDIIir4TG).0I5P=SK? 00001340
//SYSLHOD 00001350
D5N=«COSET(G0PLU,UHITsSTl(.SPACE=(n20,USPtaO ,ll) (
i
ARBORESCENCE pour les productions de
LECTURE: REDUCTION:
1 *=! > s*»> <6fttKHE> t «*> i »*> 1
Ci a
17 <S1L-£HS> »*a> «IDFONO
E4 • « * >
27 » «lÛFCîlO
• «•«> 14
* )XDEHT ««> IDEIIT
t •*•> • -••»
«ïi> • 14 * " >
u ««* ia
1* «s»
*«»>
IICH9PE
ENTIER
5 i » > z t » / 19 * « » «i
NOfSPE
ENTIER «»«• <V1DHBL>
^ •»»> / *•*> *
•
«2 *"> 42 <VlRIâBl> • • » <0E*1VEE>
7 -.-> • 4 «•> 4S <CI?XVEE> «•i> <FPIMI1R>
» —>
£1 •
MENT
*CCJBLtl>
«->
—- » «00MIM> «S ---> 40 <FB 11*111» -—> <F*CTEUR>
ÏS > «o *«*> *»> <3tcatra>
1 .—> ---> «i*
to
<MCTEW>
— > <TEPH£»>
ï» — > *
<TE»«*> .»> «2 0 ---»
• " » 37
<S5C0"3>
• ss> <TEnnE>
S3 - - - >
1
<BLQWJl>
<E>'F3IMI>
-«>
—> 3* — > 31
<TEFHE»
<TEPHE> —-> <EXF3XHt>
31 — » 31 — > ta <exP3iti*> > <0CJ9LE*>
Ï7
î » e«=>
> ï
£l
l-VîE*0
CEÎÎICïl
»
—>«>
ÏÏX» ttJUCH
ES — - >
J —->
0 <0C'.'BLE«>
>
: i — •> 1 S'JP-'SH
0 f
••«> > Firpicti U
32 * * • > 3S <E*Psm> —-» <C0UBtE>
*••>
10
«
«3»
«•>
12
37 *
FHPÎÎW »*»> <UIEEW> ••*
33 > 1 <SCUSLE> «•*» <E3U1T> VJl
*i — > » «t-LSECJ» -— > 37 •••» 30.
44
<IFIEC?J>
<EW*T> »»*> <C0 EW>3
ÏS
44
— >
>
9
1
«EXPRES»
«SECO'ID»
«->
-—»
35
**i
«»>
-.-» 30 <CCPEQU> —> <ewïcji>
1
G(<PR0GRA>)
ZUS RUB SUB
2 0 0
0 39 75
40 (3
•
4 0 t
4 0
4 0 •
0
4 0 0
0 42 75
13 0 0
Ill 101 0 as 69
III 111 ) 0 0
NI 121 •0 0 0
III 131 roiHTEX 0 47 0
HI 141 lOEIIT B 11 75
HI ! 5 I HWÎBPE 49 75
HI 161 JJCCBI •
0 50 93
HI 171 NUMERO 25 0 0
III 101 EHuen 0 52 75
HI 19) 1 0 53 •5
HI 20) DEE™ 27 0 0
III 211 SUIHOII 27 0 0
III 221 riHTHM 0 54 Bt
HI 23) OEEEW 0 0 0
HI 241 flHEQU 0 t 0
III 25) <P<M)SRA> 0 0 0
III 2*> <MUCHE> 2 0 0
HI 27) <IOfOIIC> 2 0 0
IK 281 <OOUtlE» 10 12 el
HI 2?) <TEPHE9> 14 IB 78
HI 301 <BLCECU«> 1» 21 91
NI 31) <EXFSIH»> 22 24 BO
HI 3 : i <EXP51H> 29 30 97
HI 331 <0Crj3U> 2? 0 0
III 341 <CLCEQy> 32 •
HI 351 <EXFRE5> 34 0 •
0
HI 31) <*proirr> 0 55 97
III 37) <UUEEQ*J> 0 5» S9
HI 391 <EOIMT> 0 5» B9
III 39) <TEBHE> t 5» 78
HI 40) <MCTEW> 0 04 76
HI 41) <VIHIABL> 0 67 75
HI 4SI <DER1VEE> 0 (S 75
HI 431 <PAMI1E> 0 60 93
III 441 <C04E0U> 71 6»
III 451 <PRltttIR> 0 • 73 75
HI 4») <SECON0> 36 37 76
HI 471 <EXFCHEH> 30 0
•
TABLE DES ETIQUETTES [G(<PR0GRA>)1
i
FIOYO-EVJUIS ntOCUCTXO.» ( F I P 1
I Z TOT/.
2 2 'III 201
1
1
21
31
2 'HI 271
• 1
4
4
Z I
z -
1 « Z
4 2 •/
Z
«
«1 Z » 1 1 4 R 1
1 5) • I0EHT 1 V 4
z IDEHT
1 61 IIGtCRE 1 • R IW3BE
1 71 233 1 ETC
1 01 z I0EHT Ï 4 P •
1 91 1 1 R 1
1 101 Z ' I I I 231 Z t
1 111 R I0EIIT Ï0EHT 93» 'III «11 333 1 s lOEiir
1 lei II ' H I 201 'III 201 02» i.->
i>-> ' I I I 331 323 j 3 "III 2 ! 1
1 131 Z I0EIIT i Z IDEIIT
1 141 , J1CC3T i •
4 R J«C051
1 131 a?» i 'PPC9
1
1
101
171
Z «111 2 9 1
. i
i
4 Z 4
z /
1 131 R •III 291 'III 291 / «29 i -> «TERHE> «32 1 « » «It 291
t 191 Z 'III 301 3'JlriTl i z I'jnrai
1 201 • W W i • B FII.WI
<
1
£11
221
R •III 301
Z «Ml 311
'HI 301 229 j -> =H( 3«l 333 1 « 3 «Ml 301
• i z*
1 231 i « 4
z -
1
1
241
231
R •III 311 'Ill 311 - 32» i -> 'III 321 223 |
• 3 «III 311
Z 1
Z IPJKEPO 1
1 III 22» i E°FC9
1 27 z OECiiai
271 z suiim IPJHEPO i 4 z rcr'.EPO
1 201 933 i
1 29 z ' I I I 321
291 z 1 H 331 1 i R 1
1 301 R •Ml 321 'III 321 223 i -> 'III 3SI 323 | S ' I I I 321
1 311 239 i E™=°
1 331 Z 'III 341 FOXHTEX 1 4 R rolllTEX
1 331 23» i EFRCT
1 341
1 351
Z •HI 3SI i
2 »
ii . R I
EPP'JR
1 331
1 371
Z •III «01
n 'III « i l 'III « i l
1
222
ïi-> 'III 401 223 1
. R
3
1
-III ' 4 1
1 391 z •III «71 CiniER i 4 R ENTIER
233 i -» 'HI 421 29» 1 S •
FEP[G(<PR0GRA>)1 1
lucni T =tll 11} *>?»
i 4i> "Ht 26) a»
1 42) R 1 =llt 2 7 1 =111 331 1 t « •III 36) 939
=m 2 7 i «Ml 321 «Ht 451
1
1
4SI
44» =HI 261 E H I 321 I ) ttt
999 •III 45»
?9>
933
1 45) S?»
1 4fr)
1 47)
R ï
R FOIKUX DESHOtl
î?3
;
•Ht 3 4 1 POIKTEX
939
939
•lit
•lit
44)
251
? »
s»
I 461 93ï>
t 75 S '
75 S 1
75 5 IDENT
75 s txroce
75 5 EHTUR
75 S *Hl 411
75 S «Ht 4 2 )
751 S >ll( 4 5 )
( 76 S >HI 4 0 1
76) S «Ht 4 6 1
I 771
C 78 3 «III £91
70) 5 <1ERHE>
1 791
( 8DI 9 >HI 311
1 611 S >NI 26)
i e:»
1 631 9 1
1 641 t 2
r
1 151 I I t
1 «61 I0EIIT I | t
1 071 NOien t I u
1 «81
M» I I tRPM
i e» S 1
a? S FZI*CU
s >Hi i n
«»»»
e<i
»
S
«team
«III M l 3U1U0H | |
1 «»l nui» I I
i m 3 'NI 31I rouiiEX I I
i n» »• 1 I
i «> 3 J1CC9I
«ii 3 'III « I I
1 HI M*. I t 3 sin sal
1 » i 3 1
1 «41 niriu I I i
i n 3 sill 311
»ii 3 '111 I I I
1 «1
FEPtGHPROQRA>)] 3
- 321 -
BIBLIOGRAPHIE
[B4O1 BERGE
Théorie des Graphes et ses Applications
DUNOD (1963).
(W) BERGE
Graphes et Hypergraphes
DUNOD (1970).
- 326 -
(Ë50) BROISE
^ Communication aux Journées sur l'Analyse Syntaxique
PARIS (1967).
[B51~) BROISE
^ Presentation d'un Jeu d'Algorithmes Permettant d'Effectuer
Commodément Quelques Opérations sur les Graphes dans le Cadre
de la Notation ALGOL
6ème Congrès de l'APIRO (NANCY 1°67)-
{Boo] BONNEMAY, DANSAC BON, MONSEF, NAKHLE, 3.0VX
NEPTUNIX, A Package For Continuous System Modeling.
Application to Nuclear Reactors
2nd International Symposium on Large Engeneering Systems
University of Waterloo, Ontario, Canada (May 1978).
fci 0] CHAUVIN
Conception et Mise au Point d'un Compilateur BASIC sur GE55
Université de Paris-Sud, Centre d'ORSAY
Thèse de Docteur-Ingénieur (1972).
fc2Ô] CHEATHAM
The Theory and Construction of Compilers
Computers Associates Inc., Wakefield Mass. (1967).
[C3Ô] CHOMSKY, SCHOETZENBERGER
The Algebraic Theory of Context-Free Languages
Computer Programming and Formal, Systems, North-Holland,
Amsterdam (1963).
Q331] CHOMSKY
Formal Properties of Grammars
Handbook of Mathematical Psychology, vol. 2, Wiley, N.Y. (196:
QjfcÔJ COURCELLE
Une Forme Canonique pour les Grammaires Simples Déterministes
RAIRO aème année R1 pp. 19-36 (197*0 •
(ï>1 S]) DEBRAINE
Machines de Traitement de l'Information
Tomes I et II. Masson et Cie (1969).
Q}1 î) DEBRAINE
Langages Formalisés et Analyse syntaxique
Notes de Cours (1974).
(pi2] DEBRAINE
Programmation Structurée
Compte-rendu de conférences (1976).
Q>-;ô] DIJKSTRA
A Discipline of Programming
Prentice-Hall, Englewood Cliffs, N.J. (1976).
[031") DIJKSTRA
Algol-60 Translation
Annual Review of Automatic Programming 3. Pergamon-Press Oxfoj
PP 329-356 (1963).
- 327 -
(p4o") DANSAC-BON
Modèle Mathématique d'un Générateur de Vapeur
Université de Paris-Sud, Centre d'Orsay, Thèse de Docteur
3ème Cycle (1978).
(Bio} EICKEL, BAUER, .SAMBLSON_"J
A Syntax-Controlled Generator of Formal Languages Processors
CACM 6:8 pp. 451-455 (1968).
(E2oJ EVANS
An Algol-60 Compiler
Annual Review in Automatic Programming, vol. 4, pp 87-124 (1964).
I*F10] FIELDMAN, GRIBS
Translator Vriting Systems
CACM 11:2 pp. 79-113 (1968).
(F2O) FLOYD
Syntactic Analysis and Operator Precedence
JACM 10:3 pp. 316-333 (1963).
(F2I1 FLOYD
An Algorithm for Coding Efficient Arithmetic Operations
CACM 4:1 pp. 42-51 (1961).
(K») FLOYD
A Descriptive Language for Symbol Manipulation
JACM 8:4 pp. 579-584 (1961).
(V30] F0S1ER
Automatic S y n t a c t i c A n a l y s i s
Mac Donald and CO., London ( 1 9 7 0 ) .
[F31] FOSTER
A Syntax Improving Program
C.J. 11 pp. 31-35 ( 1 9 6 8 ) .
(GIO] GEAR
Numerical Solution of Differential ^Equations at ,a_Remote_ Terminal
Proeedings ACM "National Meeting"pp. 43-49 ( 196.6).
[Gill GEAR
High Speed Compilation of Efficient Object Code
CACM 8:8 pp. 483-487 (1965).
[G2O] GRAU, BILL., LANGHAACE
Translation of Algol-60
Springer Verlog, Berlin (1967).
fG4ll GRIES
Compiler Construction for Digital Computer
Wiley & Sons (1972).
[GSO] GROSS, LENTIN
Notions sur les Grammaires Formelles
Collection Programmation, Gauthier-Villars Paris (1972).
(G6O] GANTMACHER
Théorie des Matrices (traduit par SARTHOU)
Tome 1 : Théorie Générale
Tome 2 : Questions spéciales et Applications
DUNOD, Paris (1966).
(HIC] HARARY
Graph Theory
Addison-Wesley Reading, Mass. (1969).
[HI il HARARY
Graph Theory and Theoretical Physics
Academic Press, London (1967).
(HIZ) HARARY, NORMAN, CARTWRIGHT
Introduction à la Théorie des Graphes
DUNOD, Paris (1968).
(H2O] HARRISON
Introduction to Switching and Automata Theory
Mac-Graw Hill N.Y. (1965).
(H3O1 HECHT, ULLMAN
Flow Graph Roducibility
SIAM Journal Computing 1 (June 1970).
[k l]
3 HECHT, ULLMAN
Analysis of a Simple Algorithm for Global Flow Problems
ACM Symposium, Boston, (October 1973).
[HW) HOPCROIT, ULLMAN
Formal Languages and Their Relation to Automata
Addison-Wesley, Reading, Mass. (1969).
(l1 0^ IBM Y20-0111 -0
System/360 Continuous System Modeling Program
( 360A-CX-16X).
[ill] IBM C 28-6514-5
Operating System : Assembler Language.
(l12] IBM SC 3 3 - 0 0 0 7 - 1
OS-PL/I Checkout Compiler : Programmer's Guide.
[l20] ICHBIAH, MORSE
Optimal Generation of FLOYD-EVANS Productions For Precedence
Grammars
Cil, Les Clayes-sous-bois (1969).
- 339 -
fl3o") INGERMANN
A Syntax-Oriented Translator
Academic Press, N.T. (1967).
(J10J JOHNSON, POKIER, À.CSLBX, ROSS
Automatic Generation of Efficient Lexical Processus Using Finite
State Techniques.
CACM 11:12 pp. 805-612 (1968).
\pÔ] KNDTH
Top-Down Syntactic Analysis
International Summer School on Advanced Programming Languages
Copenhague (1967).
(Kill KNDTH
The Art of Computer Programming
Vol. 1 Fundamental Algorithms (1968, 1973)
Vol. 2 Seminumerical Algorithms (1969)
Vol. 3 Sorting and Searching (1973)
Addison-Wesley, Reading, Mas.
[Ë12] KNUTH
On the Translation of Languages from Left to Right
Information and Control 8, p. 607 (1965).
[L1 0] LAPLACE
f
FORmac DEsk CALculator. Un outil de mise au point et d aide au
calcul formel sur ordinateur
Thèse Se. Math. Grenoble (1973).
(L20] LAPORTE, VIGNES
Algorithmes Numériques ; Analyse et Mise en Oeuvre
1- Arithmétique des Ordinateurs ; Systèmes Linéaires
Paris, TECHNIP (1974).
[M10] MACHER
An Improved Hash Code for Scatter Storage
CACM 11:1 pp. 35-38 (1968)-
[M2O] MCNAMEE
Algorithm 408. A Sparse Matrix Package
CACM 14:4 pp. 256-293 (1971 )•
fioo") MONSBF
Contribution à ia Résolution de Grands Systèmes Algébro-Oiffé-
rentiels.
Université de Paris-Sud, Centre d'Orsay
Thèse de Docteur Es-Sciences Physiques (1977).
[M31I HONSEF, ZVÎNGELSTEIN
Intégration des Equations Cinétiques d'un Réacteur Nucléaire par
le Programme Neptune. Comparaison avec les méthodes classiques.
CEA N/797 (1975).
- 330 -
(NI O] NEEL
Les Langages de Simulation des Phénomènes Continus.
IR1A (1971).
(NI i) NEEL
Contribution à l a Formalisation de l'Amélioration de Code par
Attributs Sémantiques
Thèse de Docteur Es-Sciences, Paris VI (1975).
[N20] NOTAT
T r a n s d u c t i o n d e s l a n g a g e s de Chomsky
A n n a l e s de l ' I n s t i t u t F o u r i e r 18 p p . 339-^56 (1968).
Q130] NAKHLE
Etude et Réalisation d'un Mini-Compilateur PL/1 pour la RésolL
tion des Réseaux Electroniques n o n Linéaires
I - Principes SES/PUB/SERF/74-130 (Juin 1974)
II - Programmation SES/POB/SERF/74-131 (Juin 1974)
[N3\] NAKHLE
Codes d ' E x é c u t i o n d ' u n Langage de S i m u l a t i o n Numérique Muni
d'une Dérivation Formelle
SES/INT./SERF/77-162 ( J u i l l e t 1977).
(pi 0] PAIR
Trees, Pushdown-Stores and Compilation
RFTI - Chiffres 7:3 pp. 199-216 (1964).
(Vl 1] PAIR
L'Algorithme d'Analyse S y n t a x i q u e de P . Broise
RFIRO (1971).
(pi 2] PAIR
Sur des Notions Algébriques Liées à l'Analyse Syntaxique
RFIRO (1970).
- 331
frl 3) PAIR
Sur des Algorithmes pour les Problèmes de Cheminement dans les
Graphes Finis
THEORIE DES GRAPHES
DUNOD, Gordon-Breach pp. 271-300 (1966).
[pUj PAIR, DEENIAME
Problèmes de Cheminement dans les Graphes
DUNOD (1971)-
(PI5) PAIR, QUEHE
Définition et Etude des Bilangages Réguliers
Information and Control 13 pp. 565-593 (1968).
("RSO) ROSSIENSKY
Théorie et Construction des Compilateurs
Rapports DCE nos 316, 320, 328 CEA, Saclay.
fool ROSS
A Generalized Technique for Symbol Manipulation and Numerical
Calculation.
CACM 4 p. 147 (1961).
(il3ll ROSS
The AED Free Storage Package
CACM 10 p. 481 (1967).
(R40~) RUGGXU, AIGRAN
Description of APL Operators. Simplification and Interpretation
of APL expressions
APL Congress pp. 401-405 (1973).
(siol SAMELSON, BAUER
S e q u e n t i a l Formula T r a n s l a t i o n
CACM 3 PP. 76-83 ( I 9 6 0 ) .
(s2ol SCHOLZ
Control of Nuclear Reactors and Power Plants
Mc Graw Hill (1961).
fs3o") SIMONET
Une Grammaire Context-Free d'Algol-68
Congrès de l'AFCET, Paris (1970).
fn 0] TABODRIEOH
Compilateur ALGOL. Analyses Syntaxique et Sémantique
Thèse de Docteur 3ème Cycle. Université de Paris (1971).
[T20] TARJAN
Graph Theory and Gaussian Elimination
Sparse Matrix Computations (Ed. J.R. Bunch, D.J. Rose)
Academic Press Inc. N.Y. pp. 3-22 (1976).
- 332 -
DEPOT LEGAL
2ème trimestre 1979
[