C MANUC4 SOURCE CHAT 05/01/13 01:28:41 5004 SUBROUTINE MANUC4(MLENT1,MLMOT1,MLMOT2,MLMOT3,MLMOTS,MLREE1, . MLENT2,LETYP,JER1,MLMOT4,ICARA) *----------------------------------------------------------------------- * CREATION D'UN CHAMELEM * LES COMPOSANTES POUVANT ETRE REPRESENTEES PAR DES REELS * OU DES OBJETS DE TYPE AUTRE ( EX :'EVOLUTION' OU 'CHAMELEM' OU * 'POINT ' ETC . ) *----------------------------------------------------------------------- IMPLICIT INTEGER(I-N) -INC CCOPTIO -INC SMLMOTS -INC SMLREEL -INC SMLENTI CHARACTER*(*) LETYP CHARACTER*16 LECONS * * PARAMETRES: (E)=ENTREE (S)=SORTIE (+ = CONTENU DANS UN COMMUN) * ----------- * * MLMOT1 (E) | * MLMOT2 (E) | POINTEURS SUR DES LISTMOTS * MLMOT3 (E) | * MLMOTS (E) | * MLMOT4 (E) | * MLREE1 (E) POINTEUR SUR UN LISTREEL * MLENT1 (E) | * MLENT2 (E) | POINTEURS SUR DES LISTENTI * LETYP (E) TYPE DU CHAMELEM A CREER * JER1 (E) LONGUEUR DE LA CHAINE DE CARACTERES LETYP * ICARA (S) POINTEUR SUR LE CHAMELEM * * VARIABLES: * ---------- * * * AUTEUR, DATE DE CREATION: * ------------------------- * * DENIS ROBERT,VERSION EN COURS DU 21 DECEMBRE 1987. * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * ICAR1=0 ICAR2=0 SEGACT,MLMOT1 SEGACT,MLMOT2 * * TRAITEMENT PARTICULIER DES COMPOSANTES REPRESENTEES PAR DES * REELS * IF (MLMOT1.MOTS(/2).GT.0) THEN CALL MANUC3(MLENT1,MLMOT1,MLREE1,'REAL*8 ',MLMOT3,MLMOTS, . LETYP,JER1,MLMOT4,ICAR1) * IF (IERR.NE.0) RETURN ENDIF * * TRAITEMENT DES COMPOSANTES REPRESENTEES PAR DES * OBJETS D'UN AUTRE TYPE ( A PRIORI QUELQUONQUE ) * IF (MLMOT2.MOTS(/2).GT.0) THEN CALL MANUC3(MLENT1,MLMOT2,MLENT2,'POINTEUR',MLMOT3,MLMOTS, . LETYP,JER1,MLMOT4,ICAR2) IF (IERR.NE.0) RETURN ENDIF * SEGDES MLENT1 SEGDES,MLMOT1 SEGDES,MLMOT2 * IF (ICAR1.EQ.0.AND.ICAR2.EQ.0) THEN CALL ERREUR(215) ICARA=0 RETURN ENDIF * * REUNION DES CHAMELEM * IF(ICAR1.NE.0.AND.ICAR2.NE.0) THEN CALL FUSCHL(ICAR1,ICAR2,ICARA) IF (IERR.NE.0) RETURN ELSE ICARA=MAX(ICAR1,ICAR2) ENDIF RETURN END