OSDN Git Service

Index: ChangeLog
[pf3gnuchains/gcc-fork.git] / gcc / f / stc.h
1 /* stc.h -- Private #include File (module.h template V1.0)
2    Copyright (C) 1995, 2003 Free Software Foundation, Inc.
3    Contributed by James Craig Burley.
4
5 This file is part of GNU Fortran.
6
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)
10 any later version.
11
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.
16
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
20 02111-1307, USA.
21
22    Owning Modules:
23       stc.c
24
25    Modifications:
26 */
27
28 /* Allow multiple inclusion to work. */
29
30 #ifndef GCC_F_STC_H
31 #define GCC_F_STC_H
32
33 /* Simple definitions and enumerations. */
34
35
36 /* Typedefs. */
37
38
39 /* Include files needed by this one. */
40
41 #include "bad.h"
42 #include "bld.h"
43 #include "expr.h"
44 #include "lex.h"
45 #include "stp.h"
46 #include "str.h"
47 #include "stt.h"
48
49 /* Structure definitions. */
50
51
52 /* Global objects accessed by users of this module. */
53
54 extern ffeexprContext ffestc_iolist_context_;
55
56 /* Declare functions with prototypes. */
57
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);
80 #define ffestc_let ffestc_R737
81 void ffestc_terminate_4 (void);
82 void ffestc_R501_start (ffestpType type, ffelexToken typet, ffebld kind,
83                         ffelexToken kindt, ffebld len, ffelexToken lent);
84 void ffestc_R501_attrib (ffestpAttrib attrib, ffelexToken attribt,
85                          ffestrOther intent_kw, ffesttDimList dims);
86 void ffestc_R501_item (ffelexToken name, ffebld kind, ffelexToken kindt,
87               ffesttDimList dims, ffebld len, ffelexToken lent, ffebld init,
88                        ffelexToken initt, bool clist);
89 void ffestc_R501_itemstartvals (void);
90 void ffestc_R501_itemvalue (ffebld repeat, ffelexToken repeat_token,
91                             ffebld value, ffelexToken value_token);
92 void ffestc_R501_itemendvals (ffelexToken t);
93 void ffestc_R501_finish (void);
94 void ffestc_R522 (void);
95 void ffestc_R522start (void);
96 void ffestc_R522item_object (ffelexToken name);
97 void ffestc_R522item_cblock (ffelexToken name);
98 void ffestc_R522finish (void);
99 void ffestc_R524_start (bool virtual);
100 void ffestc_R524_item (ffelexToken name, ffesttDimList dims);
101 void ffestc_R524_finish (void);
102 void ffestc_R528_start (void);
103 void ffestc_R528_item_object (ffebld expr, ffelexToken expr_token);
104 void ffestc_R528_item_startvals (void);
105 void ffestc_R528_item_value (ffebld repeat, ffelexToken repeat_token,
106                              ffebld value, ffelexToken value_token);
107 void ffestc_R528_item_endvals (ffelexToken t);
108 void ffestc_R528_finish (void);
109 void ffestc_R537_start (void);
110 void ffestc_R537_item (ffebld dest, ffelexToken dest_token, ffebld source,
111                        ffelexToken source_token);
112 void ffestc_R537_finish (void);
113 void ffestc_R539 (void);
114 void ffestc_R539start (void);
115 void ffestc_R539item (ffestpType type, ffebld kind, ffelexToken kindt,
116                       ffebld len, ffelexToken lent, ffesttImpList letters);
117 void ffestc_R539finish (void);
118 void ffestc_R542_start (void);
119 void ffestc_R542_item_nlist (ffelexToken name);
120 void ffestc_R542_item_nitem (ffelexToken name);
121 void ffestc_R542_finish (void);
122 void ffestc_R544_start (void);
123 void ffestc_R544_item (ffesttExprList exprlist);
124 void ffestc_R544_finish (void);
125 void ffestc_R547_start (void);
126 void ffestc_R547_item_object (ffelexToken name, ffesttDimList dims);
127 void ffestc_R547_item_cblock (ffelexToken name);
128 void ffestc_R547_finish (void);
129 void ffestc_R737 (ffebld dest, ffebld source, ffelexToken source_token);
130 void ffestc_R803 (ffelexToken construct_name, ffebld expr,
131                   ffelexToken expr_token);
132 void ffestc_R804 (ffebld expr, ffelexToken expr_token, ffelexToken name);
133 void ffestc_R805 (ffelexToken name);
134 void ffestc_R806 (ffelexToken name);
135 void ffestc_R807 (ffebld expr, ffelexToken expr_token);
136 void ffestc_R809 (ffelexToken construct_name, ffebld expr,
137                   ffelexToken expr_token);
138 void ffestc_R810 (ffesttCaseList cases, ffelexToken name);
139 void ffestc_R811 (ffelexToken name);
140 void ffestc_R819A (ffelexToken construct_name, ffelexToken label, ffebld var,
141    ffelexToken var_token, ffebld start, ffelexToken start_token, ffebld end,
142                 ffelexToken end_token, ffebld incr, ffelexToken incr_token);
143 void ffestc_R819B (ffelexToken construct_name, ffelexToken label, ffebld expr,
144                    ffelexToken expr_token);
145 void ffestc_R820A (ffelexToken construct_name, ffebld var,
146    ffelexToken var_token, ffebld start, ffelexToken start_token, ffebld end,
147                 ffelexToken end_token, ffebld incr, ffelexToken incr_token);
148 void ffestc_R820B (ffelexToken construct_name, ffebld expr,
149                    ffelexToken expr_token);
150 void ffestc_R825 (ffelexToken name);
151 void ffestc_R834 (ffelexToken name);
152 void ffestc_R835 (ffelexToken name);
153 void ffestc_R836 (ffelexToken label);
154 void ffestc_R837 (ffesttTokenList label_toks, ffebld expr,
155                   ffelexToken expr_token);
156 void ffestc_R838 (ffelexToken label, ffebld target, ffelexToken target_token);
157 void ffestc_R839 (ffebld target, ffelexToken target_token,
158                   ffesttTokenList label_toks);
159 void ffestc_R840 (ffebld expr, ffelexToken expr_token, ffelexToken neg,
160                   ffelexToken zero, ffelexToken pos);
161 void ffestc_R841 (void);
162 void ffestc_R842 (ffebld expr, ffelexToken expr_token);
163 void ffestc_R843 (ffebld expr, ffelexToken expr_token);
164 void ffestc_R904 (void);
165 void ffestc_R907 (void);
166 void ffestc_R909_start (bool only_format);
167 void ffestc_R909_item (ffebld expr, ffelexToken expr_token);
168 void ffestc_R909_finish (void);
169 void ffestc_R910_start (void);
170 void ffestc_R910_item (ffebld expr, ffelexToken expr_token);
171 void ffestc_R910_finish (void);
172 void ffestc_R911_start (void);
173 void ffestc_R911_item (ffebld expr, ffelexToken expr_token);
174 void ffestc_R911_finish (void);
175 void ffestc_R919 (void);
176 void ffestc_R920 (void);
177 void ffestc_R921 (void);
178 void ffestc_R923A (void);
179 void ffestc_R923B_start (void);
180 void ffestc_R923B_item (ffebld expr, ffelexToken expr_token);
181 void ffestc_R923B_finish (void);
182 void ffestc_R1001 (ffesttFormatList f);
183 void ffestc_R1102 (ffelexToken name);
184 void ffestc_R1103 (ffelexToken name);
185 void ffestc_R1111 (ffelexToken name);
186 void ffestc_R1112 (ffelexToken name);
187 void ffestc_R1207_start (void);
188 void ffestc_R1207_item (ffelexToken name);
189 void ffestc_R1207_finish (void);
190 void ffestc_R1208_start (void);
191 void ffestc_R1208_item (ffelexToken name);
192 void ffestc_R1208_finish (void);
193 void ffestc_R1212 (ffebld expr, ffelexToken expr_token);
194 void ffestc_R1219 (ffelexToken funcname, ffesttTokenList args,
195          ffelexToken final, ffestpType type, ffebld kind, ffelexToken kindt,
196    ffebld len, ffelexToken lent, ffelexToken recursive, ffelexToken result);
197 void ffestc_R1221 (ffelexToken name);
198 void ffestc_R1223 (ffelexToken subrname, ffesttTokenList args,
199                    ffelexToken final, ffelexToken recursive);
200 void ffestc_R1225 (ffelexToken name);
201 void ffestc_R1226 (ffelexToken entryname, ffesttTokenList args,
202                    ffelexToken final);
203 void ffestc_R1227 (ffebld expr, ffelexToken expr_token);
204 void ffestc_R1229_start (ffelexToken name, ffesttTokenList args,
205                          ffelexToken final);
206 void ffestc_R1229_finish (ffebld expr, ffelexToken expr_token);
207 void ffestc_S3P4 (ffebld filename, ffelexToken filename_token);
208 void ffestc_V014_start (void);
209 void ffestc_V014_item_object (ffelexToken name);
210 void ffestc_V014_item_cblock (ffelexToken name);
211 void ffestc_V014_finish (void);
212 void ffestc_V020_start (void);
213 void ffestc_V020_item (ffebld expr, ffelexToken expr_token);
214 void ffestc_V020_finish (void);
215 void ffestc_V027_start (void);
216 void ffestc_V027_item (ffelexToken dest_token, ffebld source,
217                        ffelexToken source_token);
218 void ffestc_V027_finish (void);
219 void ffestc_any (void);
220
221 /* Define macros. */
222
223 #define ffestc_context_iolist() ffestc_iolist_context_
224 #define ffestc_init_0()
225 #define ffestc_init_1()
226 #define ffestc_init_2()
227 #define ffestc_terminate_0()
228 #define ffestc_terminate_1()
229 #define ffestc_terminate_2()
230 #define ffestc_terminate_3()
231
232 /* End of #include file. */
233
234 #endif /* ! GCC_F_STC_H */