OSDN Git Service

Enable tree browser for all front ends.
[pf3gnuchains/gcc-fork.git] / gcc / f / stb.h
1 /* stb.h -- Private #include File (module.h template V1.0)
2    Copyright (C) 1995, 1996, 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       stb.c
24
25    Modifications:
26 */
27
28 /* Allow multiple inclusion to work. */
29
30 #ifndef GCC_F_STB_H
31 #define GCC_F_STB_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 "expr.h"
43 #include "lex.h"
44 #include "stp.h"
45 #include "str.h"
46
47 /* Structure definitions. */
48
49 struct _ffestb_args_
50   {
51     struct
52       {
53         const char *badname;
54         ffeTokenLength len;     /* Length of "ENTRY/FUNCTION/SUBROUTINE". */
55         bool is_subr;           /* TRUE if SUBROUTINE or if ENTRY within
56                                    SUBROUTINE. */
57       }
58     dummy;
59     struct
60       {
61         const char *badname;
62         ffeTokenLength len;     /* Length of
63                                    "BACKSPACE/ENDFILE/REWIND/UNLOCK". */
64       }
65     beru;
66     struct
67       {
68         ffeTokenLength len;     /* Length of keyword including "END". */
69         ffestrSecond second;    /* Second keyword. */
70       }
71     endxyz;
72     struct
73       {
74         ffestrSecond second;    /* Second keyword. */
75       }
76     elsexyz;
77     struct
78       {
79         ffeTokenLength len;     /* Length of "STOP/PAUSE". */
80       }
81     halt;
82     struct
83       {
84         const char *badname;
85         ffeTokenLength len;     /* Length of
86                                    "EXTERNAL/INTENT/INTRINSIC/OPTIONAL/PUBLIC/
87                                    PRIVATE". */
88       }
89     varlist;
90     struct
91       {
92         const char *badname;
93         ffeTokenLength len;     /* Length of "DIMENSION/VIRTUAL". */
94       }
95     R524;
96     struct
97       {
98         ffeTokenLength len;     /* Length of first keyword. */
99         ffestpType type;        /* Type of declaration. */
100       }
101     decl;
102   };
103
104 /* Global objects accessed by users of this module. */
105
106 extern struct _ffestb_args_ ffestb_args;
107
108 /* Declare functions with prototypes. */
109
110 ffelexHandler ffestb_beru (ffelexToken t);
111 ffelexHandler ffestb_block (ffelexToken t);
112 ffelexHandler ffestb_blockdata (ffelexToken t);
113 ffelexHandler ffestb_decl_chartype (ffelexToken t);
114 ffelexHandler ffestb_construct (ffelexToken t);
115 ffelexHandler ffestb_decl_dbltype (ffelexToken t);
116 ffelexHandler ffestb_decl_double (ffelexToken t);
117 ffelexHandler ffestb_dimlist (ffelexToken t);
118 ffelexHandler ffestb_do (ffelexToken t);
119 ffelexHandler ffestb_dowhile (ffelexToken t);
120 ffelexHandler ffestb_dummy (ffelexToken t);
121 ffelexHandler ffestb_else (ffelexToken t);
122 ffelexHandler ffestb_elsexyz (ffelexToken t);
123 ffelexHandler ffestb_end (ffelexToken t);
124 ffelexHandler ffestb_endxyz (ffelexToken t);
125 ffelexHandler ffestb_decl_gentype (ffelexToken t);
126 ffelexHandler ffestb_goto (ffelexToken t);
127 ffelexHandler ffestb_halt (ffelexToken t);
128 ffelexHandler ffestb_if (ffelexToken t);
129 ffelexHandler ffestb_let (ffelexToken t);
130 ffelexHandler ffestb_varlist (ffelexToken t);
131 ffelexHandler ffestb_R522 (ffelexToken t);
132 ffelexHandler ffestb_R524 (ffelexToken t);
133 ffelexHandler ffestb_R528 (ffelexToken t);
134 ffelexHandler ffestb_R537 (ffelexToken t);
135 ffelexHandler ffestb_decl_R539 (ffelexToken t);
136 ffelexHandler ffestb_R542 (ffelexToken t);
137 ffelexHandler ffestb_R544 (ffelexToken t);
138 ffelexHandler ffestb_R547 (ffelexToken t);
139 ffelexHandler ffestb_R809 (ffelexToken t);
140 ffelexHandler ffestb_R810 (ffelexToken t);
141 ffelexHandler ffestb_R834 (ffelexToken t);
142 ffelexHandler ffestb_R835 (ffelexToken t);
143 ffelexHandler ffestb_R838 (ffelexToken t);
144 ffelexHandler ffestb_R840 (ffelexToken t);
145 ffelexHandler ffestb_R841 (ffelexToken t);
146 ffelexHandler ffestb_R904 (ffelexToken t);
147 ffelexHandler ffestb_R907 (ffelexToken t);
148 ffelexHandler ffestb_R909 (ffelexToken t);
149 ffelexHandler ffestb_R910 (ffelexToken t);
150 ffelexHandler ffestb_R911 (ffelexToken t);
151 ffelexHandler ffestb_R923 (ffelexToken t);
152 ffelexHandler ffestb_R1001 (ffelexToken t);
153 ffelexHandler ffestb_R1102 (ffelexToken t);
154 ffelexHandler ffestb_R1212 (ffelexToken t);
155 ffelexHandler ffestb_R1227 (ffelexToken t);
156 ffelexHandler ffestb_R1229 (ffelexToken t);
157 ffelexHandler ffestb_S3P4 (ffelexToken t);
158 ffelexHandler ffestb_V014 (ffelexToken t);
159 ffelexHandler ffestb_V020 (ffelexToken t);
160 ffelexHandler ffestb_V027 (ffelexToken t);
161
162 /* Define macros. */
163
164 #define ffestb_init_0()
165 #define ffestb_init_1()
166 #define ffestb_init_2()
167 #define ffestb_init_3()
168 #define ffestb_init_4()
169 #define ffestb_terminate_0()
170 #define ffestb_terminate_1()
171 #define ffestb_terminate_2()
172 #define ffestb_terminate_3()
173 #define ffestb_terminate_4()
174
175 /* End of #include file. */
176
177 #endif /* ! GCC_F_STB_H */