The TELEMAC-MASCARET system
trunk
sources
utils
damocles
prev.f
Go to the documentation of this file.
1
! *********************
2
INTEGER
FUNCTION
prev
3
! *********************
4
!
5
&( icol , ligne )
6
!
7
!***********************************************************************
8
! DAMOCLES V6P0 21/08/2010
9
!***********************************************************************
10
!
11
!brief RETURNS THE INDEX OF THE 1ST NON-WHITE, NON-TABULATION
12
!+ AND NON-COMMENT CHARACTER OF THE LINE, BEFORE COLUMN ICOL
13
!+ COLUMN ICOL IS EXCLUDED
14
!+ IF CANNOT FIND ANY, PREV = ICOL
15
!
16
!history O. QUIQUEMPOIX (LNH)
17
!+ 15/12/1993
18
!+
19
!+
20
!
21
!history J.M. HERVOUET (LNH); A. YESSAYAN
22
!+ 16/08/1994
23
!+ V5P1
24
!+
25
!
26
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
27
!+ 13/07/2010
28
!+ V6P0
29
!+ Translation of French comments within the FORTRAN sources into
30
!+ English comments
31
!
32
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
33
!+ 21/08/2010
34
!+ V6P0
35
!+ Creation of DOXYGEN tags for automated documentation and
36
!+ cross-referencing of the FORTRAN sources
37
!
38
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
39
!| ICOL |-->| POSITION COURANTE DU POINTEUR DANS LA LIGNE
40
!| LIGNE |-->| LIGNE EN COURS DE DECODAGE
41
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
42
!
43
IMPLICIT NONE
44
!
45
INTEGER
ICOL
46
CHARACTER(LEN=*)
LIGNE
47
!
48
!-----------------------------------------------------------------------
49
!
50
INTEGER
I,J
51
CHARACTER(LEN=1)
TABUL
52
INTRINSIC
char
53
!
54
!***********************************************************************
55
! RCS AND SCCS MARKING
56
!
57
!***********************************************************************
58
!
59
tabul = char(9)
60
prev
= icol
61
i = icol
62
!
63
100
CONTINUE
64
i = i - 1
65
IF
( i.LT.1 )
GO TO
1000
66
!
67
IF
(ligne(i:i).EQ.
' '
.OR.ligne(i:i).EQ.tabul)
GOTO
100
68
!
69
!-----------------------------------------------------------------------
70
! DOES NOT CONSIDER THE COMMENTED LINES:
71
!
72
IF
( ligne(i:i).NE.
'/'
)
THEN
73
prev
= i
74
GO TO
1000
75
ELSE
76
IF
( i.LE.1 )
GO TO
1000
77
DO
j = i-1 , 1 , -1
78
IF
( ligne(j:j).EQ.
'/'
)
THEN
79
i = j
80
GO TO
100
81
ENDIF
82
ENDDO
! J
83
ENDIF
84
!-----------------------------------------------------------------------
85
!
86
1000
CONTINUE
87
!
88
RETURN
89
END
prev
integer function prev(ICOL, LIGNE)
Definition:
prev.f:7