lshParser.h
1 /* A Bison parser, made by GNU Bison 3.0.2. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2013 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_YY_LSHPARSER_H_INCLUDED
34 # define YY_YY_LSHPARSER_H_INCLUDED
35 /* Debug traces. */
36 #ifndef YYDEBUG
37 # define YYDEBUG 0
38 #endif
39 #if YYDEBUG
40 extern int yydebug;
41 #endif
42 
43 /* Token type. */
44 #ifndef YYTOKENTYPE
45 # define YYTOKENTYPE
46  enum yytokentype
47  {
48  NUM = 258,
49  SNUM = 259,
50  REXP = 260,
51  STR = 261,
52  NULLTOKEN = 262,
53  TRUE = 263,
54  FALSE = 264,
55  ID = 265,
56  OP = 266,
57  PRINT = 267,
58  INC = 268,
59  DEC = 269,
60  NAMESPACE = 270,
61  INCLUDE = 271,
62  GLOBAL = 272,
63  ISNULL = 273,
64  EQL = 274,
65  AND_OP = 275,
66  OR_OP = 276,
67  ISARRAY = 277,
68  ISNUM = 278,
69  ISBOOL = 279,
70  ISSTRING = 280,
71  ISOBJECT = 281,
72  FUNCTION = 282,
73  PARTIALFUNC = 283,
74  RET = 284,
75  DECORATOR = 285,
76  CONTEXTFUNC = 286,
77  CLASS = 287,
78  NEW = 288,
79  CLASSACCESS = 289,
80  THIS = 290,
81  PARENT = 291,
82  PRIVATE = 292,
83  STATIC = 293,
84  EXTENDS = 294,
85  GETCLASS = 295,
86  IF = 296,
87  ELSE = 297,
88  ELSEIF = 298,
89  WITH = 299,
90  DO = 300,
91  WHILE = 301,
92  AS = 302,
93  OPINC = 303,
94  FOR = 304,
95  IN = 305,
96  GOTO = 306,
97  SWITCH = 307,
98  CASE = 308,
99  DEFAULT = 309,
100  TYPEOF = 310,
101  SIZEOF = 311,
102  DATINFO = 312,
103  BREAK = 313,
104  EXIT = 314,
105  SIZE = 315,
106  EMPTY = 316,
107  CONTINUE = 317,
108  TRY = 318,
109  CATCH = 319,
110  THROW = 320,
111  FLOW = 321,
112  FLOWLINE = 322,
113  SQRT = 323,
114  ADDASIG = 324,
115  SUBASIG = 325,
116  PRODASIG = 326,
117  DIVASIG = 327,
118  POWASIG = 328,
119  MODASIG = 329,
120  CATASIG = 330,
121  IDEN = 331,
122  NIDEN = 332,
123  EXPLODE = 333,
124  IMPLODE = 334,
125  SPRINTF = 335,
126  FIND = 336,
127  REPLACE = 337,
128  SUBREPLACE = 338,
129  UPPER = 339,
130  LOWER = 340,
131  DATE = 341,
132  TIME = 342,
133  SLEEP = 343,
134  GETENV = 344,
135  REDUCE = 345,
136  FTOKEN = 346,
137  FPUT = 347,
138  FGET = 348,
139  FSEEK = 349,
140  FEND = 350,
141  FCUR = 351,
142  FSET = 352,
143  FTELL = 353,
144  FCLOSE = 354,
145  FREAD = 355,
146  FWRITE = 356,
147  FAPP = 357,
148  FORK = 358,
149  WAIT = 359,
150  GETPID = 360,
151  GETPPID = 361,
152  PROCESSTOKEN = 362,
153  EXITPROCESS = 363,
154  SIGNAL = 364,
155  SHANDLER = 365,
156  INPUT = 366,
157  INPUTLINE = 367,
158  MATCH = 368,
159  REGEXP = 369,
160  SEARCH = 370,
161  EXEC = 371,
162  EVAL = 372,
163  ARRAYCHUNK = 373,
164  ARRAYLAST = 374,
165  ARRAYFIRST = 375,
166  ARRAYINSERT = 376,
167  ARRAYDELETE = 377,
168  ARRAYUNSHIFT = 378,
169  ARRAYPUSH = 379,
170  ARRAYSHIFT = 380,
171  ARRAYPOP = 381,
172  LOAD_MODULE = 382,
173  CINT = 383,
174  CFLOAT = 384,
175  CBOOL = 385,
176  CSTR = 386
177  };
178 #endif
179 /* Tokens. */
180 #define NUM 258
181 #define SNUM 259
182 #define REXP 260
183 #define STR 261
184 #define NULLTOKEN 262
185 #define TRUE 263
186 #define FALSE 264
187 #define ID 265
188 #define OP 266
189 #define PRINT 267
190 #define INC 268
191 #define DEC 269
192 #define NAMESPACE 270
193 #define INCLUDE 271
194 #define GLOBAL 272
195 #define ISNULL 273
196 #define EQL 274
197 #define AND_OP 275
198 #define OR_OP 276
199 #define ISARRAY 277
200 #define ISNUM 278
201 #define ISBOOL 279
202 #define ISSTRING 280
203 #define ISOBJECT 281
204 #define FUNCTION 282
205 #define PARTIALFUNC 283
206 #define RET 284
207 #define DECORATOR 285
208 #define CONTEXTFUNC 286
209 #define CLASS 287
210 #define NEW 288
211 #define CLASSACCESS 289
212 #define THIS 290
213 #define PARENT 291
214 #define PRIVATE 292
215 #define STATIC 293
216 #define EXTENDS 294
217 #define GETCLASS 295
218 #define IF 296
219 #define ELSE 297
220 #define ELSEIF 298
221 #define WITH 299
222 #define DO 300
223 #define WHILE 301
224 #define AS 302
225 #define OPINC 303
226 #define FOR 304
227 #define IN 305
228 #define GOTO 306
229 #define SWITCH 307
230 #define CASE 308
231 #define DEFAULT 309
232 #define TYPEOF 310
233 #define SIZEOF 311
234 #define DATINFO 312
235 #define BREAK 313
236 #define EXIT 314
237 #define SIZE 315
238 #define EMPTY 316
239 #define CONTINUE 317
240 #define TRY 318
241 #define CATCH 319
242 #define THROW 320
243 #define FLOW 321
244 #define FLOWLINE 322
245 #define SQRT 323
246 #define ADDASIG 324
247 #define SUBASIG 325
248 #define PRODASIG 326
249 #define DIVASIG 327
250 #define POWASIG 328
251 #define MODASIG 329
252 #define CATASIG 330
253 #define IDEN 331
254 #define NIDEN 332
255 #define EXPLODE 333
256 #define IMPLODE 334
257 #define SPRINTF 335
258 #define FIND 336
259 #define REPLACE 337
260 #define SUBREPLACE 338
261 #define UPPER 339
262 #define LOWER 340
263 #define DATE 341
264 #define TIME 342
265 #define SLEEP 343
266 #define GETENV 344
267 #define REDUCE 345
268 #define FTOKEN 346
269 #define FPUT 347
270 #define FGET 348
271 #define FSEEK 349
272 #define FEND 350
273 #define FCUR 351
274 #define FSET 352
275 #define FTELL 353
276 #define FCLOSE 354
277 #define FREAD 355
278 #define FWRITE 356
279 #define FAPP 357
280 #define FORK 358
281 #define WAIT 359
282 #define GETPID 360
283 #define GETPPID 361
284 #define PROCESSTOKEN 362
285 #define EXITPROCESS 363
286 #define SIGNAL 364
287 #define SHANDLER 365
288 #define INPUT 366
289 #define INPUTLINE 367
290 #define MATCH 368
291 #define REGEXP 369
292 #define SEARCH 370
293 #define EXEC 371
294 #define EVAL 372
295 #define ARRAYCHUNK 373
296 #define ARRAYLAST 374
297 #define ARRAYFIRST 375
298 #define ARRAYINSERT 376
299 #define ARRAYDELETE 377
300 #define ARRAYUNSHIFT 378
301 #define ARRAYPUSH 379
302 #define ARRAYSHIFT 380
303 #define ARRAYPOP 381
304 #define LOAD_MODULE 382
305 #define CINT 383
306 #define CFLOAT 384
307 #define CBOOL 385
308 #define CSTR 386
309 
310 /* Value type. */
311 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
312 typedef union YYSTYPE YYSTYPE;
313 union YYSTYPE
314 {
315 #line 53 "lshParser.y" /* yacc.c:1909 */
316 
317  num* fval;
318  string* str;
319  idNode* idnode;
320  listNode* listnode;
321  runNode* data;
322  runNode** ref;
323  vector<string>* mval;
324 
325 #line 326 "lshParser.h" /* yacc.c:1909 */
326 };
327 # define YYSTYPE_IS_TRIVIAL 1
328 # define YYSTYPE_IS_DECLARED 1
329 #endif
330 
331 /* Location type. */
332 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
333 typedef struct YYLTYPE YYLTYPE;
334 struct YYLTYPE
335 {
336  int first_line;
337  int first_column;
338  int last_line;
339  int last_column;
340 };
341 # define YYLTYPE_IS_DECLARED 1
342 # define YYLTYPE_IS_TRIVIAL 1
343 #endif
344 
345 
346 extern YYSTYPE yylval;
347 extern YYLTYPE yylloc;
348 int yyparse (void);
349 
350 #endif /* !YY_YY_LSHPARSER_H_INCLUDED */
Nodo identificador.
Definition: idNode.h:59
Nodo lista de elementos.
Definition: typeNode.h:294
Nodo ejecutable.
Definition: runTree.h:123