1 subroutine gmaloj (nom, typobj, long, adress, codret)
2 c ______________________________________________________________________
6 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
8 c Version originale enregistree le 18 juin 1996 sous le numero 96036
9 c aupres des huissiers de justice Simart et Lavoir a Clamart
10 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
11 c aupres des huissiers de justice
12 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
14 c HOMARD est une marque deposee d'Electricite de France
20 c ______________________________________________________________________
22 c allocation l'objet terminal d'un nom etendu "nom"
23 c ______________________________________________________________________
25 c . nom . e/s . taille . description .
26 c .____________________________________________________________________.
27 c . nom . e . char(*). nom etendu .
28 c . typobj . e .char(*) . type de l'objet a allouer .
29 c . long . e . 1 . 0 si on veut un objet structure .
30 c . . . . longueur si on veut un objet simple .
31 c . adress . s . ent . 0 si on veut un objet structure .
32 c . . . . adresse de l'objet simple alloue .
33 c . codret . s . ent . code retour de l'operation .
35 c . . . . -1 : dimensionnement des tables insuffisant.
36 c . . . . -2 : le type de l'objet-terminal est celui .
37 c . . . . d'un objet structure et long /= 0 .
38 c . . . . -3 : "nom" a plus d'un element et "type" ne.
39 c . . . . correspond pas au type du champ .
40 c . . . . terminal sauf si "type" = ' ' alors .
41 c . . . . c'est le type du champ-terminal .
42 c . . . . qui serait considere .
43 c . . . . -4 : "nom" a un seul element et "type" .
44 c . . . . n'est pas connu
45 c . . . . -5 : l'objet-terminal est deja alloue .
46 c . . . . -6 : nom etendu invalide .
47 c . . . . -7 : premier caractere interdit .
48 c ______________________________________________________________________
51 c 0. declarations et dimensionnement
54 c 0.1. ==> generalites
60 parameter ( nompro = 'GMALOJ' )
73 character*(*) nom, typobj
74 integer long, adress, codret
76 c 0.4. ==> variables locales
81 character*1 carint(ncainx)
84 parameter ( nbmess = 10 )
85 character*80 texte(nblang,nbmess)
94 write (ulsort,texte(langue,1)) 'Entree', nompro
98 texte(1,4) = '(''Objet a allouer : '', a)'
99 texte(1,5) = '(''. Type voulu : '',a)'
100 texte(1,6) = '(''. Longueur : '',i12)'
102 texte(2,4) = '(''Object : '',a)'
103 texte(2,5) = '(''. Type : '',a)'
104 texte(2,6) = '(''. Length : '',i12)'
106 #ifdef _DEBUG_HOMARD_
107 write (ulsort,texte(langue,4)) nom
108 write (ulsort,texte(langue,5)) typobj
109 write (ulsort,texte(langue,6)) long
113 c 2. on appelle le programme generique avec interdiction de certains
114 c caracteres en premiere position
115 c de plus, on autorise tous les types de noms
120 if ( nbcain.ge.2 ) then
123 if ( nbcain.ge.3 ) then
126 if ( nbcain.ge.4 ) then
130 #ifdef _DEBUG_HOMARD_
131 write (*,*) 'Appel de gballo par gmaloj'
133 call gballo ( nom, typobj, long, adress,
134 > nbcain, carint, codret )
140 if ( codret.ne.0 ) then
142 write (ulsort,texte(langue,4)) nom
143 write (ulsort,texte(langue,5)) typobj
144 write (ulsort,texte(langue,6)) long