Drizzled Public API Documentation

scanner.h
00001 #ifndef execute_HEADER_H
00002 #define execute_HEADER_H 1
00003 #define execute_IN_HEADER 1
00004 
00005 #line 6 "drizzled/execute/scanner.h"
00006 #line 41 "drizzled/execute/scanner.l"
00007 
00008 #include <config.h>
00009 #include <drizzled/execute/parser.h>  
00010 #include <drizzled/execute/context.h>
00011 #include <drizzled/execute/symbol.h>
00012 #include <drizzled/lex_string.h>
00013 
00014 using namespace drizzled;
00015 
00016 #ifndef __INTEL_COMPILER
00017 #pragma GCC diagnostic ignored "-Wold-style-cast"
00018 #pragma GCC diagnostic ignored "-Wsign-compare"
00019 #pragma GCC diagnostic ignored "-Wunused-parameter"
00020 #pragma GCC diagnostic ignored "-Wmissing-declarations"
00021 #endif
00022 
00023 #define YY_EXTRA_TYPE ::drizzled::execute::Context*
00024 
00025 
00026 
00027 
00028 #line 29 "drizzled/execute/scanner.h"
00029 
00030 #define  YY_INT_ALIGNED short int
00031 
00032 /* A lexical scanner generated by flex */
00033 
00034 /* %not-for-header */
00035 
00036 #define FLEX_SCANNER
00037 #define YY_FLEX_MAJOR_VERSION 2
00038 #define YY_FLEX_MINOR_VERSION 5
00039 #define YY_FLEX_SUBMINOR_VERSION 35
00040 #if YY_FLEX_SUBMINOR_VERSION > 0
00041 #define FLEX_BETA
00042 #endif
00043 
00044 /* %if-c++-only */
00045 /* %endif */
00046 
00047 /* %if-c-only */
00048     
00049 /* %endif */
00050 
00051 /* %if-c-only */
00052 
00053 /* %endif */
00054 
00055 /* First, we deal with  platform-specific or compiler-specific issues. */
00056 
00057 /* begin standard C headers. */
00058 /* %if-c-only */
00059 #include <stdio.h>
00060 #include <string.h>
00061 #include <errno.h>
00062 #include <stdlib.h>
00063 /* %endif */
00064 
00065 /* %if-tables-serialization */
00066 /* %endif */
00067 /* end standard C headers. */
00068 
00069 /* %if-c-or-c++ */
00070 /* flex integer type definitions */
00071 
00072 #ifndef FLEXINT_H
00073 #define FLEXINT_H
00074 
00075 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00076 
00077 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00078 
00079 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00080  * if you want the limit (max/min) macros for int types. 
00081  */
00082 #ifndef __STDC_LIMIT_MACROS
00083 #define __STDC_LIMIT_MACROS 1
00084 #endif
00085 
00086 #include <inttypes.h>
00087 typedef int8_t flex_int8_t;
00088 typedef uint8_t flex_uint8_t;
00089 typedef int16_t flex_int16_t;
00090 typedef uint16_t flex_uint16_t;
00091 typedef int32_t flex_int32_t;
00092 typedef uint32_t flex_uint32_t;
00093 #else
00094 typedef signed char flex_int8_t;
00095 typedef short int flex_int16_t;
00096 typedef int flex_int32_t;
00097 typedef unsigned char flex_uint8_t; 
00098 typedef unsigned short int flex_uint16_t;
00099 typedef unsigned int flex_uint32_t;
00100 
00101 /* Limits of integral types. */
00102 #ifndef INT8_MIN
00103 #define INT8_MIN               (-128)
00104 #endif
00105 #ifndef INT16_MIN
00106 #define INT16_MIN              (-32767-1)
00107 #endif
00108 #ifndef INT32_MIN
00109 #define INT32_MIN              (-2147483647-1)
00110 #endif
00111 #ifndef INT8_MAX
00112 #define INT8_MAX               (127)
00113 #endif
00114 #ifndef INT16_MAX
00115 #define INT16_MAX              (32767)
00116 #endif
00117 #ifndef INT32_MAX
00118 #define INT32_MAX              (2147483647)
00119 #endif
00120 #ifndef UINT8_MAX
00121 #define UINT8_MAX              (255U)
00122 #endif
00123 #ifndef UINT16_MAX
00124 #define UINT16_MAX             (65535U)
00125 #endif
00126 #ifndef UINT32_MAX
00127 #define UINT32_MAX             (4294967295U)
00128 #endif
00129 
00130 #endif /* ! C99 */
00131 
00132 #endif /* ! FLEXINT_H */
00133 
00134 /* %endif */
00135 
00136 /* %if-c++-only */
00137 /* %endif */
00138 
00139 #ifdef __cplusplus
00140 
00141 /* The "const" storage-class-modifier is valid. */
00142 #define YY_USE_CONST
00143 
00144 #else /* ! __cplusplus */
00145 
00146 /* C99 requires __STDC__ to be defined as 1. */
00147 #if defined (__STDC__)
00148 
00149 #define YY_USE_CONST
00150 
00151 #endif  /* defined (__STDC__) */
00152 #endif  /* ! __cplusplus */
00153 
00154 #ifdef YY_USE_CONST
00155 #define yyconst const
00156 #else
00157 #define yyconst
00158 #endif
00159 
00160 /* %not-for-header */
00161 
00162 /* %not-for-header */
00163 
00164 /* %if-reentrant */
00165 
00166 /* An opaque pointer. */
00167 #ifndef YY_TYPEDEF_YY_SCANNER_T
00168 #define YY_TYPEDEF_YY_SCANNER_T
00169 typedef void* yyscan_t;
00170 #endif
00171 
00172 /* For convenience, these vars (plus the bison vars far below)
00173    are macros in the reentrant scanner. */
00174 #define yyin yyg->yyin_r
00175 #define yyout yyg->yyout_r
00176 #define yyextra yyg->yyextra_r
00177 #define yyleng yyg->yyleng_r
00178 #define yytext yyg->yytext_r
00179 #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
00180 #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
00181 #define yy_flex_debug yyg->yy_flex_debug_r
00182 
00183 /* %endif */
00184 
00185 /* %if-not-reentrant */
00186 /* %endif */
00187 
00188 /* Size of default input buffer. */
00189 #ifndef YY_BUF_SIZE
00190 #ifdef __ia64__
00191 /* On IA-64, the buffer size is 16k, not 8k.
00192  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
00193  * Ditto for the __ia64__ case accordingly.
00194  */
00195 #define YY_BUF_SIZE 32768
00196 #else
00197 #define YY_BUF_SIZE 16384
00198 #endif /* __ia64__ */
00199 #endif
00200 
00201 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00202 #define YY_TYPEDEF_YY_BUFFER_STATE
00203 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00204 #endif
00205 
00206 /* %if-not-reentrant */
00207 /* %endif */
00208 
00209 /* %if-c-only */
00210 /* %if-not-reentrant */
00211 /* %endif */
00212 /* %endif */
00213 
00214 #ifndef YY_TYPEDEF_YY_SIZE_T
00215 #define YY_TYPEDEF_YY_SIZE_T
00216 typedef size_t yy_size_t;
00217 #endif
00218 
00219 #ifndef YY_STRUCT_YY_BUFFER_STATE
00220 #define YY_STRUCT_YY_BUFFER_STATE
00221 struct yy_buffer_state
00222   {
00223 /* %if-c-only */
00224   FILE *yy_input_file;
00225 /* %endif */
00226 
00227 /* %if-c++-only */
00228 /* %endif */
00229 
00230   char *yy_ch_buf;    /* input buffer */
00231   char *yy_buf_pos;   /* current position in input buffer */
00232 
00233   /* Size of input buffer in bytes, not including room for EOB
00234    * characters.
00235    */
00236   yy_size_t yy_buf_size;
00237 
00238   /* Number of characters read into yy_ch_buf, not including EOB
00239    * characters.
00240    */
00241   int yy_n_chars;
00242 
00243   /* Whether we "own" the buffer - i.e., we know we created it,
00244    * and can realloc() it to grow it, and should free() it to
00245    * delete it.
00246    */
00247   int yy_is_our_buffer;
00248 
00249   /* Whether this is an "interactive" input source; if so, and
00250    * if we're using stdio for input, then we want to use getc()
00251    * instead of fread(), to make sure we stop fetching input after
00252    * each newline.
00253    */
00254   int yy_is_interactive;
00255 
00256   /* Whether we're considered to be at the beginning of a line.
00257    * If so, '^' rules will be active on the next match, otherwise
00258    * not.
00259    */
00260   int yy_at_bol;
00261 
00262     int yy_bs_lineno; 
00263     int yy_bs_column; 
00265   /* Whether to try to fill the input buffer when we reach the
00266    * end of it.
00267    */
00268   int yy_fill_buffer;
00269 
00270   int yy_buffer_status;
00271 
00272   };
00273 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00274 
00275 /* %if-c-only Standard (non-C++) definition */
00276 /* %not-for-header */
00277 
00278 /* %endif */
00279 
00280 /* %if-c-only Standard (non-C++) definition */
00281 
00282 /* %if-not-reentrant */
00283 /* %not-for-header */
00284 
00285 /* %endif */
00286 
00287 void execute_restart (FILE *input_file ,yyscan_t yyscanner );
00288 void execute__switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00289 YY_BUFFER_STATE execute__create_buffer (FILE *file,int size ,yyscan_t yyscanner );
00290 void execute__delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00291 void execute__flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
00292 void execute_push_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
00293 void execute_pop_buffer_state (yyscan_t yyscanner );
00294 
00295 YY_BUFFER_STATE execute__scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
00296 YY_BUFFER_STATE execute__scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
00297 YY_BUFFER_STATE execute__scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
00298 
00299 /* %endif */
00300 
00301 void *execute_alloc (yy_size_t ,yyscan_t yyscanner );
00302 void *execute_realloc (void *,yy_size_t ,yyscan_t yyscanner );
00303 void execute_free (void * ,yyscan_t yyscanner );
00304 
00305 /* %% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here */
00306 /* Begin user sect3 */
00307 
00308 #define execute_wrap(n) 1
00309 #define YY_SKIP_YYWRAP
00310 
00311 #define FLEX_DEBUG
00312 
00313 #define yytext_ptr yytext_r
00314 
00315 /* %if-c-only Standard (non-C++) definition */
00316 
00317 /* %endif */
00318 
00319 #ifdef YY_HEADER_EXPORT_START_CONDITIONS
00320 #define INITIAL 0
00321 
00322 #endif
00323 
00324 #ifndef YY_NO_UNISTD_H
00325 /* Special case for "unistd.h", since it is non-ANSI. We include it way
00326  * down here because we want the user's section 1 to have been scanned first.
00327  * The user has a chance to override it with an option.
00328  */
00329 /* %if-c-only */
00330 #include <unistd.h>
00331 /* %endif */
00332 /* %if-c++-only */
00333 /* %endif */
00334 #endif
00335 
00336 #ifndef YY_EXTRA_TYPE
00337 #define YY_EXTRA_TYPE void *
00338 #endif
00339 
00340 /* %if-c-only Reentrant structure and macros (non-C++). */
00341 /* %if-reentrant */
00342 
00343 /* %if-c-only */
00344 
00345 /* %endif */
00346 
00347 /* %if-reentrant */
00348 
00349 int execute_lex_init (yyscan_t* scanner);
00350 
00351 int execute_lex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
00352 
00353 /* %endif */
00354 
00355 /* %endif End reentrant structures and macros. */
00356 
00357 /* Accessor methods to globals.
00358    These are made visible to non-reentrant scanners for convenience. */
00359 
00360 int execute_lex_destroy (yyscan_t yyscanner );
00361 
00362 int execute_get_debug (yyscan_t yyscanner );
00363 
00364 void execute_set_debug (int debug_flag ,yyscan_t yyscanner );
00365 
00366 YY_EXTRA_TYPE execute_get_extra (yyscan_t yyscanner );
00367 
00368 void execute_set_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
00369 
00370 FILE *execute_get_in (yyscan_t yyscanner );
00371 
00372 void execute_set_in  (FILE * in_str ,yyscan_t yyscanner );
00373 
00374 FILE *execute_get_out (yyscan_t yyscanner );
00375 
00376 void execute_set_out  (FILE * out_str ,yyscan_t yyscanner );
00377 
00378 int execute_get_leng (yyscan_t yyscanner );
00379 
00380 char *execute_get_text (yyscan_t yyscanner );
00381 
00382 int execute_get_lineno (yyscan_t yyscanner );
00383 
00384 void execute_set_lineno (int line_number ,yyscan_t yyscanner );
00385 
00386 /* %if-bison-bridge */
00387 
00388 YYSTYPE * execute_get_lval (yyscan_t yyscanner );
00389 
00390 void execute_set_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
00391 
00392 /* %endif */
00393 
00394 /* Macros after this point can all be overridden by user definitions in
00395  * section 1.
00396  */
00397 
00398 #ifndef YY_SKIP_YYWRAP
00399 #ifdef __cplusplus
00400 extern "C" int execute_wrap (yyscan_t yyscanner );
00401 #else
00402 extern int execute_wrap (yyscan_t yyscanner );
00403 #endif
00404 #endif
00405 
00406 /* %not-for-header */
00407 
00408 /* %endif */
00409 
00410 #ifndef yytext_ptr
00411 static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
00412 #endif
00413 
00414 #ifdef YY_NEED_STRLEN
00415 static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
00416 #endif
00417 
00418 #ifndef YY_NO_INPUT
00419 /* %if-c-only Standard (non-C++) definition */
00420 /* %not-for-header */
00421 
00422 /* %endif */
00423 #endif
00424 
00425 /* %if-c-only */
00426 
00427 /* %endif */
00428 
00429 /* Amount of stuff to slurp up with each read. */
00430 #ifndef YY_READ_BUF_SIZE
00431 #ifdef __ia64__
00432 /* On IA-64, the buffer size is 16k, not 8k */
00433 #define YY_READ_BUF_SIZE 16384
00434 #else
00435 #define YY_READ_BUF_SIZE 8192
00436 #endif /* __ia64__ */
00437 #endif
00438 
00439 /* Number of entries by which start-condition stack grows. */
00440 #ifndef YY_START_STACK_INCR
00441 #define YY_START_STACK_INCR 25
00442 #endif
00443 
00444 /* %if-tables-serialization structures and prototypes */
00445 /* %not-for-header */
00446 
00447 /* %not-for-header */
00448 
00449 /* Default declaration of generated scanner - a define so the user can
00450  * easily add parameters.
00451  */
00452 #ifndef YY_DECL
00453 #define YY_DECL_IS_OURS 1
00454 /* %if-c-only Standard (non-C++) definition */
00455 
00456 extern int execute_lex \
00457                (YYSTYPE * yylval_param ,yyscan_t yyscanner);
00458 
00459 #define YY_DECL int execute_lex \
00460                (YYSTYPE * yylval_param , yyscan_t yyscanner)
00461 /* %endif */
00462 /* %if-c++-only C++ definition */
00463 /* %endif */
00464 #endif /* !YY_DECL */
00465 
00466 /* %not-for-header */
00467 
00468 /* %if-c++-only */
00469 /* %not-for-header */
00470 
00471 /* %endif */
00472 
00473 /* yy_get_previous_state - get the state just before the EOB char was reached */
00474 
00475 /* %if-c-only */
00476 /* %not-for-header */
00477 
00478 #undef YY_NEW_FILE
00479 #undef YY_FLUSH_BUFFER
00480 #undef yy_set_bol
00481 #undef yy_new_buffer
00482 #undef yy_set_interactive
00483 #undef YY_DO_BEFORE_ACTION
00484 
00485 #ifdef YY_DECL_IS_OURS
00486 #undef YY_DECL_IS_OURS
00487 #undef YY_DECL
00488 #endif
00489 
00490 #line 136 "drizzled/execute/scanner.l"
00491 
00492 
00493 #line 494 "drizzled/execute/scanner.h"
00494 #undef execute_IN_HEADER
00495 #endif /* execute_HEADER_H */