ROSE 0.11.145.192
ompparser.hh
1/* A Bison parser, made by GNU Bison 3.1. */
2
3/* Bison interface for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2015, 2018 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
40extern 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
261union YYSTYPE
262{
263#line 107 "/workspace/src/frontend/SageIII/ompparser.yy" /* yacc.c:1913 */
264 int itype;
265 double ftype;
266 const char* stype;
267 void* ptype; /* For expressions */
268
269
270#line 271 "ompparser.hh" /* yacc.c:1913 */
271};
272
273typedef 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
280typedef struct YYLTYPE YYLTYPE;
281struct 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
293extern YYSTYPE omp_lval;
294extern YYLTYPE omp_lloc;
295int omp_parse (void);
296
297#endif /* !YY_OMP_OMPPARSER_HH_INCLUDED */