1 /* ste.h -- Private #include File (module.h template V1.0) 2 Copyright (C) 1995 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 ste.c 24 25 Modifications: 26 */ 27 28 /* Allow multiple inclusion to work. */ 29 30 #ifndef GCC_F_STE_H 31 #define GCC_F_STE_H 32 33 /* Simple definitions and enumerations. */ 34 35 36 /* Typedefs. */ 37 38 39 /* Include files needed by this one. */ 40 41 #include "bld.h" 42 #include "lab.h" 43 #include "lex.h" 44 #include "stp.h" 45 #include "str.h" 46 #include "sts.h" 47 #include "stt.h" 48 #include "stv.h" 49 #include "stw.h" 50 #include "symbol.h" 51 52 /* Structure definitions. */ 53 54 55 /* Global objects accessed by users of this module. */ 56 57 58 /* Declare functions with prototypes. */ 59 60 void ffeste_do (ffestw block); 61 void ffeste_end_R807 (void); 62 void ffeste_labeldef_branch (ffelab label); 63 void ffeste_labeldef_format (ffelab label); 64 void ffeste_R737A (ffebld dest, ffebld source); 65 void ffeste_R803 (ffestw block, ffebld expr); 66 void ffeste_R804 (ffestw block, ffebld expr); 67 void ffeste_R805 (ffestw block); 68 void ffeste_R806 (ffestw block); 69 void ffeste_R807 (ffebld expr); 70 void ffeste_R809 (ffestw block, ffebld expr); 71 void ffeste_R810 (ffestw block, unsigned long casenum); 72 void ffeste_R811 (ffestw block); 73 void ffeste_R819A (ffestw block, ffelab label, ffebld var, 74 ffebld start, ffelexToken start_token, 75 ffebld end, ffelexToken end_token, 76 ffebld incr, ffelexToken incr_token); 77 void ffeste_R819B (ffestw block, ffelab label, ffebld expr); 78 void ffeste_R825 (void); 79 void ffeste_R834 (ffestw block); 80 void ffeste_R835 (ffestw block); 81 void ffeste_R836 (ffelab label); 82 void ffeste_R837 (ffelab *labels, int count, ffebld expr); 83 void ffeste_R838 (ffelab label, ffebld target); 84 void ffeste_R839 (ffebld target); 85 void ffeste_R840 (ffebld expr, ffelab neg, ffelab zero, ffelab pos); 86 void ffeste_R841 (void); 87 void ffeste_R842 (ffebld expr); 88 void ffeste_R843 (ffebld expr); 89 void ffeste_R904 (ffestpOpenStmt *info); 90 void ffeste_R907 (ffestpCloseStmt *info); 91 void ffeste_R909_start (ffestpReadStmt *info, bool only_format, 92 ffestvUnit unit, ffestvFormat format, bool rec, bool key); 93 void ffeste_R909_item (ffebld expr, ffelexToken expr_token); 94 void ffeste_R909_finish (void); 95 void ffeste_R910_start (ffestpWriteStmt *info, ffestvUnit unit, 96 ffestvFormat format, bool rec); 97 void ffeste_R910_item (ffebld expr, ffelexToken expr_token); 98 void ffeste_R910_finish (void); 99 void ffeste_R911_start (ffestpPrintStmt *info, ffestvFormat format); 100 void ffeste_R911_item (ffebld expr, ffelexToken expr_token); 101 void ffeste_R911_finish (void); 102 void ffeste_R919 (ffestpBeruStmt *info); 103 void ffeste_R920 (ffestpBeruStmt *info); 104 void ffeste_R921 (ffestpBeruStmt *info); 105 void ffeste_R923A (ffestpInquireStmt *info, bool by_file); 106 void ffeste_R923B_start (ffestpInquireStmt *info); 107 void ffeste_R923B_item (ffebld expr); 108 void ffeste_R923B_finish (void); 109 void ffeste_R1001 (ffests s); 110 void ffeste_R1103 (void); 111 void ffeste_R1112 (void); 112 void ffeste_R1212 (ffebld expr); 113 void ffeste_R1221 (void); 114 void ffeste_R1225 (void); 115 void ffeste_R1226 (ffesymbol entry); 116 void ffeste_R1227 (ffestw block, ffebld expr); 117 #if FFESTR_VXT 118 void ffeste_V018_start (ffestpRewriteStmt *info, ffestvFormat format); 119 void ffeste_V018_item (ffebld expr); 120 void ffeste_V018_finish (void); 121 void ffeste_V019_start (ffestpAcceptStmt *info, ffestvFormat format); 122 void ffeste_V019_item (ffebld expr); 123 void ffeste_V019_finish (void); 124 #endif 125 void ffeste_V020_start (ffestpTypeStmt *info, ffestvFormat format); 126 void ffeste_V020_item (ffebld expr); 127 void ffeste_V020_finish (void); 128 #if FFESTR_VXT 129 void ffeste_V021 (ffestpDeleteStmt *info); 130 void ffeste_V022 (ffestpBeruStmt *info); 131 void ffeste_V023_start (ffestpVxtcodeStmt *info); 132 void ffeste_V023_item (ffebld expr); 133 void ffeste_V023_finish (void); 134 void ffeste_V024_start (ffestpVxtcodeStmt *info); 135 void ffeste_V024_item (ffebld expr); 136 void ffeste_V024_finish (void); 137 void ffeste_V025_start (void); 138 void ffeste_V025_item (ffebld u, ffebld m, ffebld n, ffebld asv); 139 void ffeste_V025_finish (void); 140 void ffeste_V026 (ffestpFindStmt *info); 141 #endif 142 143 /* Define macros. */ 144 145 #define ffeste_init_0() 146 #define ffeste_init_1() 147 #define ffeste_init_2() 148 #define ffeste_init_3() 149 #define ffeste_init_4() 150 #define ffeste_filename() input_filename 151 #define ffeste_filelinenum() lineno 152 #define ffeste_set_line(name,num) \ 153 (input_filename = (name), lineno = (num)) 154 #define ffeste_terminate_0() 155 #define ffeste_terminate_1() 156 #ifdef ENABLE_CHECKING 157 void ffeste_terminate_2 (void); 158 #else 159 #define ffeste_terminate_2() 160 #endif 161 #define ffeste_terminate_3() 162 #define ffeste_terminate_4() 163 164 /* End of #include file. */ 165 166 #endif /* ! GCC_F_STE_H */ 167