1 /* stc.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. */
39 /* Include files needed by this one. */
49 /* Structure definitions. */
52 /* Global objects accessed by users of this module. */
54 extern ffeexprContext ffestc_iolist_context_
;
56 /* Declare functions with prototypes. */
58 void ffestc_decl_start (ffestpType type
, ffelexToken typet
, ffebld kind
,
59 ffelexToken kindt
, ffebld len
, ffelexToken lent
);
60 void ffestc_decl_attrib (ffestpAttrib attrib
, ffelexToken attribt
,
61 ffestrOther intent_kw
, ffesttDimList dims
);
62 void ffestc_decl_item (ffelexToken name
, ffebld kind
, ffelexToken kindt
,
63 ffesttDimList dims
, ffebld len
, ffelexToken lent
,
64 ffebld init
, ffelexToken initt
, bool clist
);
65 void ffestc_decl_itemstartvals (void);
66 void ffestc_decl_itemvalue (ffebld repeat
, ffelexToken repeat_token
,
67 ffebld value
, ffelexToken value_token
);
68 void ffestc_decl_itemendvals (ffelexToken t
);
69 void ffestc_decl_finish (void);
70 void ffestc_elsewhere (ffelexToken where_token
);
71 void ffestc_end (void);
72 void ffestc_eof (void);
73 bool ffestc_exec_transition (void);
74 void ffestc_ffebad_here_doiter (ffebadIndex i
, ffesymbol s
);
75 void ffestc_init_3 (void);
76 void ffestc_init_4 (void);
77 bool ffestc_is_decl_not_R1219 (void);
78 bool ffestc_is_entry_in_subr (void);
79 bool ffestc_is_let_not_V027 (void);
81 void ffestc_let (ffebld dest
, ffebld source
, ffelexToken source_token
);
83 #define ffestc_let ffestc_R737
86 void ffestc_module (ffelexToken module_name
, ffelexToken procedure_name
);
89 void ffestc_private (void);
91 void ffestc_terminate_4 (void);
93 void ffestc_R423A (void);
94 void ffestc_R423B (void);
95 void ffestc_R424 (ffelexToken access
, ffestrOther access_kw
, ffelexToken name
);
96 void ffestc_R425 (ffelexToken name
);
97 void ffestc_R426_start (ffestpType type
, ffelexToken typet
, ffebld kind
,
98 ffelexToken kindt
, ffebld len
, ffelexToken lent
);
99 void ffestc_R426_attrib (ffestpAttrib attrib
, ffelexToken attribt
,
100 ffestrOther intent_kw
, ffesttDimList dims
);
101 void ffestc_R426_item (ffelexToken name
, ffebld kind
, ffelexToken kindt
,
102 ffesttDimList dims
, ffebld len
, ffelexToken lent
, ffebld init
,
103 ffelexToken initt
, bool clist
);
104 void ffestc_R426_itemstartvals (void);
105 void ffestc_R426_itemvalue (ffebld repeat
, ffelexToken repeat_token
,
106 ffebld value
, ffelexToken value_token
);
107 void ffestc_R426_itemendvals (ffelexToken t
);
108 void ffestc_R426_finish (void);
110 void ffestc_R501_start (ffestpType type
, ffelexToken typet
, ffebld kind
,
111 ffelexToken kindt
, ffebld len
, ffelexToken lent
);
112 void ffestc_R501_attrib (ffestpAttrib attrib
, ffelexToken attribt
,
113 ffestrOther intent_kw
, ffesttDimList dims
);
114 void ffestc_R501_item (ffelexToken name
, ffebld kind
, ffelexToken kindt
,
115 ffesttDimList dims
, ffebld len
, ffelexToken lent
, ffebld init
,
116 ffelexToken initt
, bool clist
);
117 void ffestc_R501_itemstartvals (void);
118 void ffestc_R501_itemvalue (ffebld repeat
, ffelexToken repeat_token
,
119 ffebld value
, ffelexToken value_token
);
120 void ffestc_R501_itemendvals (ffelexToken t
);
121 void ffestc_R501_finish (void);
123 void ffestc_R519_start (ffelexToken intent
, ffestrOther intent_kw
);
124 void ffestc_R519_item (ffelexToken name
);
125 void ffestc_R519_finish (void);
126 void ffestc_R520_start (void);
127 void ffestc_R520_item (ffelexToken name
);
128 void ffestc_R520_finish (void);
129 void ffestc_R521A (void);
130 void ffestc_R521Astart (void);
131 void ffestc_R521Aitem (ffelexToken name
);
132 void ffestc_R521Afinish (void);
133 void ffestc_R521B (void);
134 void ffestc_R521Bstart (void);
135 void ffestc_R521Bitem (ffelexToken name
);
136 void ffestc_R521Bfinish (void);
138 void ffestc_R522 (void);
139 void ffestc_R522start (void);
140 void ffestc_R522item_object (ffelexToken name
);
141 void ffestc_R522item_cblock (ffelexToken name
);
142 void ffestc_R522finish (void);
143 void ffestc_R524_start (bool virtual);
144 void ffestc_R524_item (ffelexToken name
, ffesttDimList dims
);
145 void ffestc_R524_finish (void);
147 void ffestc_R525_start (void);
148 void ffestc_R525_item (ffelexToken name
, ffesttDimList dims
);
149 void ffestc_R525_finish (void);
150 void ffestc_R526_start (void);
151 void ffestc_R526_item (ffelexToken name
, ffesttDimList dims
);
152 void ffestc_R526_finish (void);
153 void ffestc_R527_start (void);
154 void ffestc_R527_item (ffelexToken name
, ffesttDimList dims
);
155 void ffestc_R527_finish (void);
157 void ffestc_R528_start (void);
158 void ffestc_R528_item_object (ffebld expr
, ffelexToken expr_token
);
159 void ffestc_R528_item_startvals (void);
160 void ffestc_R528_item_value (ffebld repeat
, ffelexToken repeat_token
,
161 ffebld value
, ffelexToken value_token
);
162 void ffestc_R528_item_endvals (ffelexToken t
);
163 void ffestc_R528_finish (void);
164 void ffestc_R537_start (void);
165 void ffestc_R537_item (ffebld dest
, ffelexToken dest_token
, ffebld source
,
166 ffelexToken source_token
);
167 void ffestc_R537_finish (void);
168 void ffestc_R539 (void);
169 void ffestc_R539start (void);
170 void ffestc_R539item (ffestpType type
, ffebld kind
, ffelexToken kindt
,
171 ffebld len
, ffelexToken lent
, ffesttImpList letters
);
172 void ffestc_R539finish (void);
173 void ffestc_R542_start (void);
174 void ffestc_R542_item_nlist (ffelexToken name
);
175 void ffestc_R542_item_nitem (ffelexToken name
);
176 void ffestc_R542_finish (void);
177 void ffestc_R544_start (void);
178 void ffestc_R544_item (ffesttExprList exprlist
);
179 void ffestc_R544_finish (void);
180 void ffestc_R547_start (void);
181 void ffestc_R547_item_object (ffelexToken name
, ffesttDimList dims
);
182 void ffestc_R547_item_cblock (ffelexToken name
);
183 void ffestc_R547_finish (void);
185 void ffestc_R620 (ffesttExprList objects
, ffebld stat
,
186 ffelexToken stat_token
);
187 void ffestc_R624 (ffesttExprList pointers
);
188 void ffestc_R625 (ffesttExprList objects
, ffebld stat
,
189 ffelexToken stat_token
);
191 void ffestc_R737 (ffebld dest
, ffebld source
, ffelexToken source_token
);
193 void ffestc_R738 (ffebld dest
, ffebld source
, ffelexToken source_token
);
194 void ffestc_R740 (ffebld expr
, ffelexToken expr_token
);
195 void ffestc_R742 (ffebld expr
, ffelexToken expr_token
);
196 void ffestc_R744 (void);
197 void ffestc_R745 (void);
199 void ffestc_R803 (ffelexToken construct_name
, ffebld expr
,
200 ffelexToken expr_token
);
201 void ffestc_R804 (ffebld expr
, ffelexToken expr_token
, ffelexToken name
);
202 void ffestc_R805 (ffelexToken name
);
203 void ffestc_R806 (ffelexToken name
);
204 void ffestc_R807 (ffebld expr
, ffelexToken expr_token
);
205 void ffestc_R809 (ffelexToken construct_name
, ffebld expr
,
206 ffelexToken expr_token
);
207 void ffestc_R810 (ffesttCaseList cases
, ffelexToken name
);
208 void ffestc_R811 (ffelexToken name
);
209 void ffestc_R819A (ffelexToken construct_name
, ffelexToken label
, ffebld var
,
210 ffelexToken var_token
, ffebld start
, ffelexToken start_token
, ffebld end
,
211 ffelexToken end_token
, ffebld incr
, ffelexToken incr_token
);
212 void ffestc_R819B (ffelexToken construct_name
, ffelexToken label
, ffebld expr
,
213 ffelexToken expr_token
);
214 void ffestc_R820A (ffelexToken construct_name
, ffebld var
,
215 ffelexToken var_token
, ffebld start
, ffelexToken start_token
, ffebld end
,
216 ffelexToken end_token
, ffebld incr
, ffelexToken incr_token
);
217 void ffestc_R820B (ffelexToken construct_name
, ffebld expr
,
218 ffelexToken expr_token
);
219 void ffestc_R825 (ffelexToken name
);
220 void ffestc_R834 (ffelexToken name
);
221 void ffestc_R835 (ffelexToken name
);
222 void ffestc_R836 (ffelexToken label
);
223 void ffestc_R837 (ffesttTokenList label_toks
, ffebld expr
,
224 ffelexToken expr_token
);
225 void ffestc_R838 (ffelexToken label
, ffebld target
, ffelexToken target_token
);
226 void ffestc_R839 (ffebld target
, ffelexToken target_token
,
227 ffesttTokenList label_toks
);
228 void ffestc_R840 (ffebld expr
, ffelexToken expr_token
, ffelexToken neg
,
229 ffelexToken zero
, ffelexToken pos
);
230 void ffestc_R841 (void);
231 void ffestc_R842 (ffebld expr
, ffelexToken expr_token
);
232 void ffestc_R843 (ffebld expr
, ffelexToken expr_token
);
233 void ffestc_R904 (void);
234 void ffestc_R907 (void);
235 void ffestc_R909_start (bool only_format
);
236 void ffestc_R909_item (ffebld expr
, ffelexToken expr_token
);
237 void ffestc_R909_finish (void);
238 void ffestc_R910_start (void);
239 void ffestc_R910_item (ffebld expr
, ffelexToken expr_token
);
240 void ffestc_R910_finish (void);
241 void ffestc_R911_start (void);
242 void ffestc_R911_item (ffebld expr
, ffelexToken expr_token
);
243 void ffestc_R911_finish (void);
244 void ffestc_R919 (void);
245 void ffestc_R920 (void);
246 void ffestc_R921 (void);
247 void ffestc_R923A (void);
248 void ffestc_R923B_start (void);
249 void ffestc_R923B_item (ffebld expr
, ffelexToken expr_token
);
250 void ffestc_R923B_finish (void);
251 void ffestc_R1001 (ffesttFormatList f
);
252 void ffestc_R1102 (ffelexToken name
);
253 void ffestc_R1103 (ffelexToken name
);
255 void ffestc_R1105 (ffelexToken name
);
256 void ffestc_R1106 (ffelexToken name
);
257 void ffestc_R1107_start (ffelexToken name
, bool only
);
258 void ffestc_R1107_item (ffelexToken local
, ffelexToken use
);
259 void ffestc_R1107_finish (void);
261 void ffestc_R1111 (ffelexToken name
);
262 void ffestc_R1112 (ffelexToken name
);
264 void ffestc_R1202 (ffestpDefinedOperator
operator, ffelexToken name
);
265 void ffestc_R1203 (void);
266 void ffestc_R1205_start (void);
267 void ffestc_R1205_item (ffelexToken name
);
268 void ffestc_R1205_finish (void);
270 void ffestc_R1207_start (void);
271 void ffestc_R1207_item (ffelexToken name
);
272 void ffestc_R1207_finish (void);
273 void ffestc_R1208_start (void);
274 void ffestc_R1208_item (ffelexToken name
);
275 void ffestc_R1208_finish (void);
276 void ffestc_R1212 (ffebld expr
, ffelexToken expr_token
);
278 void ffestc_R1213 (ffebld dest
, ffebld source
, ffelexToken source_token
);
280 void ffestc_R1219 (ffelexToken funcname
, ffesttTokenList args
,
281 ffelexToken final
, ffestpType type
, ffebld kind
, ffelexToken kindt
,
282 ffebld len
, ffelexToken lent
, ffelexToken recursive
, ffelexToken result
);
283 void ffestc_R1221 (ffelexToken name
);
284 void ffestc_R1223 (ffelexToken subrname
, ffesttTokenList args
,
285 ffelexToken final
, ffelexToken recursive
);
286 void ffestc_R1225 (ffelexToken name
);
287 void ffestc_R1226 (ffelexToken entryname
, ffesttTokenList args
,
289 void ffestc_R1227 (ffebld expr
, ffelexToken expr_token
);
291 void ffestc_R1228 (void);
293 void ffestc_R1229_start (ffelexToken name
, ffesttTokenList args
,
295 void ffestc_R1229_finish (ffebld expr
, ffelexToken expr_token
);
296 void ffestc_S3P4 (ffebld filename
, ffelexToken filename_token
);
298 void ffestc_V003_start (ffelexToken structure_name
);
299 void ffestc_V003_item (ffelexToken name
, ffesttDimList dims
);
300 void ffestc_V003_finish (void);
301 void ffestc_V004 (void);
302 void ffestc_V009 (void);
303 void ffestc_V010 (void);
304 void ffestc_V012 (void);
305 void ffestc_V013 (void);
307 void ffestc_V014_start (void);
308 void ffestc_V014_item_object (ffelexToken name
);
309 void ffestc_V014_item_cblock (ffelexToken name
);
310 void ffestc_V014_finish (void);
312 void ffestc_V016_start (void);
313 void ffestc_V016_item_structure (ffelexToken name
);
314 void ffestc_V016_item_object (ffelexToken name
, ffesttDimList dims
);
315 void ffestc_V016_finish (void);
316 void ffestc_V018_start (void);
317 void ffestc_V018_item (ffebld expr
, ffelexToken expr_token
);
318 void ffestc_V018_finish (void);
319 void ffestc_V019_start (void);
320 void ffestc_V019_item (ffebld expr
, ffelexToken expr_token
);
321 void ffestc_V019_finish (void);
323 void ffestc_V020_start (void);
324 void ffestc_V020_item (ffebld expr
, ffelexToken expr_token
);
325 void ffestc_V020_finish (void);
327 void ffestc_V021 (void);
328 void ffestc_V022 (void);
329 void ffestc_V023_start (void);
330 void ffestc_V023_item (ffebld expr
, ffelexToken expr_token
);
331 void ffestc_V023_finish (void);
332 void ffestc_V024_start (void);
333 void ffestc_V024_item (ffebld expr
, ffelexToken expr_token
);
334 void ffestc_V024_finish (void);
335 void ffestc_V025_start (void);
336 void ffestc_V025_item (ffebld u
, ffelexToken ut
, ffebld m
, ffelexToken mt
,
337 ffebld n
, ffelexToken nt
, ffebld asv
, ffelexToken asvt
);
338 void ffestc_V025_finish (void);
339 void ffestc_V026 (void);
341 void ffestc_V027_start (void);
342 void ffestc_V027_item (ffelexToken dest_token
, ffebld source
,
343 ffelexToken source_token
);
344 void ffestc_V027_finish (void);
345 void ffestc_any (void);
349 #define ffestc_context_iolist() ffestc_iolist_context_
350 #define ffestc_init_0()
351 #define ffestc_init_1()
352 #define ffestc_init_2()
353 #define ffestc_terminate_0()
354 #define ffestc_terminate_1()
355 #define ffestc_terminate_2()
356 #define ffestc_terminate_3()
358 /* End of #include file. */
360 #endif /* ! GCC_F_STC_H */