ROSE  0.9.10.69
ompparser.h
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
6 
7  This program 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 3 of the License, or
10  (at your option) any later version.
11 
12  This program 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 this program. If not, see <http://www.gnu.org/licenses/>. */
19 
20 /* As a special exception, you may create a larger work that contains
21  part or all of the Bison parser skeleton and distribute that work
22  under terms of your choice, so long as that work isn't itself a
23  parser generator using the skeleton or a modified version thereof
24  as a parser skeleton. Alternatively, if you modify or redistribute
25  the parser skeleton itself, you may (at your option) remove this
26  special exception, which will cause the skeleton and the resulting
27  Bison output files to be licensed under the GNU General Public
28  License without this special exception.
29 
30  This special exception was added by the Free Software Foundation in
31  version 2.2 of Bison. */
32 
33 #ifndef YY_OMP_OMPPARSER_HH_INCLUDED
34 # define YY_OMP_OMPPARSER_HH_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int omp_debug;
41 #endif
42 
43 /* Token type. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46  enum yytokentype
47  {
48  OMP = 258,
49  PARALLEL = 259,
50  IF = 260,
51  NUM_THREADS = 261,
52  ORDERED = 262,
53  SCHEDULE = 263,
54  STATIC = 264,
55  DYNAMIC = 265,
56  GUIDED = 266,
57  RUNTIME = 267,
58  SECTIONS = 268,
59  SINGLE = 269,
60  NOWAIT = 270,
61  SECTION = 271,
62  FOR = 272,
63  MASTER = 273,
64  CRITICAL = 274,
65  BARRIER = 275,
66  ATOMIC = 276,
67  FLUSH = 277,
68  TARGET = 278,
69  UPDATE = 279,
70  DIST_DATA = 280,
71  BLOCK = 281,
72  DUPLICATE = 282,
73  CYCLIC = 283,
74  THREADPRIVATE = 284,
75  PRIVATE = 285,
76  COPYPRIVATE = 286,
77  FIRSTPRIVATE = 287,
78  LASTPRIVATE = 288,
79  SHARED = 289,
80  DEFAULT = 290,
81  NONE = 291,
82  REDUCTION = 292,
83  COPYIN = 293,
84  TASK = 294,
85  TASKWAIT = 295,
86  UNTIED = 296,
87  COLLAPSE = 297,
88  AUTO = 298,
89  DECLARE = 299,
90  DATA = 300,
91  DEVICE = 301,
92  MAP = 302,
93  ALLOC = 303,
94  TO = 304,
95  FROM = 305,
96  TOFROM = 306,
97  PROC_BIND = 307,
98  CLOSE = 308,
99  SPREAD = 309,
100  SIMD = 310,
101  SAFELEN = 311,
102  ALIGNED = 312,
103  LINEAR = 313,
104  UNIFORM = 314,
105  INBRANCH = 315,
106  NOTINBRANCH = 316,
107  MPI = 317,
108  MPI_ALL = 318,
109  MPI_MASTER = 319,
110  TARGET_BEGIN = 320,
111  TARGET_END = 321,
112  LOGAND = 322,
113  LOGOR = 323,
114  SHLEFT = 324,
115  SHRIGHT = 325,
116  PLUSPLUS = 326,
117  MINUSMINUS = 327,
118  PTR_TO = 328,
119  LE_OP2 = 329,
120  GE_OP2 = 330,
121  EQ_OP2 = 331,
122  NE_OP2 = 332,
123  RIGHT_ASSIGN2 = 333,
124  LEFT_ASSIGN2 = 334,
125  ADD_ASSIGN2 = 335,
126  SUB_ASSIGN2 = 336,
127  MUL_ASSIGN2 = 337,
128  DIV_ASSIGN2 = 338,
129  MOD_ASSIGN2 = 339,
130  AND_ASSIGN2 = 340,
131  XOR_ASSIGN2 = 341,
132  OR_ASSIGN2 = 342,
133  DEPEND = 343,
134  IN = 344,
135  OUT = 345,
136  INOUT = 346,
137  MERGEABLE = 347,
138  LEXICALERROR = 348,
139  IDENTIFIER = 349,
140  MIN = 350,
141  MAX = 351,
142  READ = 352,
143  WRITE = 353,
144  CAPTURE = 354,
145  SIMDLEN = 355,
146  FINAL = 356,
147  PRIORITY = 357,
148  ICONSTANT = 358,
149  EXPRESSION = 359,
150  ID_EXPRESSION = 360
151  };
152 #endif
153 /* Tokens. */
154 #define OMP 258
155 #define PARALLEL 259
156 #define IF 260
157 #define NUM_THREADS 261
158 #define ORDERED 262
159 #define SCHEDULE 263
160 #define STATIC 264
161 #define DYNAMIC 265
162 #define GUIDED 266
163 #define RUNTIME 267
164 #define SECTIONS 268
165 #define SINGLE 269
166 #define NOWAIT 270
167 #define SECTION 271
168 #define FOR 272
169 #define MASTER 273
170 #define CRITICAL 274
171 #define BARRIER 275
172 #define ATOMIC 276
173 #define FLUSH 277
174 #define TARGET 278
175 #define UPDATE 279
176 #define DIST_DATA 280
177 #define BLOCK 281
178 #define DUPLICATE 282
179 #define CYCLIC 283
180 #define THREADPRIVATE 284
181 #define PRIVATE 285
182 #define COPYPRIVATE 286
183 #define FIRSTPRIVATE 287
184 #define LASTPRIVATE 288
185 #define SHARED 289
186 #define DEFAULT 290
187 #define NONE 291
188 #define REDUCTION 292
189 #define COPYIN 293
190 #define TASK 294
191 #define TASKWAIT 295
192 #define UNTIED 296
193 #define COLLAPSE 297
194 #define AUTO 298
195 #define DECLARE 299
196 #define DATA 300
197 #define DEVICE 301
198 #define MAP 302
199 #define ALLOC 303
200 #define TO 304
201 #define FROM 305
202 #define TOFROM 306
203 #define PROC_BIND 307
204 #define CLOSE 308
205 #define SPREAD 309
206 #define SIMD 310
207 #define SAFELEN 311
208 #define ALIGNED 312
209 #define LINEAR 313
210 #define UNIFORM 314
211 #define INBRANCH 315
212 #define NOTINBRANCH 316
213 #define MPI 317
214 #define MPI_ALL 318
215 #define MPI_MASTER 319
216 #define TARGET_BEGIN 320
217 #define TARGET_END 321
218 #define LOGAND 322
219 #define LOGOR 323
220 #define SHLEFT 324
221 #define SHRIGHT 325
222 #define PLUSPLUS 326
223 #define MINUSMINUS 327
224 #define PTR_TO 328
225 #define LE_OP2 329
226 #define GE_OP2 330
227 #define EQ_OP2 331
228 #define NE_OP2 332
229 #define RIGHT_ASSIGN2 333
230 #define LEFT_ASSIGN2 334
231 #define ADD_ASSIGN2 335
232 #define SUB_ASSIGN2 336
233 #define MUL_ASSIGN2 337
234 #define DIV_ASSIGN2 338
235 #define MOD_ASSIGN2 339
236 #define AND_ASSIGN2 340
237 #define XOR_ASSIGN2 341
238 #define OR_ASSIGN2 342
239 #define DEPEND 343
240 #define IN 344
241 #define OUT 345
242 #define INOUT 346
243 #define MERGEABLE 347
244 #define LEXICALERROR 348
245 #define IDENTIFIER 349
246 #define MIN 350
247 #define MAX 351
248 #define READ 352
249 #define WRITE 353
250 #define CAPTURE 354
251 #define SIMDLEN 355
252 #define FINAL 356
253 #define PRIORITY 357
254 #define ICONSTANT 358
255 #define EXPRESSION 359
256 #define ID_EXPRESSION 360
257 
258 /* Value type. */
259 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
260 
261 union YYSTYPE
262 {
263 #line 107 "/export/tmp.rose-mgr/jenkins/edg4x/workspace/release-ROSE-docs/src/frontend/SageIII/ompparser.yy" /* yacc.c:1909 */
264  int itype;
265  double ftype;
266  const char* stype;
267  void* ptype; /* For expressions */
268 
269 
270 #line 271 "ompparser.hh" /* yacc.c:1909 */
271 };
272 
273 typedef union YYSTYPE YYSTYPE;
274 # define YYSTYPE_IS_TRIVIAL 1
275 # define YYSTYPE_IS_DECLARED 1
276 #endif
277 
278 /* Location type. */
279 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
280 typedef struct YYLTYPE YYLTYPE;
281 struct YYLTYPE
282 {
283  int first_line;
284  int first_column;
285  int last_line;
286  int last_column;
287 };
288 # define YYLTYPE_IS_DECLARED 1
289 # define YYLTYPE_IS_TRIVIAL 1
290 #endif
291 
292 
293 extern YYSTYPE omp_lval;
294 extern YYLTYPE omp_lloc;
295 int omp_parse (void);
296 
297 #endif /* !YY_OMP_OMPPARSER_HH_INCLUDED */