Graphviz 13.0.0~dev.20250607.1528
Loading...
Searching...
No Matches
exparse.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_EX_EXPARSE_H_INCLUDED
39# define YY_EX_EXPARSE_H_INCLUDED
40/* Debug traces. */
41#ifndef EX_DEBUG
42# if defined YYDEBUG
43#if YYDEBUG
44# define EX_DEBUG 1
45# else
46# define EX_DEBUG 0
47# endif
48# else /* ! defined YYDEBUG */
49# define EX_DEBUG 1
50# endif /* ! defined YYDEBUG */
51#endif /* ! defined EX_DEBUG */
52#if EX_DEBUG
53extern int ex_debug;
54#endif
55
56/* Token kinds. */
57#ifndef EX_TOKENTYPE
58# define EX_TOKENTYPE
60 {
62 EX_EOF = 0, /* "end of file" */
63 EX_error = 256, /* error */
64 EX_UNDEF = 257, /* "invalid token" */
65 MINTOKEN = 258, /* MINTOKEN */
66 INTEGER = 259, /* INTEGER */
67 UNSIGNED = 260, /* UNSIGNED */
68 CHARACTER = 261, /* CHARACTER */
69 FLOATING = 262, /* FLOATING */
70 STRING = 263, /* STRING */
71 VOIDTYPE = 264, /* VOIDTYPE */
72 ADDRESS = 265, /* ADDRESS */
73 ARRAY = 266, /* ARRAY */
74 BREAK = 267, /* BREAK */
75 CALL = 268, /* CALL */
76 CASE = 269, /* CASE */
77 CONSTANT = 270, /* CONSTANT */
78 CONTINUE = 271, /* CONTINUE */
79 DECLARE = 272, /* DECLARE */
80 DEFAULT = 273, /* DEFAULT */
81 DYNAMIC = 274, /* DYNAMIC */
82 ELSE = 275, /* ELSE */
83 EXIT = 276, /* EXIT */
84 FOR = 277, /* FOR */
85 FUNCTION = 278, /* FUNCTION */
86 GSUB = 279, /* GSUB */
87 ITERATE = 280, /* ITERATE */
88 ITERATOR = 281, /* ITERATOR */
89 ID = 282, /* ID */
90 IF = 283, /* IF */
91 LABEL = 284, /* LABEL */
92 MEMBER = 285, /* MEMBER */
93 NAME = 286, /* NAME */
94 POS = 287, /* POS */
95 PRAGMA = 288, /* PRAGMA */
96 PRE = 289, /* PRE */
97 PRINT = 290, /* PRINT */
98 PRINTF = 291, /* PRINTF */
99 PROCEDURE = 292, /* PROCEDURE */
100 QUERY = 293, /* QUERY */
101 RAND = 294, /* RAND */
102 RETURN = 295, /* RETURN */
103 SCANF = 296, /* SCANF */
104 SPLIT = 297, /* SPLIT */
105 SPRINTF = 298, /* SPRINTF */
106 SRAND = 299, /* SRAND */
107 SSCANF = 300, /* SSCANF */
108 SUB = 301, /* SUB */
109 SUBSTR = 302, /* SUBSTR */
110 SWITCH = 303, /* SWITCH */
111 TOKENS = 304, /* TOKENS */
112 UNSET = 305, /* UNSET */
113 WHILE = 306, /* WHILE */
114 F2I = 307, /* F2I */
115 F2S = 308, /* F2S */
116 I2F = 309, /* I2F */
117 I2S = 310, /* I2S */
118 S2B = 311, /* S2B */
119 S2F = 312, /* S2F */
120 S2I = 313, /* S2I */
121 F2X = 314, /* F2X */
122 I2X = 315, /* I2X */
123 S2X = 316, /* S2X */
124 X2F = 317, /* X2F */
125 X2I = 318, /* X2I */
126 X2S = 319, /* X2S */
127 X2X = 320, /* X2X */
128 XPRINT = 321, /* XPRINT */
129 OR = 322, /* OR */
130 AND = 323, /* AND */
131 EQ = 324, /* EQ */
132 NE = 325, /* NE */
133 LE = 326, /* LE */
134 GE = 327, /* GE */
135 LSH = 328, /* LSH */
136 RSH = 329, /* RSH */
137 IN_OP = 330, /* IN_OP */
138 UNARY = 331, /* UNARY */
139 INC = 332, /* INC */
140 DEC = 333, /* DEC */
141 CAST = 334, /* CAST */
142 MAXTOKEN = 335 /* MAXTOKEN */
143 };
145#endif
146/* Token kinds. */
147#define EX_EMPTY -2
148#define EX_EOF 0
149#define EX_error 256
150#define EX_UNDEF 257
151#define MINTOKEN 258
152#define INTEGER 259
153#define UNSIGNED 260
154#define CHARACTER 261
155#define FLOATING 262
156#define STRING 263
157#define VOIDTYPE 264
158#define ADDRESS 265
159#define ARRAY 266
160#define BREAK 267
161#define CALL 268
162#define CASE 269
163#define CONSTANT 270
164#define CONTINUE 271
165#define DECLARE 272
166#define DEFAULT 273
167#define DYNAMIC 274
168#define ELSE 275
169#define EXIT 276
170#define FOR 277
171#define FUNCTION 278
172#define GSUB 279
173#define ITERATE 280
174#define ITERATOR 281
175#define ID 282
176#define IF 283
177#define LABEL 284
178#define MEMBER 285
179#define NAME 286
180#define POS 287
181#define PRAGMA 288
182#define PRE 289
183#define PRINT 290
184#define PRINTF 291
185#define PROCEDURE 292
186#define QUERY 293
187#define RAND 294
188#define RETURN 295
189#define SCANF 296
190#define SPLIT 297
191#define SPRINTF 298
192#define SRAND 299
193#define SSCANF 300
194#define SUB 301
195#define SUBSTR 302
196#define SWITCH 303
197#define TOKENS 304
198#define UNSET 305
199#define WHILE 306
200#define F2I 307
201#define F2S 308
202#define I2F 309
203#define I2S 310
204#define S2B 311
205#define S2F 312
206#define S2I 313
207#define F2X 314
208#define I2X 315
209#define S2X 316
210#define X2F 317
211#define X2I 318
212#define X2S 319
213#define X2X 320
214#define XPRINT 321
215#define OR 322
216#define AND 323
217#define EQ 324
218#define NE 325
219#define LE 326
220#define GE 327
221#define LSH 328
222#define RSH 329
223#define IN_OP 330
224#define UNARY 331
225#define INC 332
226#define DEC 333
227#define CAST 334
228#define MAXTOKEN 335
229
230/* Value type. */
231#if ! defined EX_STYPE && ! defined EX_STYPE_IS_DECLARED
233{
234#line 41 "../../lib/expr/exparse.y"
235
237 double floating;
239 struct Exid_s* id;
240 long long integer;
241 int op;
242 char* string;
243
244#line 245 "exparse.h"
245
246};
247typedef union EX_STYPE EX_STYPE;
248# define EX_STYPE_IS_TRIVIAL 1
249# define EX_STYPE_IS_DECLARED 1
250#endif
251
252
253extern EX_STYPE ex_lval;
254
255
256int ex_parse (void);
257
258
259#endif /* !YY_EX_EXPARSE_H_INCLUDED */
#define UNSIGNED
Definition exparse.h:153
#define ELSE
Definition exparse.h:168
#define LABEL
Definition exparse.h:177
#define STRING
Definition exparse.h:156
#define CHARACTER
Definition exparse.h:154
#define DYNAMIC
Definition exparse.h:167
#define SCANF
Definition exparse.h:189
#define EX_UNDEF
Definition exparse.h:150
#define F2S
Definition exparse.h:201
#define SSCANF
Definition exparse.h:193
#define RSH
Definition exparse.h:222
#define ADDRESS
Definition exparse.h:158
#define OR
Definition exparse.h:215
#define PRE
Definition exparse.h:182
#define GE
Definition exparse.h:220
#define MINTOKEN
Definition exparse.h:151
#define DEFAULT
Definition exparse.h:166
#define NAME
Definition exparse.h:179
enum ex_tokentype ex_token_kind_t
Definition exparse.h:144
#define X2F
Definition exparse.h:210
#define S2X
Definition exparse.h:209
#define WHILE
Definition exparse.h:199
#define ITERATE
Definition exparse.h:173
#define MAXTOKEN
Definition exparse.h:228
#define EX_EMPTY
Definition exparse.h:147
#define NE
Definition exparse.h:218
#define SRAND
Definition exparse.h:192
#define S2I
Definition exparse.h:206
#define SUB
Definition exparse.h:194
#define POS
Definition exparse.h:180
#define LSH
Definition exparse.h:221
#define FLOATING
Definition exparse.h:155
#define FOR
Definition exparse.h:170
#define RETURN
Definition exparse.h:188
#define I2X
Definition exparse.h:208
#define IN_OP
Definition exparse.h:223
#define SUBSTR
Definition exparse.h:195
#define TOKENS
Definition exparse.h:197
#define EX_error
Definition exparse.h:149
#define ITERATOR
Definition exparse.h:174
#define VOIDTYPE
Definition exparse.h:157
#define ID
Definition exparse.h:175
#define RAND
Definition exparse.h:187
int ex_parse(void)
#define PRINT
Definition exparse.h:183
#define CAST
Definition exparse.h:227
#define EX_EOF
Definition exparse.h:148
#define I2F
Definition exparse.h:202
#define INTEGER
Definition exparse.h:152
#define SPRINTF
Definition exparse.h:191
#define I2S
Definition exparse.h:203
EX_STYPE ex_lval
ex_tokentype
Definition exparse.h:60
#define CONSTANT
Definition exparse.h:163
#define LE
Definition exparse.h:219
#define MEMBER
Definition exparse.h:178
#define S2B
Definition exparse.h:204
#define CALL
Definition exparse.h:161
#define GSUB
Definition exparse.h:172
#define PRAGMA
Definition exparse.h:181
#define UNARY
Definition exparse.h:224
#define UNSET
Definition exparse.h:198
#define CONTINUE
Definition exparse.h:164
#define XPRINT
Definition exparse.h:214
#define F2I
Definition exparse.h:200
#define X2S
Definition exparse.h:212
#define SPLIT
Definition exparse.h:190
#define EQ
Definition exparse.h:217
#define BREAK
Definition exparse.h:160
#define S2F
Definition exparse.h:205
#define IF
Definition exparse.h:176
#define PROCEDURE
Definition exparse.h:185
#define SWITCH
Definition exparse.h:196
#define AND
Definition exparse.h:216
#define DECLARE
Definition exparse.h:165
#define X2X
Definition exparse.h:213
#define EXIT
Definition exparse.h:169
#define F2X
Definition exparse.h:207
#define X2I
Definition exparse.h:211
#define PRINTF
Definition exparse.h:184
#define QUERY
Definition exparse.h:186
#define FUNCTION
Definition exparse.h:171
#define CASE
Definition exparse.h:162
#define ARRAY
Definition exparse.h:159
#define INC
Definition exparse.h:225
#define DEC
Definition exparse.h:226
Definition expr.h:93
struct Exref_s * reference
Definition exparse.h:238
struct Exid_s * id
Definition exparse.h:239
struct Exnode_s * expr
Definition exparse.h:236
long long integer
Definition exparse.h:240
double floating
Definition exparse.h:237
char * string
Definition exparse.h:242
int op
Definition exparse.h:241