home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / g77-0.5.15-src.tgz / tar.out / fsf / g77 / f / stc.h < prev    next >
C/C++ Source or Header  |  1996-09-28  |  14KB  |  360 lines

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