Imported Upstream version 1.22.4
[platform/upstream/groff.git] / src / preproc / pic / pic.hpp
1 /* A Bison parser, made by GNU Bison 3.2.  */
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 /* Undocumented macros, especially those whose name start with YY_,
34    are private implementation details.  Do not rely on them.  */
35
36 #ifndef YY_YY_SRC_PREPROC_PIC_PIC_HPP_INCLUDED
37 # define YY_YY_SRC_PREPROC_PIC_PIC_HPP_INCLUDED
38 /* Debug traces.  */
39 #ifndef YYDEBUG
40 # define YYDEBUG 0
41 #endif
42 #if YYDEBUG
43 extern int yydebug;
44 #endif
45
46 /* Token type.  */
47 #ifndef YYTOKENTYPE
48 # define YYTOKENTYPE
49   enum yytokentype
50   {
51     LABEL = 258,
52     VARIABLE = 259,
53     NUMBER = 260,
54     TEXT = 261,
55     COMMAND_LINE = 262,
56     DELIMITED = 263,
57     ORDINAL = 264,
58     TH = 265,
59     LEFT_ARROW_HEAD = 266,
60     RIGHT_ARROW_HEAD = 267,
61     DOUBLE_ARROW_HEAD = 268,
62     LAST = 269,
63     BOX = 270,
64     CIRCLE = 271,
65     ELLIPSE = 272,
66     ARC = 273,
67     LINE = 274,
68     ARROW = 275,
69     MOVE = 276,
70     SPLINE = 277,
71     HEIGHT = 278,
72     RADIUS = 279,
73     FIGNAME = 280,
74     WIDTH = 281,
75     DIAMETER = 282,
76     UP = 283,
77     DOWN = 284,
78     RIGHT = 285,
79     LEFT = 286,
80     FROM = 287,
81     TO = 288,
82     AT = 289,
83     WITH = 290,
84     BY = 291,
85     THEN = 292,
86     SOLID = 293,
87     DOTTED = 294,
88     DASHED = 295,
89     CHOP = 296,
90     SAME = 297,
91     INVISIBLE = 298,
92     LJUST = 299,
93     RJUST = 300,
94     ABOVE = 301,
95     BELOW = 302,
96     OF = 303,
97     THE = 304,
98     WAY = 305,
99     BETWEEN = 306,
100     AND = 307,
101     HERE = 308,
102     DOT_N = 309,
103     DOT_E = 310,
104     DOT_W = 311,
105     DOT_S = 312,
106     DOT_NE = 313,
107     DOT_SE = 314,
108     DOT_NW = 315,
109     DOT_SW = 316,
110     DOT_C = 317,
111     DOT_START = 318,
112     DOT_END = 319,
113     DOT_X = 320,
114     DOT_Y = 321,
115     DOT_HT = 322,
116     DOT_WID = 323,
117     DOT_RAD = 324,
118     SIN = 325,
119     COS = 326,
120     ATAN2 = 327,
121     LOG = 328,
122     EXP = 329,
123     SQRT = 330,
124     K_MAX = 331,
125     K_MIN = 332,
126     INT = 333,
127     RAND = 334,
128     SRAND = 335,
129     COPY = 336,
130     THRU = 337,
131     TOP = 338,
132     BOTTOM = 339,
133     UPPER = 340,
134     LOWER = 341,
135     SH = 342,
136     PRINT = 343,
137     CW = 344,
138     CCW = 345,
139     FOR = 346,
140     DO = 347,
141     IF = 348,
142     ELSE = 349,
143     ANDAND = 350,
144     OROR = 351,
145     NOTEQUAL = 352,
146     EQUALEQUAL = 353,
147     LESSEQUAL = 354,
148     GREATEREQUAL = 355,
149     LEFT_CORNER = 356,
150     RIGHT_CORNER = 357,
151     NORTH = 358,
152     SOUTH = 359,
153     EAST = 360,
154     WEST = 361,
155     CENTER = 362,
156     END = 363,
157     START = 364,
158     RESET = 365,
159     UNTIL = 366,
160     PLOT = 367,
161     THICKNESS = 368,
162     FILL = 369,
163     COLORED = 370,
164     OUTLINED = 371,
165     SHADED = 372,
166     XSLANTED = 373,
167     YSLANTED = 374,
168     ALIGNED = 375,
169     SPRINTF = 376,
170     COMMAND = 377,
171     DEFINE = 378,
172     UNDEF = 379
173   };
174 #endif
175 /* Tokens.  */
176 #define LABEL 258
177 #define VARIABLE 259
178 #define NUMBER 260
179 #define TEXT 261
180 #define COMMAND_LINE 262
181 #define DELIMITED 263
182 #define ORDINAL 264
183 #define TH 265
184 #define LEFT_ARROW_HEAD 266
185 #define RIGHT_ARROW_HEAD 267
186 #define DOUBLE_ARROW_HEAD 268
187 #define LAST 269
188 #define BOX 270
189 #define CIRCLE 271
190 #define ELLIPSE 272
191 #define ARC 273
192 #define LINE 274
193 #define ARROW 275
194 #define MOVE 276
195 #define SPLINE 277
196 #define HEIGHT 278
197 #define RADIUS 279
198 #define FIGNAME 280
199 #define WIDTH 281
200 #define DIAMETER 282
201 #define UP 283
202 #define DOWN 284
203 #define RIGHT 285
204 #define LEFT 286
205 #define FROM 287
206 #define TO 288
207 #define AT 289
208 #define WITH 290
209 #define BY 291
210 #define THEN 292
211 #define SOLID 293
212 #define DOTTED 294
213 #define DASHED 295
214 #define CHOP 296
215 #define SAME 297
216 #define INVISIBLE 298
217 #define LJUST 299
218 #define RJUST 300
219 #define ABOVE 301
220 #define BELOW 302
221 #define OF 303
222 #define THE 304
223 #define WAY 305
224 #define BETWEEN 306
225 #define AND 307
226 #define HERE 308
227 #define DOT_N 309
228 #define DOT_E 310
229 #define DOT_W 311
230 #define DOT_S 312
231 #define DOT_NE 313
232 #define DOT_SE 314
233 #define DOT_NW 315
234 #define DOT_SW 316
235 #define DOT_C 317
236 #define DOT_START 318
237 #define DOT_END 319
238 #define DOT_X 320
239 #define DOT_Y 321
240 #define DOT_HT 322
241 #define DOT_WID 323
242 #define DOT_RAD 324
243 #define SIN 325
244 #define COS 326
245 #define ATAN2 327
246 #define LOG 328
247 #define EXP 329
248 #define SQRT 330
249 #define K_MAX 331
250 #define K_MIN 332
251 #define INT 333
252 #define RAND 334
253 #define SRAND 335
254 #define COPY 336
255 #define THRU 337
256 #define TOP 338
257 #define BOTTOM 339
258 #define UPPER 340
259 #define LOWER 341
260 #define SH 342
261 #define PRINT 343
262 #define CW 344
263 #define CCW 345
264 #define FOR 346
265 #define DO 347
266 #define IF 348
267 #define ELSE 349
268 #define ANDAND 350
269 #define OROR 351
270 #define NOTEQUAL 352
271 #define EQUALEQUAL 353
272 #define LESSEQUAL 354
273 #define GREATEREQUAL 355
274 #define LEFT_CORNER 356
275 #define RIGHT_CORNER 357
276 #define NORTH 358
277 #define SOUTH 359
278 #define EAST 360
279 #define WEST 361
280 #define CENTER 362
281 #define END 363
282 #define START 364
283 #define RESET 365
284 #define UNTIL 366
285 #define PLOT 367
286 #define THICKNESS 368
287 #define FILL 369
288 #define COLORED 370
289 #define OUTLINED 371
290 #define SHADED 372
291 #define XSLANTED 373
292 #define YSLANTED 374
293 #define ALIGNED 375
294 #define SPRINTF 376
295 #define COMMAND 377
296 #define DEFINE 378
297 #define UNDEF 379
298
299 /* Value type.  */
300 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
301
302 union YYSTYPE
303 {
304 #line 65 "../src/preproc/pic/pic.ypp" /* yacc.c:1906  */
305
306         char *str;
307         int n;
308         double x;
309         struct { double x, y; } pair;
310         struct { double x; char *body; } if_data;
311         struct { char *str; const char *filename; int lineno; } lstr;
312         struct { double *v; int nv; int maxv; } dv;
313         struct { double val; int is_multiplicative; } by;
314         place pl;
315         object *obj;
316         corner crn;
317         path *pth;
318         object_spec *spec;
319         saved_state *pstate;
320         graphics_state state;
321         object_type obtype;
322
323 #line 324 "src/preproc/pic/pic.hpp" /* yacc.c:1906  */
324 };
325
326 typedef union YYSTYPE YYSTYPE;
327 # define YYSTYPE_IS_TRIVIAL 1
328 # define YYSTYPE_IS_DECLARED 1
329 #endif
330
331
332 extern YYSTYPE yylval;
333
334 int yyparse (void);
335
336 #endif /* !YY_YY_SRC_PREPROC_PIC_PIC_HPP_INCLUDED  */