5 &( chaine , mnemo , nbre , sorleo )
49 INTEGER,
INTENT(IN) :: NBRE
51 CHARACTER(LEN=*),
INTENT(INOUT) :: CHAINE
52 CHARACTER(LEN=8),
INTENT(IN) :: MNEMO(nbre)
54 LOGICAL,
INTENT(INOUT) :: SORLEO(nbre)
61 CHARACTER(LEN=8) MOT(100)
62 CHARACTER(LEN=10) :: KS
63 CHARACTER(LEN=26) :: KL
64 INTEGER I,J,LONG,I1,I2,NMOT,L,KI
71 parameter( ks =
'0123456789' )
72 parameter( kl =
'ABCDEFGHIJKLMNOPQRSTUVWXYZ' )
85 IF(
lng.EQ.1)
WRITE(
lu,1002)
86 IF(
lng.EQ.2)
WRITE(
lu,1003)
87 1002
FORMAT(1x,
'SORTIE (BIEF) : CHAINE VIDE')
88 1003
FORMAT(1x,
'SORTIE (BIEF): EMPTY STRING')
95 IF(chaine(i:i).EQ.c(j)) chaine(i:i) =
' ' 105 IF (i1.GE.long)
GOTO 30
107 IF (chaine(i1:i1).EQ.
' ')
GOTO 10
113 IF (chaine(i1+i2:i1+i2).NE.
' ')
GOTO 20
117 IF(
lng.EQ.1)
WRITE(
lu,1004) chaine
118 IF(
lng.EQ.2)
WRITE(
lu,1005) chaine
119 1004
FORMAT(1x,
'SORTIE (BIEF) : PLUS DE 8 CARACTERES PAR MOT',/,1x,
120 &
' DANS LA CHAINE :',a)
121 1005
FORMAT(1x,
'SORTIE (BIEF): MORE THAN 8 LETTERS PER WORD',/,1x,
122 &
' IN THE CHAIN: ',a)
126 mot(nmot)=chaine(i1:i1+i2)
138 IF( mot(j)(l:l).NE.mnemo(i)(l:l) )
THEN 140 IF( mot(j)(l:l).EQ.
'*'.AND.mnemo(i)(l:l).NE.
' ' )
THEN 143 IF( mnemo(i)(l:l).EQ.ks(ki:ki) )
THEN 146 IF(mnemo(i)(l+1:l+1).EQ.mot(j)(l+1:l+1).OR.
147 & mnemo(i)(l+2:l+2).EQ.mot(j)(l+1:l+1))
THEN 154 ELSEIF( mot(j)(l:l).EQ.
'~'.AND.mnemo(i)(l:l).NE.
' ' )
THEN 157 IF( mnemo(i)(l:l).EQ.kl(ki:ki) ) found = .true.
164 IF( mot(j)(l:l).EQ.
' '.AND.mnemo(i)(l:l).EQ.
' ')
EXIT
subroutine sortie(CHAINE, MNEMO, NBRE, SORLEO)