PIPS
splitc.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.8.2. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
6  Inc.
7 
8  This program is free software: you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation, either version 3 of the License, or
11  (at your option) any later version.
12 
13  This program is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program. If not, see <https://www.gnu.org/licenses/>. */
20 
21 /* As a special exception, you may create a larger work that contains
22  part or all of the Bison parser skeleton and distribute that work
23  under terms of your choice, so long as that work isn't itself a
24  parser generator using the skeleton or a modified version thereof
25  as a parser skeleton. Alternatively, if you modify or redistribute
26  the parser skeleton itself, you may (at your option) remove this
27  special exception, which will cause the skeleton and the resulting
28  Bison output files to be licensed under the GNU General Public
29  License without this special exception.
30 
31  This special exception was added by the Free Software Foundation in
32  version 2.2 of Bison. */
33 
34 /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
35  especially those whose name start with YY_ or yy_. They are
36  private implementation details that can be changed or removed. */
37 
38 #ifndef YY_SPLITC_Y_TAB_H_INCLUDED
39 # define YY_SPLITC_Y_TAB_H_INCLUDED
40 /* Debug traces. */
41 #ifndef YYDEBUG
42 # define YYDEBUG 0
43 #endif
44 #if YYDEBUG
45 extern int splitc_debug;
46 #endif
47 
48 /* Token kinds. */
49 #ifndef YYTOKENTYPE
50 # define YYTOKENTYPE
52  {
53  YYEMPTY = -2,
54  YYEOF = 0, /* "end of file" */
55  YYerror = 256, /* error */
56  YYUNDEF = 257, /* "invalid token" */
57  TK_IDENT = 258, /* TK_IDENT */
58  TK_CHARCON = 259, /* TK_CHARCON */
59  TK_INTCON = 260, /* TK_INTCON */
60  TK_FLOATCON = 261, /* TK_FLOATCON */
61  TK_NAMED_TYPE = 262, /* TK_NAMED_TYPE */
62  TK_STRINGCON = 263, /* TK_STRINGCON */
63  TK_WSTRINGCON = 264, /* TK_WSTRINGCON */
64  TK_EOF = 265, /* TK_EOF */
65  TK_CHAR = 266, /* TK_CHAR */
66  TK_INT = 267, /* TK_INT */
67  TK_INT128 = 268, /* TK_INT128 */
68  TK_UINT128 = 269, /* TK_UINT128 */
69  TK_DOUBLE = 270, /* TK_DOUBLE */
70  TK_FLOAT = 271, /* TK_FLOAT */
71  TK_VOID = 272, /* TK_VOID */
72  TK_COMPLEX = 273, /* TK_COMPLEX */
73  TK_ENUM = 274, /* TK_ENUM */
74  TK_STRUCT = 275, /* TK_STRUCT */
75  TK_TYPEDEF = 276, /* TK_TYPEDEF */
76  TK_UNION = 277, /* TK_UNION */
77  TK_SIGNED = 278, /* TK_SIGNED */
78  TK_UNSIGNED = 279, /* TK_UNSIGNED */
79  TK_LONG = 280, /* TK_LONG */
80  TK_SHORT = 281, /* TK_SHORT */
81  TK_VOLATILE = 282, /* TK_VOLATILE */
82  TK_EXTERN = 283, /* TK_EXTERN */
83  TK_STATIC = 284, /* TK_STATIC */
84  TK_CONST = 285, /* TK_CONST */
85  TK_RESTRICT = 286, /* TK_RESTRICT */
86  TK_AUTO = 287, /* TK_AUTO */
87  TK_REGISTER = 288, /* TK_REGISTER */
88  TK_THREAD = 289, /* TK_THREAD */
89  TK_STATIC_DIMENSION = 290, /* TK_STATIC_DIMENSION */
90  TK_SIZEOF = 291, /* TK_SIZEOF */
91  TK_ALIGNOF = 292, /* TK_ALIGNOF */
92  TK_EQ = 293, /* TK_EQ */
93  TK_PLUS_EQ = 294, /* TK_PLUS_EQ */
94  TK_MINUS_EQ = 295, /* TK_MINUS_EQ */
95  TK_STAR_EQ = 296, /* TK_STAR_EQ */
96  TK_SLASH_EQ = 297, /* TK_SLASH_EQ */
97  TK_PERCENT_EQ = 298, /* TK_PERCENT_EQ */
98  TK_AND_EQ = 299, /* TK_AND_EQ */
99  TK_PIPE_EQ = 300, /* TK_PIPE_EQ */
100  TK_CIRC_EQ = 301, /* TK_CIRC_EQ */
101  TK_INF_INF_EQ = 302, /* TK_INF_INF_EQ */
102  TK_SUP_SUP_EQ = 303, /* TK_SUP_SUP_EQ */
103  TK_ARROW = 304, /* TK_ARROW */
104  TK_DOT = 305, /* TK_DOT */
105  TK_EQ_EQ = 306, /* TK_EQ_EQ */
106  TK_EXCLAM_EQ = 307, /* TK_EXCLAM_EQ */
107  TK_INF = 308, /* TK_INF */
108  TK_SUP = 309, /* TK_SUP */
109  TK_INF_EQ = 310, /* TK_INF_EQ */
110  TK_SUP_EQ = 311, /* TK_SUP_EQ */
111  TK_PLUS = 312, /* TK_PLUS */
112  TK_MINUS = 313, /* TK_MINUS */
113  TK_STAR = 314, /* TK_STAR */
114  TK_SLASH = 315, /* TK_SLASH */
115  TK_PERCENT = 316, /* TK_PERCENT */
116  TK_TILDE = 317, /* TK_TILDE */
117  TK_AND = 318, /* TK_AND */
118  TK_PIPE = 319, /* TK_PIPE */
119  TK_CIRC = 320, /* TK_CIRC */
120  TK_EXCLAM = 321, /* TK_EXCLAM */
121  TK_AND_AND = 322, /* TK_AND_AND */
122  TK_PIPE_PIPE = 323, /* TK_PIPE_PIPE */
123  TK_INF_INF = 324, /* TK_INF_INF */
124  TK_SUP_SUP = 325, /* TK_SUP_SUP */
125  TK_PLUS_PLUS = 326, /* TK_PLUS_PLUS */
126  TK_MINUS_MINUS = 327, /* TK_MINUS_MINUS */
127  TK_RPAREN = 328, /* TK_RPAREN */
128  TK_LPAREN = 329, /* TK_LPAREN */
129  TK_RBRACE = 330, /* TK_RBRACE */
130  TK_LBRACE = 331, /* TK_LBRACE */
131  TK_LBRACKET = 332, /* TK_LBRACKET */
132  TK_RBRACKET = 333, /* TK_RBRACKET */
133  TK_COLON = 334, /* TK_COLON */
134  TK_SEMICOLON = 335, /* TK_SEMICOLON */
135  TK_COMMA = 336, /* TK_COMMA */
136  TK_ELLIPSIS = 337, /* TK_ELLIPSIS */
137  TK_QUEST = 338, /* TK_QUEST */
138  TK_BREAK = 339, /* TK_BREAK */
139  TK_CONTINUE = 340, /* TK_CONTINUE */
140  TK_GOTO = 341, /* TK_GOTO */
141  TK_RETURN = 342, /* TK_RETURN */
142  TK_SWITCH = 343, /* TK_SWITCH */
143  TK_CASE = 344, /* TK_CASE */
144  TK_DEFAULT = 345, /* TK_DEFAULT */
145  TK_WHILE = 346, /* TK_WHILE */
146  TK_DO = 347, /* TK_DO */
147  TK_FOR = 348, /* TK_FOR */
148  TK_IF = 349, /* TK_IF */
149  TK_ELSE = 350, /* TK_ELSE */
150  TK_ATTRIBUTE = 351, /* TK_ATTRIBUTE */
151  TK_INLINE = 352, /* TK_INLINE */
152  TK_ASM = 353, /* TK_ASM */
153  TK_TYPEOF = 354, /* TK_TYPEOF */
154  TK_FUNCTION__ = 355, /* TK_FUNCTION__ */
155  TK_PRETTY_FUNCTION__ = 356, /* TK_PRETTY_FUNCTION__ */
156  TK_LABEL__ = 357, /* TK_LABEL__ */
157  TK_BUILTIN_VA_ARG = 358, /* TK_BUILTIN_VA_ARG */
158  TK_BUILTIN_VA_LIST = 359, /* TK_BUILTIN_VA_LIST */
159  TK_BLOCKATTRIBUTE = 360, /* TK_BLOCKATTRIBUTE */
160  TK_DECLSPEC = 361, /* TK_DECLSPEC */
161  TK_MSASM = 362, /* TK_MSASM */
162  TK_MSATTR = 363, /* TK_MSATTR */
163  TK_PRAGMA = 364, /* TK_PRAGMA */
164  TK_AT_TRANSFORM = 365, /* TK_AT_TRANSFORM */
165  TK_AT_TRANSFORMEXPR = 366, /* TK_AT_TRANSFORMEXPR */
166  TK_AT_SPECIFIER = 367, /* TK_AT_SPECIFIER */
167  TK_AT_EXPR = 368, /* TK_AT_EXPR */
168  TK_AT_NAME = 369, /* TK_AT_NAME */
169  TK_COMPLEXCON = 370, /* TK_COMPLEXCON */
170  TK_CAST = 371, /* TK_CAST */
171  TK_ADDROF = 372 /* TK_ADDROF */
172  };
173  typedef enum yytokentype yytoken_kind_t;
174 #endif
175 /* Token kinds. */
176 #define YYEMPTY -2
177 #define YYEOF 0
178 #define YYerror 256
179 #define YYUNDEF 257
180 #define TK_IDENT 258
181 #define TK_CHARCON 259
182 #define TK_INTCON 260
183 #define TK_FLOATCON 261
184 #define TK_NAMED_TYPE 262
185 #define TK_STRINGCON 263
186 #define TK_WSTRINGCON 264
187 #define TK_EOF 265
188 #define TK_CHAR 266
189 #define TK_INT 267
190 #define TK_INT128 268
191 #define TK_UINT128 269
192 #define TK_DOUBLE 270
193 #define TK_FLOAT 271
194 #define TK_VOID 272
195 #define TK_COMPLEX 273
196 #define TK_ENUM 274
197 #define TK_STRUCT 275
198 #define TK_TYPEDEF 276
199 #define TK_UNION 277
200 #define TK_SIGNED 278
201 #define TK_UNSIGNED 279
202 #define TK_LONG 280
203 #define TK_SHORT 281
204 #define TK_VOLATILE 282
205 #define TK_EXTERN 283
206 #define TK_STATIC 284
207 #define TK_CONST 285
208 #define TK_RESTRICT 286
209 #define TK_AUTO 287
210 #define TK_REGISTER 288
211 #define TK_THREAD 289
212 #define TK_STATIC_DIMENSION 290
213 #define TK_SIZEOF 291
214 #define TK_ALIGNOF 292
215 #define TK_EQ 293
216 #define TK_PLUS_EQ 294
217 #define TK_MINUS_EQ 295
218 #define TK_STAR_EQ 296
219 #define TK_SLASH_EQ 297
220 #define TK_PERCENT_EQ 298
221 #define TK_AND_EQ 299
222 #define TK_PIPE_EQ 300
223 #define TK_CIRC_EQ 301
224 #define TK_INF_INF_EQ 302
225 #define TK_SUP_SUP_EQ 303
226 #define TK_ARROW 304
227 #define TK_DOT 305
228 #define TK_EQ_EQ 306
229 #define TK_EXCLAM_EQ 307
230 #define TK_INF 308
231 #define TK_SUP 309
232 #define TK_INF_EQ 310
233 #define TK_SUP_EQ 311
234 #define TK_PLUS 312
235 #define TK_MINUS 313
236 #define TK_STAR 314
237 #define TK_SLASH 315
238 #define TK_PERCENT 316
239 #define TK_TILDE 317
240 #define TK_AND 318
241 #define TK_PIPE 319
242 #define TK_CIRC 320
243 #define TK_EXCLAM 321
244 #define TK_AND_AND 322
245 #define TK_PIPE_PIPE 323
246 #define TK_INF_INF 324
247 #define TK_SUP_SUP 325
248 #define TK_PLUS_PLUS 326
249 #define TK_MINUS_MINUS 327
250 #define TK_RPAREN 328
251 #define TK_LPAREN 329
252 #define TK_RBRACE 330
253 #define TK_LBRACE 331
254 #define TK_LBRACKET 332
255 #define TK_RBRACKET 333
256 #define TK_COLON 334
257 #define TK_SEMICOLON 335
258 #define TK_COMMA 336
259 #define TK_ELLIPSIS 337
260 #define TK_QUEST 338
261 #define TK_BREAK 339
262 #define TK_CONTINUE 340
263 #define TK_GOTO 341
264 #define TK_RETURN 342
265 #define TK_SWITCH 343
266 #define TK_CASE 344
267 #define TK_DEFAULT 345
268 #define TK_WHILE 346
269 #define TK_DO 347
270 #define TK_FOR 348
271 #define TK_IF 349
272 #define TK_ELSE 350
273 #define TK_ATTRIBUTE 351
274 #define TK_INLINE 352
275 #define TK_ASM 353
276 #define TK_TYPEOF 354
277 #define TK_FUNCTION__ 355
278 #define TK_PRETTY_FUNCTION__ 356
279 #define TK_LABEL__ 357
280 #define TK_BUILTIN_VA_ARG 358
281 #define TK_BUILTIN_VA_LIST 359
282 #define TK_BLOCKATTRIBUTE 360
283 #define TK_DECLSPEC 361
284 #define TK_MSASM 362
285 #define TK_MSATTR 363
286 #define TK_PRAGMA 364
287 #define TK_AT_TRANSFORM 365
288 #define TK_AT_TRANSFORMEXPR 366
289 #define TK_AT_SPECIFIER 367
290 #define TK_AT_EXPR 368
291 #define TK_AT_NAME 369
292 #define TK_COMPLEXCON 370
293 #define TK_CAST 371
294 #define TK_ADDROF 372
295 
296 /* Value type. */
297 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
298 union YYSTYPE
299 {
300 #line 566 "/home/fabien/NIGHT/prod/pips/src/Libs/preprocessor/splitc.y"
301 
302  basic basic;
303  char character;
304  cons * liste;
306  entity entity;
309  int integer;
310  string string;
311  syntax syntax;
312  tag tag;
313  type type;
314  value value;
316 
317 #line 318 "y.tab.h"
318 
319 };
320 typedef union YYSTYPE YYSTYPE;
321 # define YYSTYPE_IS_TRIVIAL 1
322 # define YYSTYPE_IS_DECLARED 1
323 #endif
324 
325 
326 extern YYSTYPE splitc_lval;
327 
328 
329 int splitc_parse (void);
330 
331 
332 #endif /* !YY_SPLITC_Y_TAB_H_INCLUDED */
yytokentype
Definition: genread.h:52
int tag
TAG.
Definition: newgen_types.h:92
#define TK_BUILTIN_VA_LIST
Definition: splitc.h:281
#define TK_DECLSPEC
Definition: splitc.h:283
#define TK_STATIC
Definition: splitc.h:206
#define TK_AT_TRANSFORM
Definition: splitc.h:287
#define TK_BREAK
Definition: splitc.h:261
#define TK_MINUS_EQ
Definition: splitc.h:217
#define TK_SHORT
Definition: splitc.h:203
#define TK_SUP_EQ
Definition: splitc.h:233
#define TK_WHILE
Definition: splitc.h:268
#define TK_EQ_EQ
Definition: splitc.h:228
#define TK_IDENT
Definition: splitc.h:180
#define TK_RESTRICT
Definition: splitc.h:208
#define TK_SEMICOLON
Definition: splitc.h:257
#define TK_PIPE_EQ
Definition: splitc.h:222
#define TK_INT128
Definition: splitc.h:190
#define TK_RETURN
Definition: splitc.h:264
#define TK_ALIGNOF
Definition: splitc.h:214
#define TK_STATIC_DIMENSION
Definition: splitc.h:212
#define TK_RBRACKET
Definition: splitc.h:255
#define TK_FUNCTION__
Definition: splitc.h:277
#define TK_INLINE
Definition: splitc.h:274
#define TK_INF_EQ
Definition: splitc.h:232
#define TK_PIPE
Definition: splitc.h:241
#define TK_THREAD
Definition: splitc.h:211
YYSTYPE splitc_lval
#define YYEOF
Definition: splitc.h:177
#define TK_STAR
Definition: splitc.h:236
#define TK_MSASM
Definition: splitc.h:284
#define TK_INF_INF
Definition: splitc.h:246
#define TK_BLOCKATTRIBUTE
Definition: splitc.h:282
#define TK_SLASH
Definition: splitc.h:237
#define TK_FLOATCON
Definition: splitc.h:183
#define TK_CASE
Definition: splitc.h:266
#define TK_DOT
Definition: splitc.h:227
#define TK_PLUS_PLUS
Definition: splitc.h:248
#define TK_REGISTER
Definition: splitc.h:210
#define TK_SLASH_EQ
Definition: splitc.h:219
#define TK_COMPLEX
Definition: splitc.h:195
#define TK_INF_INF_EQ
Definition: splitc.h:224
#define TK_EXCLAM
Definition: splitc.h:243
#define TK_PLUS
Definition: splitc.h:234
#define TK_GOTO
Definition: splitc.h:263
#define TK_CAST
Definition: splitc.h:293
#define TK_PRAGMA
Definition: splitc.h:286
#define TK_EXCLAM_EQ
Definition: splitc.h:229
#define TK_RPAREN
Definition: splitc.h:250
#define TK_STRUCT
Definition: splitc.h:197
#define TK_EQ
Definition: splitc.h:215
#define TK_SIZEOF
Definition: splitc.h:213
#define TK_CONST
Definition: splitc.h:207
#define YYerror
Definition: splitc.h:178
#define YYUNDEF
Definition: splitc.h:179
#define TK_VOID
Definition: splitc.h:194
#define TK_ARROW
Definition: splitc.h:226
#define TK_UINT128
Definition: splitc.h:191
#define TK_INT
Definition: splitc.h:189
#define TK_TILDE
Definition: splitc.h:239
#define TK_LONG
Definition: splitc.h:202
#define TK_NAMED_TYPE
Definition: splitc.h:184
#define TK_FOR
Definition: splitc.h:270
#define TK_MSATTR
Definition: splitc.h:285
#define TK_FLOAT
Definition: splitc.h:193
#define TK_TYPEOF
Definition: splitc.h:276
#define TK_AT_SPECIFIER
Definition: splitc.h:289
#define TK_ELLIPSIS
Definition: splitc.h:259
#define TK_SIGNED
Definition: splitc.h:200
#define TK_INTCON
Definition: splitc.h:182
#define TK_SUP
Definition: splitc.h:231
#define TK_COMMA
Definition: splitc.h:258
#define TK_AND_EQ
Definition: splitc.h:221
#define TK_ATTRIBUTE
Definition: splitc.h:273
#define TK_BUILTIN_VA_ARG
Definition: splitc.h:280
#define TK_STRINGCON
Definition: splitc.h:185
#define TK_SWITCH
Definition: splitc.h:265
#define TK_VOLATILE
Definition: splitc.h:204
#define TK_CONTINUE
Definition: splitc.h:262
#define TK_STAR_EQ
Definition: splitc.h:218
#define TK_AND_AND
Definition: splitc.h:244
#define TK_QUEST
Definition: splitc.h:260
#define TK_CIRC_EQ
Definition: splitc.h:223
#define TK_ELSE
Definition: splitc.h:272
#define TK_EXTERN
Definition: splitc.h:205
#define TK_LBRACKET
Definition: splitc.h:254
#define TK_CHARCON
Definition: splitc.h:181
#define TK_COLON
Definition: splitc.h:256
int splitc_parse(void)
#define TK_AT_EXPR
Definition: splitc.h:290
#define TK_ENUM
Definition: splitc.h:196
#define TK_IF
Definition: splitc.h:271
#define TK_INF
Definition: splitc.h:230
#define TK_CIRC
Definition: splitc.h:242
#define TK_AT_TRANSFORMEXPR
Definition: splitc.h:288
#define TK_CHAR
Definition: splitc.h:188
#define TK_PIPE_PIPE
Definition: splitc.h:245
#define TK_AUTO
Definition: splitc.h:209
#define TK_TYPEDEF
Definition: splitc.h:198
#define TK_SUP_SUP_EQ
Definition: splitc.h:225
#define TK_DO
Definition: splitc.h:269
#define TK_MINUS
Definition: splitc.h:235
#define TK_LBRACE
Definition: splitc.h:253
#define TK_PERCENT
Definition: splitc.h:238
enum yytokentype yytoken_kind_t
Definition: splitc.h:173
#define TK_PRETTY_FUNCTION__
Definition: splitc.h:278
#define TK_AND
Definition: splitc.h:240
#define TK_DEFAULT
Definition: splitc.h:267
#define TK_EOF
Definition: splitc.h:187
#define TK_DOUBLE
Definition: splitc.h:192
#define TK_LPAREN
Definition: splitc.h:251
#define TK_UNSIGNED
Definition: splitc.h:201
#define TK_UNION
Definition: splitc.h:199
#define YYEMPTY
Token kinds.
Definition: splitc.h:176
#define TK_SUP_SUP
Definition: splitc.h:247
#define TK_WSTRINGCON
Definition: splitc.h:186
#define TK_PLUS_EQ
Definition: splitc.h:216
#define TK_MINUS_MINUS
Definition: splitc.h:249
#define TK_ASM
Definition: splitc.h:275
#define TK_AT_NAME
Definition: splitc.h:291
#define TK_ADDROF
Definition: splitc.h:294
#define TK_LABEL__
Definition: splitc.h:279
#define TK_RBRACE
Definition: splitc.h:252
#define TK_COMPLEXCON
Definition: splitc.h:292
#define TK_PERCENT_EQ
Definition: splitc.h:220
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
Value type.
Definition: genread.h:115
expression expression
Definition: cyacc.h:185
statement statement
Definition: cyacc.h:186
syntax syntax
Definition: splitc.c:887
string string
Definition: cyacc.h:187
cons * liste
Definition: cyacc.h:183
dimension dimension
Definition: splitc.c:881
basic basic
Definition: splitc.c:878
parameter parameter
Definition: cyacc.h:189
char character
Definition: splitc.c:879
value value
Definition: splitc.c:890
entity entity
Definition: cyacc.h:184
int integer
Definition: cyacc.h:190
type type
Definition: cyacc.h:188