rasdaman complete source
oql.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 3.0.4. */
2 
3 /* Bison interface for Yacc-like parsers in C
4 
5  Copyright (C) 1984, 1989-1990, 2000-2015 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_OQL_HH_INCLUDED
34 # define YY_YY_OQL_HH_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
47  {
48  Identifier = 258,
49  BooleanLit = 259,
50  CharacterLit = 260,
51  IntegerLit = 261,
52  FloatLit = 262,
53  StringLit = 263,
54  TUNSIG = 264,
55  TBOOL = 265,
56  TOCTET = 266,
57  TCHAR = 267,
58  TSHORT = 268,
59  TUSHORT = 269,
60  TLONG = 270,
61  TULONG = 271,
62  TFLOAT = 272,
63  TDOUBLE = 273,
64  SELECT = 274,
65  FROM = 275,
66  WHERE = 276,
67  AS = 277,
68  RESTRICT = 278,
69  TO = 279,
70  EXTEND = 280,
71  BY = 281,
72  PROJECT = 282,
73  AT = 283,
74  DIMENSION = 284,
75  ALL = 285,
76  SOME = 286,
77  COUNTCELLS = 287,
78  ADDCELLS = 288,
79  AVGCELLS = 289,
80  MINCELLS = 290,
81  MAXCELLS = 291,
82  SDOM = 292,
83  OVER = 293,
84  USING = 294,
85  LO = 295,
86  HI = 296,
87  UPDATE = 297,
88  SET = 298,
89  ASSIGN = 299,
90  MARRAY = 300,
91  CONDENSE = 301,
92  IN = 302,
93  DOT = 303,
94  COMMA = 304,
95  IS = 305,
96  NOT = 306,
97  AND = 307,
98  OR = 308,
99  XOR = 309,
100  PLUS = 310,
101  MINUS = 311,
102  MULT = 312,
103  DIV = 313,
104  EQUAL = 314,
105  LESS = 315,
106  GREATER = 316,
107  LESSEQUAL = 317,
109  NOTEQUAL = 319,
110  COLON = 320,
111  SEMICOLON = 321,
112  LEPAR = 322,
113  REPAR = 323,
114  LRPAR = 324,
115  RRPAR = 325,
116  LCPAR = 326,
117  RCPAR = 327,
118  INSERT = 328,
119  INTO = 329,
120  VALUES = 330,
121  DELETE = 331,
122  DROP = 332,
123  CREATE = 333,
124  COLLECTION = 334,
125  MDDPARAM = 335,
126  OID = 336,
127  SHIFT = 337,
128  SCALE = 338,
129  SQRT = 339,
130  ABS = 340,
131  EXP = 341,
132  LOG = 342,
133  LN = 343,
134  SIN = 344,
135  COS = 345,
136  TAN = 346,
137  SINH = 347,
138  COSH = 348,
139  TANH = 349,
140  ARCSIN = 350,
141  ARCCOS = 351,
142  ARCTAN = 352,
143  OVERLAY = 353,
144  BIT = 354,
145  UNKNOWN = 355,
146  FASTSCALE = 356,
147  PYRAMID = 357,
148  MEMBERS = 358,
149  ADD = 359,
150  ALTER = 360,
151  LIST = 361,
152  INDEX = 362,
153  RC_INDEX = 363,
154  TC_INDEX = 364,
155  A_INDEX = 365,
156  D_INDEX = 366,
157  RD_INDEX = 367,
158  RPT_INDEX = 368,
159  RRPT_INDEX = 369,
160  IT_INDEX = 370,
161  AUTO = 371,
162  TILING = 372,
163  ALIGNED = 373,
164  REGULAR = 374,
165  DIRECTIONAL = 375,
166  WITH = 376,
167  SUBTILING = 377,
168  AREA = 378,
169  OF = 379,
170  INTEREST = 380,
171  STATISTIC = 381,
172  TILE = 382,
173  SIZE = 383,
174  BORDER = 384,
175  THRESHOLD = 385,
176  STRCT = 386,
177  COMPLEX = 387,
178  RE = 388,
179  IM = 389,
180  TIFF = 390,
181  BMP = 391,
182  HDF = 392,
183  NETCDF = 393,
184  CSV = 394,
185  JPEG = 395,
186  PNG = 396,
187  VFF = 397,
188  TOR = 398,
189  DEM = 399,
190  INV_TIFF = 400,
191  INV_BMP = 401,
192  INV_HDF = 402,
193  INV_NETCDF = 403,
194  INV_JPEG = 404,
195  INV_PNG = 405,
196  INV_VFF = 406,
197  INV_CSV = 407,
198  INV_TOR = 408,
199  INV_DEM = 409,
200  ENCODE = 410,
201  CONCAT = 411,
202  ALONG = 412,
203  DBINFO = 413,
204  CASE = 414,
205  WHEN = 415,
206  THEN = 416,
207  ELSE = 417,
208  END = 418,
209  UNARYOP = 419
210  };
211 #endif
212 /* Tokens. */
213 #define Identifier 258
214 #define BooleanLit 259
215 #define CharacterLit 260
216 #define IntegerLit 261
217 #define FloatLit 262
218 #define StringLit 263
219 #define TUNSIG 264
220 #define TBOOL 265
221 #define TOCTET 266
222 #define TCHAR 267
223 #define TSHORT 268
224 #define TUSHORT 269
225 #define TLONG 270
226 #define TULONG 271
227 #define TFLOAT 272
228 #define TDOUBLE 273
229 #define SELECT 274
230 #define FROM 275
231 #define WHERE 276
232 #define AS 277
233 #define RESTRICT 278
234 #define TO 279
235 #define EXTEND 280
236 #define BY 281
237 #define PROJECT 282
238 #define AT 283
239 #define DIMENSION 284
240 #define ALL 285
241 #define SOME 286
242 #define COUNTCELLS 287
243 #define ADDCELLS 288
244 #define AVGCELLS 289
245 #define MINCELLS 290
246 #define MAXCELLS 291
247 #define SDOM 292
248 #define OVER 293
249 #define USING 294
250 #define LO 295
251 #define HI 296
252 #define UPDATE 297
253 #define SET 298
254 #define ASSIGN 299
255 #define MARRAY 300
256 #define CONDENSE 301
257 #define IN 302
258 #define DOT 303
259 #define COMMA 304
260 #define IS 305
261 #define NOT 306
262 #define AND 307
263 #define OR 308
264 #define XOR 309
265 #define PLUS 310
266 #define MINUS 311
267 #define MULT 312
268 #define DIV 313
269 #define EQUAL 314
270 #define LESS 315
271 #define GREATER 316
272 #define LESSEQUAL 317
273 #define GREATEREQUAL 318
274 #define NOTEQUAL 319
275 #define COLON 320
276 #define SEMICOLON 321
277 #define LEPAR 322
278 #define REPAR 323
279 #define LRPAR 324
280 #define RRPAR 325
281 #define LCPAR 326
282 #define RCPAR 327
283 #define INSERT 328
284 #define INTO 329
285 #define VALUES 330
286 #define DELETE 331
287 #define DROP 332
288 #define CREATE 333
289 #define COLLECTION 334
290 #define MDDPARAM 335
291 #define OID 336
292 #define SHIFT 337
293 #define SCALE 338
294 #define SQRT 339
295 #define ABS 340
296 #define EXP 341
297 #define LOG 342
298 #define LN 343
299 #define SIN 344
300 #define COS 345
301 #define TAN 346
302 #define SINH 347
303 #define COSH 348
304 #define TANH 349
305 #define ARCSIN 350
306 #define ARCCOS 351
307 #define ARCTAN 352
308 #define OVERLAY 353
309 #define BIT 354
310 #define UNKNOWN 355
311 #define FASTSCALE 356
312 #define PYRAMID 357
313 #define MEMBERS 358
314 #define ADD 359
315 #define ALTER 360
316 #define LIST 361
317 #define INDEX 362
318 #define RC_INDEX 363
319 #define TC_INDEX 364
320 #define A_INDEX 365
321 #define D_INDEX 366
322 #define RD_INDEX 367
323 #define RPT_INDEX 368
324 #define RRPT_INDEX 369
325 #define IT_INDEX 370
326 #define AUTO 371
327 #define TILING 372
328 #define ALIGNED 373
329 #define REGULAR 374
330 #define DIRECTIONAL 375
331 #define WITH 376
332 #define SUBTILING 377
333 #define AREA 378
334 #define OF 379
335 #define INTEREST 380
336 #define STATISTIC 381
337 #define TILE 382
338 #define SIZE 383
339 #define BORDER 384
340 #define THRESHOLD 385
341 #define STRCT 386
342 #define COMPLEX 387
343 #define RE 388
344 #define IM 389
345 #define TIFF 390
346 #define BMP 391
347 #define HDF 392
348 #define NETCDF 393
349 #define CSV 394
350 #define JPEG 395
351 #define PNG 396
352 #define VFF 397
353 #define TOR 398
354 #define DEM 399
355 #define INV_TIFF 400
356 #define INV_BMP 401
357 #define INV_HDF 402
358 #define INV_NETCDF 403
359 #define INV_JPEG 404
360 #define INV_PNG 405
361 #define INV_VFF 406
362 #define INV_CSV 407
363 #define INV_TOR 408
364 #define INV_DEM 409
365 #define ENCODE 410
366 #define CONCAT 411
367 #define ALONG 412
368 #define DBINFO 413
369 #define CASE 414
370 #define WHEN 415
371 #define THEN 416
372 #define ELSE 417
373 #define END 418
374 #define UNARYOP 419
375 
376 /* Value type. */
377 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
378 
379 union YYSTYPE
380 {
381 #line 102 "oql.yy" /* yacc.c:1909 */
382 
383 
384  struct {
385  bool value;
387  } booleanToken;
388 
389  struct {
390  char value;
391  ParseInfo* info;
392  } characterToken;
393 
394  struct {
395  unsigned short negative; // 1 = signed value, 0 = unsigned value
396  r_Long svalue; // stores the signed value -> negative = 1
397  r_ULong uvalue; // stores the unsigned value -> negative = 0;
398  unsigned short bytes; // stores the length in bytes (1,2,3,4)
399  ParseInfo* info;
400  } integerToken;
401 
402  struct {
403  double value;
404  unsigned short bytes; // stores the length in bytes (4,8)
405  ParseInfo* info;
406  } floatToken;
407 
408  struct {
409  char* value;
410  ParseInfo* info;
411  } stringToken;
412 
413  struct {
414  int value;
415  ParseInfo* info;
416  } typeToken;
417 
418 
419  struct {
420  int value;
421  ParseInfo* info;
422  } commandToken;
423 
424  struct {
425  char* value;
426  ParseInfo* info;
427  } identifierToken;
428 
429 //--------------------------------------------------
432 //---------------------------------------------------
433 
435 
441 
446 
450 
451  QtUpdateSpecElement qtUpdateSpecElement;
452 
455 
456  struct {
458  ParseInfo *info;
459  } castTypes;
460 
461  struct {
463  ParseInfo *info;
464  } indexType;
465 
466  struct {
469  int tileSize;
473  std::vector<r_Dir_Decompose>* dirDecomp;
474  ParseInfo *info;
475  } tilingType;
476 
477 
478 #line 479 "oql.hh" /* yacc.c:1909 */
479 };
480 
481 typedef union YYSTYPE YYSTYPE;
482 # define YYSTYPE_IS_TRIVIAL 1
483 # define YYSTYPE_IS_DECLARED 1
484 #endif
485 
486 
487 extern YYSTYPE yylval;
488 
489 int yyparse (void *mflag);
490 
491 #endif /* !YY_YY_OQL_HH_INCLUDED */
#define BIT
Definition: oql.h:309
pair (Identifier, Interval)
Definition: qtmarrayop2.hh:66
#define TULONG
Definition: oql.h:226
YYSTYPE yylval
#define SET
Definition: oql.h:253
#define SIZE
Definition: oql.h:338
QtComplexData::QtScalarDataList * qtScalarDataListValue
Definition: oql.h:448
#define ARCTAN
Definition: oql.h:307
#define D_INDEX
Definition: oql.h:321
#define TO
Definition: oql.h:234
Definition: qtatomicdata.hh:44
#define AUTO
Definition: oql.h:326
#define DIMENSION
Definition: oql.h:239
int dummyValue
Definition: oql.h:454
r_Sinterval * Sinterval
Definition: oql.h:434
#define ALTER
Definition: oql.h:315
#define MINUS
Definition: oql.h:266
#define TFLOAT
Definition: oql.h:227
Definition: sinterval.hh:233
struct YYSTYPE::@5 characterToken
#define TUNSIG
Definition: oql.h:219
#define RRPT_INDEX
Definition: oql.h:324
cast_types
Definition: qtunaryinduce.hh:203
#define BORDER
Definition: oql.h:339
unsigned int r_ULong
Definition: odmgtypes.hh:114
#define WHEN
Definition: oql.h:370
#define SUBTILING
Definition: oql.h:332
ParseInfo * info
Definition: oql.h:386
#define RRPAR
Definition: oql.h:280
struct YYSTYPE::@6 integerToken
#define MEMBERS
Definition: oql.h:313
#define SINH
Definition: oql.h:302
QtNode::QtOperationList * qtOperationListValue
Definition: oql.h:449
#define ADDCELLS
Definition: oql.h:243
OpType
Definition: ops.hh:121
#define REGULAR
Definition: oql.h:329
#define FloatLit
Definition: oql.h:217
Definition: parseinfo.hh:51
#define HDF
Definition: oql.h:347
char * value
Definition: oql.h:409
Definition: qtdata.hh:83
#define LRPAR
Definition: oql.h:279
#define MARRAY
Definition: oql.h:255
#define MULT
Definition: oql.h:267
#define COMPLEX
Definition: oql.h:342
QtIterator::QtONCStreamList * qtONCStreamListValue
Definition: oql.h:447
int indexType
Definition: oql.h:462
#define IntegerLit
Definition: oql.h:216
#define INV_HDF
Definition: oql.h:357
QtOperation * qtOperationValue
Definition: oql.h:437
#define LCPAR
Definition: oql.h:281
#define INDEX
Definition: oql.h:317
#define EXP
Definition: oql.h:296
#define RESTRICT
Definition: oql.h:233
#define LESS
Definition: oql.h:270
#define OF
Definition: oql.h:334
#define INV_JPEG
Definition: oql.h:359
#define BMP
Definition: oql.h:346
#define ARCCOS
Definition: oql.h:306
#define SQRT
Definition: oql.h:294
#define LESSEQUAL
Definition: oql.h:272
#define REPAR
Definition: oql.h:278
#define COLON
Definition: oql.h:275
#define LO
Definition: oql.h:250
unsigned short negative
Definition: oql.h:395
#define OVERLAY
Definition: oql.h:308
#define THEN
Definition: oql.h:371
int tilingType
Definition: oql.h:467
double value
Definition: oql.h:403
#define TDOUBLE
Definition: oql.h:228
std::list< QtScalarData * > QtScalarDataList
list of {QtScalarData} objects
Definition: qtcomplexdata.hh:49
#define PNG
Definition: oql.h:351
#define INV_PNG
Definition: oql.h:360
#define VALUES
Definition: oql.h:285
#define LEPAR
Definition: oql.h:277
vector< mddIntervalType > mddIntervalListType
list storing pairs (Identifier, Interval)
Definition: qtmarrayop2.hh:74
int tileSize
Definition: oql.h:469
#define NOT
Definition: oql.h:261
Definition: qtdomainoperation.hh:53
#define BooleanLit
Definition: oql.h:214
#define EQUAL
Definition: oql.h:269
#define CSV
Definition: oql.h:349
#define IS
Definition: oql.h:260
#define ASSIGN
Definition: oql.h:254
#define TOCTET
Definition: oql.h:221
#define BY
Definition: oql.h:236
#define COUNTCELLS
Definition: oql.h:242
#define DEM
Definition: oql.h:354
int borderThreshold
Definition: oql.h:470
r_Long svalue
Definition: oql.h:396
#define GREATEREQUAL
Definition: oql.h:273
#define TANH
Definition: oql.h:304
#define INV_BMP
Definition: oql.h:356
#define LOG
Definition: oql.h:297
struct YYSTYPE::@10 commandToken
#define GREATER
Definition: oql.h:271
#define DIV
Definition: oql.h:268
#define INV_NETCDF
Definition: oql.h:358
QtNode::QtOperationList * bboxList
Definition: oql.h:472
Definition: qtunaryoperation.hh:52
#define HI
Definition: oql.h:251
Definition: qtscalardata.hh:53
#define ELSE
Definition: oql.h:372
QtUnaryOperation * qtUnaryOperationValue
Definition: oql.h:438
QtMDDAccess * qtMDDAccessValue
Definition: oql.h:440
#define TC_INDEX
Definition: oql.h:319
#define EXTEND
Definition: oql.h:235
int value
Definition: oql.h:414
#define Identifier
Definition: oql.h:213
#define AT
Definition: oql.h:238
#define INTO
Definition: oql.h:284
#define INTEREST
Definition: oql.h:335
#define END
Definition: oql.h:373
#define FASTSCALE
Definition: oql.h:311
yytokentype
Definition: oql.h:46
#define DOT
Definition: oql.h:258
#define ALONG
Definition: oql.h:367
#define INV_DEM
Definition: oql.h:364
#define UNARYOP
Definition: oql.h:374
#define CharacterLit
Definition: oql.h:215
#define RD_INDEX
Definition: oql.h:322
#define ARCSIN
Definition: oql.h:305
char value
Definition: oql.h:390
#define AND
Definition: oql.h:262
struct YYSTYPE::@9 typeToken
bool value
Definition: oql.h:385
#define LIST
Definition: oql.h:316
#define INV_TOR
Definition: oql.h:363
#define TILING
Definition: oql.h:327
struct YYSTYPE::@7 floatToken
#define PYRAMID
Definition: oql.h:312
struct YYSTYPE::@12 castTypes
#define TBOOL
Definition: oql.h:220
#define COS
Definition: oql.h:300
#define TILE
Definition: oql.h:337
int yyparse(void *mflag)
#define ALIGNED
Definition: oql.h:328
#define CONDENSE
Definition: oql.h:256
struct YYSTYPE::@4 booleanToken
#define UPDATE
Definition: oql.h:252
#define ALL
Definition: oql.h:240
#define AS
Definition: oql.h:232
#define SELECT
Definition: oql.h:229
#define DROP
Definition: oql.h:287
#define TSHORT
Definition: oql.h:223
#define AVGCELLS
Definition: oql.h:244
#define UNKNOWN
Definition: oql.h:310
Ops::OpType operationValue
Definition: oql.h:453
QtScalarData * qtScalarDataValue
Definition: oql.h:443
std::vector< QtONCStream * > QtONCStreamList
list of QtONCStream objects
Definition: qtiterator.hh:54
QtDomainOperation * qtDomainValue
Definition: oql.h:439
QtComplexData * qtComplexDataValue
Definition: oql.h:445
unsigned short bytes
Definition: oql.h:398
#define JPEG
Definition: oql.h:350
std::vector< r_Dir_Decompose > * dirDecomp
Definition: oql.h:473
#define VFF
Definition: oql.h:352
#define INV_CSV
Definition: oql.h:362
Definition: qtnode.hh:73
#define PLUS
Definition: oql.h:265
#define DELETE
Definition: oql.h:286
#define STATISTIC
Definition: oql.h:336
#define MINCELLS
Definition: oql.h:245
QtMarrayOp2::mddIntervalType * mddIntervalType
Definition: oql.h:430
#define SHIFT
Definition: oql.h:292
#define COMMA
Definition: oql.h:259
#define INSERT
Definition: oql.h:283
#define A_INDEX
Definition: oql.h:320
struct YYSTYPE::@11 identifierToken
#define INV_VFF
Definition: oql.h:361
#define MAXCELLS
Definition: oql.h:246
#define DIRECTIONAL
Definition: oql.h:330
#define WHERE
Definition: oql.h:231
QtData * qtDataValue
Definition: oql.h:442
Definition: oql.h:379
#define OVER
Definition: oql.h:248
int r_Long
Definition: odmgtypes.hh:100
#define OID
Definition: oql.h:291
QtUpdateSpecElement qtUpdateSpecElement
Definition: oql.h:451
#define INV_TIFF
Definition: oql.h:355
#define RPT_INDEX
Definition: oql.h:323
#define THRESHOLD
Definition: oql.h:340
#define AREA
Definition: oql.h:333
#define FROM
Definition: oql.h:230
#define IT_INDEX
Definition: oql.h:325
Definition: qtoperation.hh:57
#define SCALE
Definition: oql.h:293
#define ADD
Definition: oql.h:314
#define RCPAR
Definition: oql.h:282
#define LN
Definition: oql.h:298
#define PROJECT
Definition: oql.h:237
#define STRCT
Definition: oql.h:341
#define TLONG
Definition: oql.h:225
#define CASE
Definition: oql.h:369
#define SDOM
Definition: oql.h:247
#define RC_INDEX
Definition: oql.h:318
#define ENCODE
Definition: oql.h:365
#define TOR
Definition: oql.h:353
#define ABS
Definition: oql.h:295
#define TIFF
Definition: oql.h:345
QtCast::cast_types qtCastType
Definition: oql.h:457
#define COLLECTION
Definition: oql.h:289
std::vector< QtOperation * > QtOperationList
list of QtOperation pointers
Definition: qtnode.hh:194
#define XOR
Definition: oql.h:264
#define OR
Definition: oql.h:263
QtAtomicData * qtAtomicDataValue
Definition: oql.h:444
#define SIN
Definition: oql.h:299
Definition: qtmddaccess.hh:55
#define DBINFO
Definition: oql.h:368
#define MDDPARAM
Definition: oql.h:290
#define CREATE
Definition: oql.h:288
QtNode * qtNodeValue
Definition: oql.h:436
#define COSH
Definition: oql.h:303
Definition: qtcomplexdata.hh:45
struct YYSTYPE::@8 stringToken
float interestThreshold
Definition: oql.h:471
#define TUSHORT
Definition: oql.h:224
#define SOME
Definition: oql.h:241
#define StringLit
Definition: oql.h:218
#define TCHAR
Definition: oql.h:222
#define TAN
Definition: oql.h:301
QtOperation * tileCfg
Definition: oql.h:468
#define SEMICOLON
Definition: oql.h:276
#define CONCAT
Definition: oql.h:366
#define IN
Definition: oql.h:257
#define NOTEQUAL
Definition: oql.h:274
#define NETCDF
Definition: oql.h:348
#define WITH
Definition: oql.h:331
#define USING
Definition: oql.h:249
#define RE
Definition: oql.h:343
r_ULong uvalue
Definition: oql.h:397
QtMarrayOp2::mddIntervalListType * mddIntervalListType
Definition: oql.h:431
#define IM
Definition: oql.h:344