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
53
extern
int
ex_debug;
54
#endif
55
56
/* Token kinds. */
57
#ifndef EX_TOKENTYPE
58
# define EX_TOKENTYPE
59
enum
ex_tokentype
60
{
61
EX_EMPTY
= -2,
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
};
144
typedef
enum
ex_tokentype
ex_token_kind_t
;
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
232
union
EX_STYPE
233
{
234
#line 41 "../../lib/expr/exparse.y"
235
236
struct
Exnode_s
*
expr
;
237
double
floating
;
238
struct
Exref_s
*
reference
;
239
struct
Exid_s
*
id
;
240
long
long
integer
;
241
int
op
;
242
char
*
string
;
243
244
#line 245 "exparse.h"
245
246
};
247
typedef
union
EX_STYPE
EX_STYPE
;
248
# define EX_STYPE_IS_TRIVIAL 1
249
# define EX_STYPE_IS_DECLARED 1
250
#endif
251
252
253
extern
EX_STYPE
ex_lval
;
254
255
256
int
ex_parse
(
void
);
257
258
259
#endif
/* !YY_EX_EXPARSE_H_INCLUDED */
UNSIGNED
#define UNSIGNED
Definition
exparse.h:153
ELSE
#define ELSE
Definition
exparse.h:168
LABEL
#define LABEL
Definition
exparse.h:177
STRING
#define STRING
Definition
exparse.h:156
CHARACTER
#define CHARACTER
Definition
exparse.h:154
DYNAMIC
#define DYNAMIC
Definition
exparse.h:167
SCANF
#define SCANF
Definition
exparse.h:189
EX_UNDEF
#define EX_UNDEF
Definition
exparse.h:150
F2S
#define F2S
Definition
exparse.h:201
SSCANF
#define SSCANF
Definition
exparse.h:193
RSH
#define RSH
Definition
exparse.h:222
ADDRESS
#define ADDRESS
Definition
exparse.h:158
OR
#define OR
Definition
exparse.h:215
PRE
#define PRE
Definition
exparse.h:182
GE
#define GE
Definition
exparse.h:220
MINTOKEN
#define MINTOKEN
Definition
exparse.h:151
DEFAULT
#define DEFAULT
Definition
exparse.h:166
NAME
#define NAME
Definition
exparse.h:179
ex_token_kind_t
enum ex_tokentype ex_token_kind_t
Definition
exparse.h:144
X2F
#define X2F
Definition
exparse.h:210
S2X
#define S2X
Definition
exparse.h:209
WHILE
#define WHILE
Definition
exparse.h:199
ITERATE
#define ITERATE
Definition
exparse.h:173
MAXTOKEN
#define MAXTOKEN
Definition
exparse.h:228
EX_EMPTY
#define EX_EMPTY
Definition
exparse.h:147
NE
#define NE
Definition
exparse.h:218
SRAND
#define SRAND
Definition
exparse.h:192
S2I
#define S2I
Definition
exparse.h:206
SUB
#define SUB
Definition
exparse.h:194
POS
#define POS
Definition
exparse.h:180
LSH
#define LSH
Definition
exparse.h:221
FLOATING
#define FLOATING
Definition
exparse.h:155
FOR
#define FOR
Definition
exparse.h:170
RETURN
#define RETURN
Definition
exparse.h:188
I2X
#define I2X
Definition
exparse.h:208
IN_OP
#define IN_OP
Definition
exparse.h:223
SUBSTR
#define SUBSTR
Definition
exparse.h:195
TOKENS
#define TOKENS
Definition
exparse.h:197
EX_error
#define EX_error
Definition
exparse.h:149
ITERATOR
#define ITERATOR
Definition
exparse.h:174
VOIDTYPE
#define VOIDTYPE
Definition
exparse.h:157
ID
#define ID
Definition
exparse.h:175
RAND
#define RAND
Definition
exparse.h:187
ex_parse
int ex_parse(void)
PRINT
#define PRINT
Definition
exparse.h:183
CAST
#define CAST
Definition
exparse.h:227
EX_EOF
#define EX_EOF
Definition
exparse.h:148
I2F
#define I2F
Definition
exparse.h:202
INTEGER
#define INTEGER
Definition
exparse.h:152
SPRINTF
#define SPRINTF
Definition
exparse.h:191
I2S
#define I2S
Definition
exparse.h:203
ex_lval
EX_STYPE ex_lval
ex_tokentype
ex_tokentype
Definition
exparse.h:60
CONSTANT
#define CONSTANT
Definition
exparse.h:163
LE
#define LE
Definition
exparse.h:219
MEMBER
#define MEMBER
Definition
exparse.h:178
S2B
#define S2B
Definition
exparse.h:204
CALL
#define CALL
Definition
exparse.h:161
GSUB
#define GSUB
Definition
exparse.h:172
PRAGMA
#define PRAGMA
Definition
exparse.h:181
UNARY
#define UNARY
Definition
exparse.h:224
UNSET
#define UNSET
Definition
exparse.h:198
CONTINUE
#define CONTINUE
Definition
exparse.h:164
XPRINT
#define XPRINT
Definition
exparse.h:214
F2I
#define F2I
Definition
exparse.h:200
X2S
#define X2S
Definition
exparse.h:212
SPLIT
#define SPLIT
Definition
exparse.h:190
EQ
#define EQ
Definition
exparse.h:217
BREAK
#define BREAK
Definition
exparse.h:160
S2F
#define S2F
Definition
exparse.h:205
IF
#define IF
Definition
exparse.h:176
PROCEDURE
#define PROCEDURE
Definition
exparse.h:185
SWITCH
#define SWITCH
Definition
exparse.h:196
AND
#define AND
Definition
exparse.h:216
DECLARE
#define DECLARE
Definition
exparse.h:165
X2X
#define X2X
Definition
exparse.h:213
EXIT
#define EXIT
Definition
exparse.h:169
F2X
#define F2X
Definition
exparse.h:207
X2I
#define X2I
Definition
exparse.h:211
PRINTF
#define PRINTF
Definition
exparse.h:184
QUERY
#define QUERY
Definition
exparse.h:186
FUNCTION
#define FUNCTION
Definition
exparse.h:171
CASE
#define CASE
Definition
exparse.h:162
ARRAY
#define ARRAY
Definition
exparse.h:159
INC
#define INC
Definition
exparse.h:225
DEC
#define DEC
Definition
exparse.h:226
Exid_s
Definition
expr.h:93
Exnode_s
Definition
expr.h:148
Exref_s
Definition
expr.h:105
EX_STYPE
Definition
exparse.h:233
EX_STYPE::reference
struct Exref_s * reference
Definition
exparse.h:238
EX_STYPE::id
struct Exid_s * id
Definition
exparse.h:239
EX_STYPE::expr
struct Exnode_s * expr
Definition
exparse.h:236
EX_STYPE::integer
long long integer
Definition
exparse.h:240
EX_STYPE::floating
double floating
Definition
exparse.h:237
EX_STYPE::string
char * string
Definition
exparse.h:242
EX_STYPE::op
int op
Definition
exparse.h:241
lib
expr
exparse.h
Generated by
1.9.8