1 /* stv.h -- Private #include File (module.h template V1.0)
2 Copyright (C) 1995 Free Software Foundation, Inc.
3 Contributed by James Craig Burley.
5 This file is part of GNU Fortran.
7 GNU Fortran is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
12 GNU Fortran is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GNU Fortran; see the file COPYING. If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
28 /* Allow multiple inclusion to work. */
33 /* Simple definitions and enumerations. */
37 FFESTV_accessstateNONE
, /* Haven't seen PUBLIC or PRIVATE yet. */
38 FFESTV_accessstatePUBLIC
, /* Seen PUBLIC stmt w/o args. */
39 FFESTV_accessstatePRIVATE
, /* Seen PRIVATE stmt w/o args. */
40 FFESTV_accessstateANY
, /* Conflict seen and reported, so stop
46 { /* Format specifier in an I/O statement. */
47 FFESTV_formatNONE
, /* None. */
48 FFESTV_formatLABEL
, /* Label (normal format). */
49 FFESTV_formatCHAREXPR
, /* Character expression (normal format). */
50 FFESTV_formatASTERISK
, /* Asterisk (list-directed). */
51 FFESTV_formatINTEXPR
, /* Integer expression (assigned label). */
52 FFESTV_formatNAMELIST
, /* Namelist (namelist-directed). */
58 FFESTV_savestateNONE
, /* Haven't seen SAVE stmt or attribute yet. */
59 FFESTV_savestateSPECIFIC
, /* Seen SAVE stmt w/args or SAVE attr. */
60 FFESTV_savestateALL
, /* Seen SAVE stmt w/o args. */
61 FFESTV_savestateANY
, /* Conflict seen and reported, so stop
68 FFESTV_stateNIL
, /* Initial state, and after end of outer prog
70 FFESTV_statePROGRAM0
, /* After PROGRAM. */
71 FFESTV_statePROGRAM1
, /* Before first non-USE statement. */
72 FFESTV_statePROGRAM2
, /* After IMPLICIT NONE. */
73 FFESTV_statePROGRAM3
, /* After IMPLICIT, PARAMETER, FORMAT. */
74 FFESTV_statePROGRAM4
, /* Before executable stmt or CONTAINS. */
75 FFESTV_statePROGRAM5
, /* After CONTAINS. */
76 FFESTV_stateSUBROUTINE0
, /* After SUBROUTINE. */
77 FFESTV_stateSUBROUTINE1
, /* Before first non-USE statement. */
78 FFESTV_stateSUBROUTINE2
, /* After IMPLICIT NONE. */
79 FFESTV_stateSUBROUTINE3
, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */
80 FFESTV_stateSUBROUTINE4
, /* Before executable stmt or CONTAINS. */
81 FFESTV_stateSUBROUTINE5
, /* After CONTAINS. */
82 FFESTV_stateFUNCTION0
, /* After FUNCTION. */
83 FFESTV_stateFUNCTION1
, /* Before first non-USE statement. */
84 FFESTV_stateFUNCTION2
, /* After IMPLICIT NONE. */
85 FFESTV_stateFUNCTION3
, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */
86 FFESTV_stateFUNCTION4
, /* Before executable stmt or CONTAINS. */
87 FFESTV_stateFUNCTION5
, /* After CONTAINS. */
88 FFESTV_stateMODULE0
, /* After MODULE. */
89 FFESTV_stateMODULE1
, /* Before first non-USE statement. */
90 FFESTV_stateMODULE2
, /* After IMPLICIT NONE. */
91 FFESTV_stateMODULE3
, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */
92 FFESTV_stateMODULE4
, /* Before executable stmt or CONTAINS. */
93 FFESTV_stateMODULE5
, /* After CONTAINS. */
94 FFESTV_stateBLOCKDATA0
, /* After BLOCKDATA. */
95 FFESTV_stateBLOCKDATA1
, /* Before first non-USE statement. */
96 FFESTV_stateBLOCKDATA2
, /* After IMPLICIT NONE. */
97 FFESTV_stateBLOCKDATA3
, /* After IMPLICIT, PARAMETER, FORMAT, ENTRY. */
98 FFESTV_stateBLOCKDATA4
, /* Before executable stmt or CONTAINS. */
99 FFESTV_stateBLOCKDATA5
, /* After CONTAINS. */
100 FFESTV_stateUSE
, /* Before first USE thru last USE. */
101 FFESTV_stateTYPE
, /* After TYPE thru END TYPE. */
102 FFESTV_stateINTERFACE0
, /* After INTERFACE thru MODULE PROCEDURE. */
103 FFESTV_stateINTERFACE1
, /* After MODULE PROCEDURE thru END INTERFACE. */
104 FFESTV_stateSTRUCTURE
, /* After STRUCTURE thru END STRUCTURE. */
105 FFESTV_stateUNION
, /* After UNION thru END UNION. */
106 FFESTV_stateMAP
, /* After MAP thru END MAP. */
107 FFESTV_stateWHERETHEN
, /* After WHERE-construct thru END WHERE. */
108 FFESTV_stateWHERE
, /* After WHERE-stmt thru next stmt. */
109 FFESTV_stateIFTHEN
, /* After IF THEN thru END IF. */
110 FFESTV_stateIF
, /* After IF thru next stmt. */
111 FFESTV_stateDO
, /* After DO thru END DO or terminating label. */
112 FFESTV_stateSELECT0
, /* After SELECT to before first CASE. */
113 FFESTV_stateSELECT1
, /* First CASE in SELECT thru END SELECT. */
118 { /* Unit specifier. */
119 FFESTV_unitNONE
, /* None. */
120 FFESTV_unitINTEXPR
, /* Integer expression (external file unit). */
121 FFESTV_unitASTERISK
, /* Default unit. */
122 FFESTV_unitCHAREXPR
, /* Character expression (internal file unit). */
129 /* Include files needed by this one. */
134 /* Structure definitions. */
137 /* Global objects accessed by users of this module. */
139 extern ffestvSavestate ffestv_save_state_
;
140 extern ffewhereLine ffestv_save_line_
;
141 extern ffewhereColumn ffestv_save_col_
;
142 extern ffestvAccessstate ffestv_access_state_
;
143 extern ffewhereLine ffestv_access_line_
;
144 extern ffewhereColumn ffestv_access_col_
;
145 extern ffelabNumber ffestv_num_label_defines_
;
147 /* Declare functions with prototypes. */
152 #define ffestv_init_0()
153 #define ffestv_init_1()
154 #define ffestv_init_2()
155 #define ffestv_init_3()
156 #define ffestv_init_4()
157 #define ffestv_terminate_0()
158 #define ffestv_terminate_1()
159 #define ffestv_terminate_2()
160 #define ffestv_terminate_3()
161 #define ffestv_terminate_4()
163 /* End of #include file. */
165 #endif /* ! GCC_F_STV_H */