LCOV - code coverage report
Current view: top level - bin/default/libcli/wsp - wsp_aqs_lexer.c (source / functions) Hit Total Coverage
Test: coverage report for master 2f515e9b Lines: 198 461 43.0 %
Date: 2024-04-21 15:09:00 Functions: 13 39 33.3 %

          Line data    Source code
       1             : #line 2 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
       2             : 
       3             : #line 4 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
       4             : 
       5             : #define  YY_INT_ALIGNED short int
       6             : 
       7             : /* A lexical scanner generated by flex */
       8             : 
       9             : #define FLEX_SCANNER
      10             : #define YY_FLEX_MAJOR_VERSION 2
      11             : #define YY_FLEX_MINOR_VERSION 6
      12             : #define YY_FLEX_SUBMINOR_VERSION 4
      13             : #if YY_FLEX_SUBMINOR_VERSION > 0
      14             : #define FLEX_BETA
      15             : #endif
      16             : 
      17             : #ifdef yyget_lval
      18             : #define yyget_lval_ALREADY_DEFINED
      19             : #else
      20             : #define yyget_lval yyget_lval
      21             : #endif
      22             : 
      23             : #ifdef yyset_lval
      24             : #define yyset_lval_ALREADY_DEFINED
      25             : #else
      26             : #define yyset_lval yyset_lval
      27             : #endif
      28             : 
      29             : /* First, we deal with  platform-specific or compiler-specific issues. */
      30             : 
      31             : /* begin standard C headers. */
      32             : #include <stdio.h>
      33             : #include <string.h>
      34             : #include <errno.h>
      35             : #include <stdlib.h>
      36             : 
      37             : /* end standard C headers. */
      38             : 
      39             : /* flex integer type definitions */
      40             : 
      41             : #ifndef FLEXINT_H
      42             : #define FLEXINT_H
      43             : 
      44             : /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
      45             : 
      46             : #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
      47             : 
      48             : /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
      49             :  * if you want the limit (max/min) macros for int types. 
      50             :  */
      51             : #ifndef __STDC_LIMIT_MACROS
      52             : #define __STDC_LIMIT_MACROS 1
      53             : #endif
      54             : 
      55             : #include <inttypes.h>
      56             : typedef int8_t flex_int8_t;
      57             : typedef uint8_t flex_uint8_t;
      58             : typedef int16_t flex_int16_t;
      59             : typedef uint16_t flex_uint16_t;
      60             : typedef int32_t flex_int32_t;
      61             : typedef uint32_t flex_uint32_t;
      62             : #else
      63             : typedef signed char flex_int8_t;
      64             : typedef short int flex_int16_t;
      65             : typedef int flex_int32_t;
      66             : typedef unsigned char flex_uint8_t; 
      67             : typedef unsigned short int flex_uint16_t;
      68             : typedef unsigned int flex_uint32_t;
      69             : 
      70             : /* Limits of integral types. */
      71             : #ifndef INT8_MIN
      72             : #define INT8_MIN               (-128)
      73             : #endif
      74             : #ifndef INT16_MIN
      75             : #define INT16_MIN              (-32767-1)
      76             : #endif
      77             : #ifndef INT32_MIN
      78             : #define INT32_MIN              (-2147483647-1)
      79             : #endif
      80             : #ifndef INT8_MAX
      81             : #define INT8_MAX               (127)
      82             : #endif
      83             : #ifndef INT16_MAX
      84             : #define INT16_MAX              (32767)
      85             : #endif
      86             : #ifndef INT32_MAX
      87             : #define INT32_MAX              (2147483647)
      88             : #endif
      89             : #ifndef UINT8_MAX
      90             : #define UINT8_MAX              (255U)
      91             : #endif
      92             : #ifndef UINT16_MAX
      93             : #define UINT16_MAX             (65535U)
      94             : #endif
      95             : #ifndef UINT32_MAX
      96             : #define UINT32_MAX             (4294967295U)
      97             : #endif
      98             : 
      99             : #ifndef SIZE_MAX
     100             : #define SIZE_MAX               (~(size_t)0)
     101             : #endif
     102             : 
     103             : #endif /* ! C99 */
     104             : 
     105             : #endif /* ! FLEXINT_H */
     106             : 
     107             : /* begin standard C++ headers. */
     108             : 
     109             : /* TODO: this is always defined, so inline it */
     110             : #define yyconst const
     111             : 
     112             : #if defined(__GNUC__) && __GNUC__ >= 3
     113             : #define yynoreturn __attribute__((__noreturn__))
     114             : #else
     115             : #define yynoreturn
     116             : #endif
     117             : 
     118             : /* Returned upon end-of-file. */
     119             : #define YY_NULL 0
     120             : 
     121             : /* Promotes a possibly negative, possibly signed char to an
     122             :  *   integer in range [0..255] for use as an array index.
     123             :  */
     124             : #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
     125             : 
     126             : /* An opaque pointer. */
     127             : #ifndef YY_TYPEDEF_YY_SCANNER_T
     128             : #define YY_TYPEDEF_YY_SCANNER_T
     129             : typedef void* yyscan_t;
     130             : #endif
     131             : 
     132             : /* For convenience, these vars (plus the bison vars far below)
     133             :    are macros in the reentrant scanner. */
     134             : #define yyin yyg->yyin_r
     135             : #define yyout yyg->yyout_r
     136             : #define yyextra yyg->yyextra_r
     137             : #define yyleng yyg->yyleng_r
     138             : #define yytext yyg->yytext_r
     139             : #define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
     140             : #define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
     141             : #define yy_flex_debug yyg->yy_flex_debug_r
     142             : 
     143             : /* Enter a start condition.  This macro really ought to take a parameter,
     144             :  * but we do it the disgusting crufty way forced on us by the ()-less
     145             :  * definition of BEGIN.
     146             :  */
     147             : #define BEGIN yyg->yy_start = 1 + 2 *
     148             : /* Translate the current start state into a value that can be later handed
     149             :  * to BEGIN to return to the state.  The YYSTATE alias is for lex
     150             :  * compatibility.
     151             :  */
     152             : #define YY_START ((yyg->yy_start - 1) / 2)
     153             : #define YYSTATE YY_START
     154             : /* Action number for EOF rule of a given start state. */
     155             : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
     156             : /* Special action meaning "start processing a new file". */
     157             : #define YY_NEW_FILE yyrestart( yyin , yyscanner )
     158             : #define YY_END_OF_BUFFER_CHAR 0
     159             : 
     160             : /* Size of default input buffer. */
     161             : #ifndef YY_BUF_SIZE
     162             : #ifdef __ia64__
     163             : /* On IA-64, the buffer size is 16k, not 8k.
     164             :  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
     165             :  * Ditto for the __ia64__ case accordingly.
     166             :  */
     167             : #define YY_BUF_SIZE 32768
     168             : #else
     169             : #define YY_BUF_SIZE 16384
     170             : #endif /* __ia64__ */
     171             : #endif
     172             : 
     173             : /* The state buf must be large enough to hold one state per character in the main buffer.
     174             :  */
     175             : #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
     176             : 
     177             : #ifndef YY_TYPEDEF_YY_BUFFER_STATE
     178             : #define YY_TYPEDEF_YY_BUFFER_STATE
     179             : typedef struct yy_buffer_state *YY_BUFFER_STATE;
     180             : #endif
     181             : 
     182             : #ifndef YY_TYPEDEF_YY_SIZE_T
     183             : #define YY_TYPEDEF_YY_SIZE_T
     184             : typedef size_t yy_size_t;
     185             : #endif
     186             : 
     187             : #define EOB_ACT_CONTINUE_SCAN 0
     188             : #define EOB_ACT_END_OF_FILE 1
     189             : #define EOB_ACT_LAST_MATCH 2
     190             :     
     191             :     #define YY_LESS_LINENO(n)
     192             :     #define YY_LINENO_REWIND_TO(ptr)
     193             :     
     194             : /* Return all but the first "n" matched characters back to the input stream. */
     195             : #define yyless(n) \
     196             :         do \
     197             :                 { \
     198             :                 /* Undo effects of setting up yytext. */ \
     199             :         int yyless_macro_arg = (n); \
     200             :         YY_LESS_LINENO(yyless_macro_arg);\
     201             :                 *yy_cp = yyg->yy_hold_char; \
     202             :                 YY_RESTORE_YY_MORE_OFFSET \
     203             :                 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
     204             :                 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
     205             :                 } \
     206             :         while ( 0 )
     207             : #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
     208             : 
     209             : #ifndef YY_STRUCT_YY_BUFFER_STATE
     210             : #define YY_STRUCT_YY_BUFFER_STATE
     211             : struct yy_buffer_state
     212             :         {
     213             :         FILE *yy_input_file;
     214             : 
     215             :         char *yy_ch_buf;                /* input buffer */
     216             :         char *yy_buf_pos;               /* current position in input buffer */
     217             : 
     218             :         /* Size of input buffer in bytes, not including room for EOB
     219             :          * characters.
     220             :          */
     221             :         int yy_buf_size;
     222             : 
     223             :         /* Number of characters read into yy_ch_buf, not including EOB
     224             :          * characters.
     225             :          */
     226             :         int yy_n_chars;
     227             : 
     228             :         /* Whether we "own" the buffer - i.e., we know we created it,
     229             :          * and can realloc() it to grow it, and should free() it to
     230             :          * delete it.
     231             :          */
     232             :         int yy_is_our_buffer;
     233             : 
     234             :         /* Whether this is an "interactive" input source; if so, and
     235             :          * if we're using stdio for input, then we want to use getc()
     236             :          * instead of fread(), to make sure we stop fetching input after
     237             :          * each newline.
     238             :          */
     239             :         int yy_is_interactive;
     240             : 
     241             :         /* Whether we're considered to be at the beginning of a line.
     242             :          * If so, '^' rules will be active on the next match, otherwise
     243             :          * not.
     244             :          */
     245             :         int yy_at_bol;
     246             : 
     247             :     int yy_bs_lineno; /**< The line count. */
     248             :     int yy_bs_column; /**< The column count. */
     249             : 
     250             :         /* Whether to try to fill the input buffer when we reach the
     251             :          * end of it.
     252             :          */
     253             :         int yy_fill_buffer;
     254             : 
     255             :         int yy_buffer_status;
     256             : 
     257             : #define YY_BUFFER_NEW 0
     258             : #define YY_BUFFER_NORMAL 1
     259             :         /* When an EOF's been seen but there's still some text to process
     260             :          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
     261             :          * shouldn't try reading from the input source any more.  We might
     262             :          * still have a bunch of tokens to match, though, because of
     263             :          * possible backing-up.
     264             :          *
     265             :          * When we actually see the EOF, we change the status to "new"
     266             :          * (via yyrestart()), so that the user can continue scanning by
     267             :          * just pointing yyin at a new input file.
     268             :          */
     269             : #define YY_BUFFER_EOF_PENDING 2
     270             : 
     271             :         };
     272             : #endif /* !YY_STRUCT_YY_BUFFER_STATE */
     273             : 
     274             : /* We provide macros for accessing buffer states in case in the
     275             :  * future we want to put the buffer states in a more general
     276             :  * "scanner state".
     277             :  *
     278             :  * Returns the top of the stack, or NULL.
     279             :  */
     280             : #define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
     281             :                           ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
     282             :                           : NULL)
     283             : /* Same as previous macro, but useful when we know that the buffer stack is not
     284             :  * NULL or when we need an lvalue. For internal use only.
     285             :  */
     286             : #define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
     287             : 
     288             : void yyrestart ( FILE *input_file , yyscan_t yyscanner );
     289             : void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
     290             : YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
     291             : void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
     292             : void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
     293             : void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
     294             : void yypop_buffer_state ( yyscan_t yyscanner );
     295             : 
     296             : static void yyensure_buffer_stack ( yyscan_t yyscanner );
     297             : static void yy_load_buffer_state ( yyscan_t yyscanner );
     298             : static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
     299             : #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
     300             : 
     301             : YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
     302             : YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
     303             : YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
     304             : 
     305             : void *yyalloc ( yy_size_t , yyscan_t yyscanner );
     306             : void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
     307             : void yyfree ( void * , yyscan_t yyscanner );
     308             : 
     309             : #define yy_new_buffer yy_create_buffer
     310             : #define yy_set_interactive(is_interactive) \
     311             :         { \
     312             :         if ( ! YY_CURRENT_BUFFER ){ \
     313             :         yyensure_buffer_stack (yyscanner); \
     314             :                 YY_CURRENT_BUFFER_LVALUE =    \
     315             :             yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
     316             :         } \
     317             :         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
     318             :         }
     319             : #define yy_set_bol(at_bol) \
     320             :         { \
     321             :         if ( ! YY_CURRENT_BUFFER ){\
     322             :         yyensure_buffer_stack (yyscanner); \
     323             :                 YY_CURRENT_BUFFER_LVALUE =    \
     324             :             yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
     325             :         } \
     326             :         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
     327             :         }
     328             : #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
     329             : 
     330             : /* Begin user sect3 */
     331             : 
     332             : #define yywrap(yyscanner) (/*CONSTCOND*/1)
     333             : #define YY_SKIP_YYWRAP
     334             : typedef flex_uint8_t YY_CHAR;
     335             : 
     336             : typedef int yy_state_type;
     337             : 
     338             : #define yytext_ptr yytext_r
     339             : 
     340             : static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
     341             : static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
     342             : static int yy_get_next_buffer ( yyscan_t yyscanner );
     343             : static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
     344             : 
     345             : /* Done after the current pattern has been matched and before the
     346             :  * corresponding action - sets up yytext.
     347             :  */
     348             : #define YY_DO_BEFORE_ACTION \
     349             :         yyg->yytext_ptr = yy_bp; \
     350             :         yyleng = (int) (yy_cp - yy_bp); \
     351             :         yyg->yy_hold_char = *yy_cp; \
     352             :         *yy_cp = '\0'; \
     353             :         yyg->yy_c_buf_p = yy_cp;
     354             : #define YY_NUM_RULES 49
     355             : #define YY_END_OF_BUFFER 50
     356             : /* This struct is not used in this scanner,
     357             :    but its presence is necessary. */
     358             : struct yy_trans_info
     359             :         {
     360             :         flex_int32_t yy_verify;
     361             :         flex_int32_t yy_nxt;
     362             :         };
     363             : static const flex_int16_t yy_accept[153] =
     364             :     {   0,
     365             :         1,    1,   50,   48,    1,    1,   48,   47,   48,   12,
     366             :        13,   14,   30,   47,    2,   19,   10,   48,   11,   47,
     367             :        24,   22,   47,   23,   47,   47,   47,   25,   47,   47,
     368             :        47,   47,   47,   47,   47,   47,   47,   47,    1,    7,
     369             :         0,   46,   47,    0,   20,   21,   47,    2,    9,    6,
     370             :         8,   47,   28,   26,   47,   27,   47,    4,   47,   29,
     371             :        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
     372             :        47,   47,   47,   46,    3,    5,   47,   47,   47,   47,
     373             :        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
     374             :        47,   47,   47,   47,   47,   47,   44,   47,   47,   47,
     375             : 
     376             :        47,   47,   40,   47,   17,   47,   47,   15,   39,   18,
     377             :        47,   43,   47,   47,   47,   47,   41,   47,   47,   47,
     378             :        31,   47,   16,   47,   47,   47,   47,   42,   47,   47,
     379             :        47,   47,   47,   47,   47,   47,   47,   47,   47,   47,
     380             :        45,   47,   34,   38,   47,   33,   37,   47,   36,   35,
     381             :        32,    0
     382             :     } ;
     383             : 
     384             : static const YY_CHAR yy_ec[256] =
     385             :     {   0,
     386             :         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
     387             :         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
     388             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     389             :         1,    2,    4,    5,    1,    6,    1,    1,    1,    7,
     390             :         8,    1,    1,    9,   10,   11,    1,   12,   12,   12,
     391             :        12,   12,   12,   12,   12,   12,   12,   13,    1,   14,
     392             :        15,   16,    1,    1,   17,   18,   19,   20,   21,   11,
     393             :        22,   23,   11,   11,   24,   25,   26,   27,   28,   11,
     394             :        11,   29,   30,   31,   11,   11,   32,   11,   11,   11,
     395             :         1,   33,    1,    1,   11,    1,   34,   11,   35,   36,
     396             : 
     397             :        37,   38,   39,   40,   41,   11,   42,   43,   44,   45,
     398             :        46,   47,   11,   48,   49,   50,   51,   11,   52,   11,
     399             :        53,   11,    1,    1,    1,    1,    1,    1,    1,    1,
     400             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     401             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     402             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     403             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     404             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     405             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     406             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     407             : 
     408             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     409             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     410             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     411             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     412             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     413             :         1,    1,    1,    1,    1
     414             :     } ;
     415             : 
     416             : static const YY_CHAR yy_meta[54] =
     417             :     {   0,
     418             :         1,    1,    1,    1,    2,    1,    1,    1,    1,    1,
     419             :         2,    2,    1,    1,    1,    1,    2,    2,    2,    2,
     420             :         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
     421             :         2,    2,    1,    2,    2,    2,    2,    2,    2,    2,
     422             :         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
     423             :         2,    2,    2
     424             :     } ;
     425             : 
     426             : static const flex_int16_t yy_base[156] =
     427             :     {   0,
     428             :         0,    0,  205,  206,   52,   54,  189,   57,   54,  206,
     429             :       206,  206,  206,    0,  191,  206,  187,  186,  185,  172,
     430             :       180,  179,  191,  177,  166,  164,  171,  173,  167,  145,
     431             :       154,  146,  135,  151,  147,  139,   34,  145,   74,  206,
     432             :        73,    0,  106,  178,  206,  206,    0,  168,  206,  206,
     433             :       206,  159,    0,    0,    0,    0,  147,    0,  152,    0,
     434             :       155,  128,  131,  134,  133,   35,  135,  136,  128,  123,
     435             :       131,  115,  116,  206,    0,    0,  143,  134,  112,  112,
     436             :       126,  122,  119,  107,  115,  112,  105,  100,  118,  114,
     437             :       100,  130,  127,   94,  109,  100,    0,  107,   35,   87,
     438             : 
     439             :        94,   41,    0,   83,    0,   98,  103,    0,    0,    0,
     440             :        83,    0,   86,   94,   93,   85,    0,   82,   90,   89,
     441             :         0,   77,    0,   83,   78,   81,   83,    0,   60,   67,
     442             :        69,   66,   66,   50,   57,   50,   47,   54,   47,   58,
     443             :         0,   51,    0,    0,   49,    0,    0,   33,    0,    0,
     444             :         0,  206,  139,   79,  141
     445             :     } ;
     446             : 
     447             : static const flex_int16_t yy_def[156] =
     448             :     {   0,
     449             :       152,    1,  152,  152,  152,  152,  152,  153,  152,  152,
     450             :       152,  152,  152,  154,  152,  152,  152,  152,  152,  154,
     451             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     452             :       154,  154,  154,  154,  154,  154,  154,  154,  152,  152,
     453             :       155,  154,  153,  155,  152,  152,  154,  152,  152,  152,
     454             :       152,  154,  154,  154,   43,  154,  154,  154,  154,  154,
     455             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     456             :       154,  154,  154,  152,  154,  154,  154,  154,  154,  154,
     457             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     458             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     459             : 
     460             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     461             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     462             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     463             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     464             :       154,  154,  154,  154,  154,  154,  154,  154,  154,  154,
     465             :       154,    0,  152,  152,  152
     466             :     } ;
     467             : 
     468             : static const flex_int16_t yy_nxt[260] =
     469             :     {   0,
     470             :         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
     471             :        14,   15,   16,   17,   18,   19,   20,   14,   14,   14,
     472             :        14,   21,   14,   22,   23,   24,   25,   26,   14,   27,
     473             :        28,   29,    4,   14,   14,   14,   30,   31,   32,   33,
     474             :        14,   14,   34,   35,   14,   14,   14,   14,   36,   37,
     475             :        14,   14,   38,   39,   39,   39,   39,   41,   41,   41,
     476             :        41,   42,   41,   41,   41,   41,   41,   45,   46,   41,
     477             :        41,   41,   41,   69,   70,   39,   39,   74,  113,   71,
     478             :        47,   72,   83,   84,  118,  151,  114,  115,  150,   44,
     479             :       149,  148,  119,  120,  147,  146,  145,  144,  143,  142,
     480             : 
     481             :       141,  140,  139,  138,  137,   44,   41,   41,   41,   41,
     482             :        42,   41,   41,   41,   41,   41,  136,  135,   41,   41,
     483             :        41,   41,  134,  133,  132,  131,  130,  129,  128,  127,
     484             :       126,  125,  124,  123,  122,  121,  117,  116,   44,   43,
     485             :        43,   41,   41,  112,  111,  110,  109,  108,  107,  106,
     486             :       105,  104,  103,  102,  101,  100,   99,   98,   97,   96,
     487             :        95,   94,   93,   92,   91,   90,   89,   88,   87,   86,
     488             :        85,   82,   81,   80,   79,   78,   77,   76,   75,   48,
     489             :       152,   73,   68,   67,   66,   65,   64,   63,   62,   61,
     490             :        60,   59,   58,   57,   56,   55,   54,   53,   52,   51,
     491             : 
     492             :        50,   49,   48,   40,  152,    3,  152,  152,  152,  152,
     493             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     494             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     495             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     496             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     497             :       152,  152,  152,  152,  152,  152,  152,  152,  152
     498             :     } ;
     499             : 
     500             : static const flex_int16_t yy_chk[260] =
     501             :     {   0,
     502             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     503             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     504             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     505             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     506             :         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
     507             :         1,    1,    1,    5,    5,    6,    6,    8,    8,    8,
     508             :         8,    8,    8,    8,    8,    8,    8,    9,    9,    8,
     509             :         8,    8,    8,   37,   37,   39,   39,   41,   99,   37,
     510             :       154,   37,   66,   66,  102,  148,   99,   99,  145,    8,
     511             :       142,  140,  102,  102,  139,  138,  137,  136,  135,  134,
     512             : 
     513             :       133,  132,  131,  130,  129,   41,   43,   43,   43,   43,
     514             :        43,   43,   43,   43,   43,   43,  127,  126,   43,   43,
     515             :        43,   43,  125,  124,  122,  120,  119,  118,  116,  115,
     516             :       114,  113,  111,  107,  106,  104,  101,  100,   43,  153,
     517             :       153,  155,  155,   98,   96,   95,   94,   93,   92,   91,
     518             :        90,   89,   88,   87,   86,   85,   84,   83,   82,   81,
     519             :        80,   79,   78,   77,   73,   72,   71,   70,   69,   68,
     520             :        67,   65,   64,   63,   62,   61,   59,   57,   52,   48,
     521             :        44,   38,   36,   35,   34,   33,   32,   31,   30,   29,
     522             :        28,   27,   26,   25,   24,   23,   22,   21,   20,   19,
     523             : 
     524             :        18,   17,   15,    7,    3,  152,  152,  152,  152,  152,
     525             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     526             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     527             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     528             :       152,  152,  152,  152,  152,  152,  152,  152,  152,  152,
     529             :       152,  152,  152,  152,  152,  152,  152,  152,  152
     530             :     } ;
     531             : 
     532             : /* The intent behind this definition is that it'll catch
     533             :  * any uses of REJECT which flex missed.
     534             :  */
     535             : #define REJECT reject_used_but_not_detected
     536             : #define yymore() yymore_used_but_not_detected
     537             : #define YY_MORE_ADJ 0
     538             : #define YY_RESTORE_YY_MORE_OFFSET
     539             : #line 1 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     540             : /*
     541             :  *  Unix SMB/CIFS implementation.
     542             :  *
     543             :  *  Window Search Service
     544             :  *
     545             :  *  Copyright (c) Noel Power
     546             :  *
     547             :  *  This program is free software; you can redistribute it and/or modify
     548             :  *  it under the terms of the GNU General Public License as published by
     549             :  *  the Free Software Foundation; either version 3 of the License, or
     550             :  *  (at your option) any later version.
     551             :  *
     552             :  *  This program is distributed in the hope that it will be useful,
     553             :  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
     554             :  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     555             :  *  GNU General Public License for more details.
     556             :  *
     557             :  *  You should have received a copy of the GNU General Public License
     558             :  *  along with this program; if not, see <http://www.gnu.org/licenses/>.
     559             :  */
     560             : #line 23 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     561             : 
     562             : #include "includes.h"
     563             : #include "libcli/wsp/wsp_aqs.h"
     564             : #include "libcli/wsp/wsp_aqs_parser.tab.h"
     565             : 
     566             : 
     567             : #include <stdio.h>
     568             : 
     569             : #define YY_NO_INPUT
     570             : 
     571             : #line 572 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
     572             : #define YY_NO_UNISTD_H 1
     573             : #line 574 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
     574             : 
     575             : #define INITIAL 0
     576             : 
     577             : #ifndef YY_NO_UNISTD_H
     578             : /* Special case for "unistd.h", since it is non-ANSI. We include it way
     579             :  * down here because we want the user's section 1 to have been scanned first.
     580             :  * The user has a chance to override it with an option.
     581             :  */
     582             : #include <unistd.h>
     583             : #endif
     584             : 
     585             : #ifndef YY_EXTRA_TYPE
     586             : #define YY_EXTRA_TYPE void *
     587             : #endif
     588             : 
     589             : /* Holds the entire state of the reentrant scanner. */
     590             : struct yyguts_t
     591             :     {
     592             : 
     593             :     /* User-defined. Not touched by flex. */
     594             :     YY_EXTRA_TYPE yyextra_r;
     595             : 
     596             :     /* The rest are the same as the globals declared in the non-reentrant scanner. */
     597             :     FILE *yyin_r, *yyout_r;
     598             :     size_t yy_buffer_stack_top; /**< index of top of stack. */
     599             :     size_t yy_buffer_stack_max; /**< capacity of stack. */
     600             :     YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
     601             :     char yy_hold_char;
     602             :     int yy_n_chars;
     603             :     int yyleng_r;
     604             :     char *yy_c_buf_p;
     605             :     int yy_init;
     606             :     int yy_start;
     607             :     int yy_did_buffer_switch_on_eof;
     608             :     int yy_start_stack_ptr;
     609             :     int yy_start_stack_depth;
     610             :     int *yy_start_stack;
     611             :     yy_state_type yy_last_accepting_state;
     612             :     char* yy_last_accepting_cpos;
     613             : 
     614             :     int yylineno_r;
     615             :     int yy_flex_debug_r;
     616             : 
     617             :     char *yytext_r;
     618             :     int yy_more_flag;
     619             :     int yy_more_len;
     620             : 
     621             :     YYSTYPE * yylval_r;
     622             : 
     623             :     }; /* end struct yyguts_t */
     624             : 
     625             : static int yy_init_globals ( yyscan_t yyscanner );
     626             : 
     627             :     /* This must go here because YYSTYPE and YYLTYPE are included
     628             :      * from bison output in section 1.*/
     629             :     #    define yylval yyg->yylval_r
     630             :     
     631             : int yylex_init (yyscan_t* scanner);
     632             : 
     633             : int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
     634             : 
     635             : /* Accessor methods to globals.
     636             :    These are made visible to non-reentrant scanners for convenience. */
     637             : 
     638             : int yylex_destroy ( yyscan_t yyscanner );
     639             : 
     640             : int yyget_debug ( yyscan_t yyscanner );
     641             : 
     642             : void yyset_debug ( int debug_flag , yyscan_t yyscanner );
     643             : 
     644             : YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
     645             : 
     646             : void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
     647             : 
     648             : FILE *yyget_in ( yyscan_t yyscanner );
     649             : 
     650             : void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
     651             : 
     652             : FILE *yyget_out ( yyscan_t yyscanner );
     653             : 
     654             : void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
     655             : 
     656             :                         int yyget_leng ( yyscan_t yyscanner );
     657             : 
     658             : char *yyget_text ( yyscan_t yyscanner );
     659             : 
     660             : int yyget_lineno ( yyscan_t yyscanner );
     661             : 
     662             : void yyset_lineno ( int _line_number , yyscan_t yyscanner );
     663             : 
     664             : int yyget_column  ( yyscan_t yyscanner );
     665             : 
     666             : void yyset_column ( int _column_no , yyscan_t yyscanner );
     667             : 
     668             : YYSTYPE * yyget_lval ( yyscan_t yyscanner );
     669             : 
     670             : void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
     671             : 
     672             : /* Macros after this point can all be overridden by user definitions in
     673             :  * section 1.
     674             :  */
     675             : 
     676             : #ifndef YY_SKIP_YYWRAP
     677             : #ifdef __cplusplus
     678             : extern "C" int yywrap ( yyscan_t yyscanner );
     679             : #else
     680             : extern int yywrap ( yyscan_t yyscanner );
     681             : #endif
     682             : #endif
     683             : 
     684             : #ifndef YY_NO_UNPUT
     685             :     
     686             : #endif
     687             : 
     688             : #ifndef yytext_ptr
     689             : static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
     690             : #endif
     691             : 
     692             : #ifdef YY_NEED_STRLEN
     693             : static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
     694             : #endif
     695             : 
     696             : #ifndef YY_NO_INPUT
     697             : #ifdef __cplusplus
     698             : static int yyinput ( yyscan_t yyscanner );
     699             : #else
     700             : static int input ( yyscan_t yyscanner );
     701             : #endif
     702             : 
     703             : #endif
     704             : 
     705             : /* Amount of stuff to slurp up with each read. */
     706             : #ifndef YY_READ_BUF_SIZE
     707             : #ifdef __ia64__
     708             : /* On IA-64, the buffer size is 16k, not 8k */
     709             : #define YY_READ_BUF_SIZE 16384
     710             : #else
     711             : #define YY_READ_BUF_SIZE 8192
     712             : #endif /* __ia64__ */
     713             : #endif
     714             : 
     715             : /* Copy whatever the last rule matched to the standard output. */
     716             : #ifndef ECHO
     717             : /* This used to be an fputs(), but since the string might contain NUL's,
     718             :  * we now use fwrite().
     719             :  */
     720             : #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
     721             : #endif
     722             : 
     723             : /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
     724             :  * is returned in "result".
     725             :  */
     726             : #ifndef YY_INPUT
     727             : #define YY_INPUT(buf,result,max_size) \
     728             :         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
     729             :                 { \
     730             :                 int c = '*'; \
     731             :                 int n; \
     732             :                 for ( n = 0; n < max_size && \
     733             :                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
     734             :                         buf[n] = (char) c; \
     735             :                 if ( c == '\n' ) \
     736             :                         buf[n++] = (char) c; \
     737             :                 if ( c == EOF && ferror( yyin ) ) \
     738             :                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
     739             :                 result = n; \
     740             :                 } \
     741             :         else \
     742             :                 { \
     743             :                 errno=0; \
     744             :                 while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
     745             :                         { \
     746             :                         if( errno != EINTR) \
     747             :                                 { \
     748             :                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
     749             :                                 break; \
     750             :                                 } \
     751             :                         errno=0; \
     752             :                         clearerr(yyin); \
     753             :                         } \
     754             :                 }\
     755             : \
     756             : 
     757             : #endif
     758             : 
     759             : /* No semi-colon after return; correct usage is to write "yyterminate();" -
     760             :  * we don't want an extra ';' after the "return" because that will cause
     761             :  * some compilers to complain about unreachable statements.
     762             :  */
     763             : #ifndef yyterminate
     764             : #define yyterminate() return YY_NULL
     765             : #endif
     766             : 
     767             : /* Number of entries by which start-condition stack grows. */
     768             : #ifndef YY_START_STACK_INCR
     769             : #define YY_START_STACK_INCR 25
     770             : #endif
     771             : 
     772             : /* Report a fatal error. */
     773             : #ifndef YY_FATAL_ERROR
     774             : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
     775             : #endif
     776             : 
     777             : /* end tables serialization structures and prototypes */
     778             : 
     779             : /* Default declaration of generated scanner - a define so the user can
     780             :  * easily add parameters.
     781             :  */
     782             : #ifndef YY_DECL
     783             : #define YY_DECL_IS_OURS 1
     784             : 
     785             : extern int yylex \
     786             :                (YYSTYPE * yylval_param , yyscan_t yyscanner);
     787             : 
     788             : #define YY_DECL int yylex \
     789             :                (YYSTYPE * yylval_param , yyscan_t yyscanner)
     790             : #endif /* !YY_DECL */
     791             : 
     792             : /* Code executed at the beginning of each rule, after yytext and yyleng
     793             :  * have been set up.
     794             :  */
     795             : #ifndef YY_USER_ACTION
     796             : #define YY_USER_ACTION
     797             : #endif
     798             : 
     799             : /* Code executed at the end of each rule. */
     800             : #ifndef YY_BREAK
     801             : #define YY_BREAK /*LINTED*/break;
     802             : #endif
     803             : 
     804             : #define YY_RULE_SETUP \
     805             :         YY_USER_ACTION
     806             : 
     807             : /** The main scanner function which does all the work.
     808             :  */
     809         165 : YY_DECL
     810             : {
     811         165 :         yy_state_type yy_current_state;
     812         165 :         char *yy_cp, *yy_bp;
     813         165 :         int yy_act;
     814         165 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
     815             : 
     816         165 :     yylval = yylval_param;
     817             : 
     818         165 :         if ( !yyg->yy_init )
     819             :                 {
     820          24 :                 yyg->yy_init = 1;
     821             : 
     822             : #ifdef YY_USER_INIT
     823             :                 YY_USER_INIT;
     824             : #endif
     825             : 
     826          24 :                 if ( ! yyg->yy_start )
     827          24 :                         yyg->yy_start = 1;   /* first start state */
     828             : 
     829          24 :                 if ( ! yyin )
     830          24 :                         yyin = stdin;
     831             : 
     832          24 :                 if ( ! yyout )
     833          24 :                         yyout = stdout;
     834             : 
     835          24 :                 if ( ! YY_CURRENT_BUFFER ) {
     836           0 :                         yyensure_buffer_stack (yyscanner);
     837           0 :                         YY_CURRENT_BUFFER_LVALUE =
     838           0 :                                 yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
     839             :                 }
     840             : 
     841         165 :                 yy_load_buffer_state( yyscanner );
     842             :                 }
     843             : 
     844             :         {
     845             : #line 93 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     846             : 
     847             : 
     848             : #line 849 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
     849             : 
     850         189 :         while ( /*CONSTCOND*/1 )                /* loops until end-of-file is reached */
     851             :                 {
     852         189 :                 yy_cp = yyg->yy_c_buf_p;
     853             : 
     854             :                 /* Support of yytext. */
     855         189 :                 *yy_cp = yyg->yy_hold_char;
     856             : 
     857             :                 /* yy_bp points to the position in yy_ch_buf of the start of
     858             :                  * the current run.
     859             :                  */
     860         189 :                 yy_bp = yy_cp;
     861             : 
     862         189 :                 yy_current_state = yyg->yy_start;
     863             : yy_match:
     864         888 :                 do
     865             :                         {
     866         888 :                         YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
     867         888 :                         if ( yy_accept[yy_current_state] )
     868             :                                 {
     869         888 :                                 yyg->yy_last_accepting_state = yy_current_state;
     870         888 :                                 yyg->yy_last_accepting_cpos = yy_cp;
     871             :                                 }
     872        1524 :                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
     873             :                                 {
     874         636 :                                 yy_current_state = (int) yy_def[yy_current_state];
     875         636 :                                 if ( yy_current_state >= 153 )
     876         447 :                                         yy_c = yy_meta[yy_c];
     877             :                                 }
     878         888 :                         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
     879         888 :                         ++yy_cp;
     880             :                         }
     881         888 :                 while ( yy_current_state != 152 );
     882         189 :                 yy_cp = yyg->yy_last_accepting_cpos;
     883         189 :                 yy_current_state = yyg->yy_last_accepting_state;
     884             : 
     885             : yy_find_action:
     886         213 :                 yy_act = yy_accept[yy_current_state];
     887             : 
     888         213 :                 YY_DO_BEFORE_ACTION;
     889             : 
     890         237 : do_action:      /* This label is used only to access EOF actions. */
     891             : 
     892         237 :                 switch ( yy_act )
     893             :         { /* beginning of action switch */
     894           0 :                         case 0: /* must back up */
     895             :                         /* undo the effects of YY_DO_BEFORE_ACTION */
     896           0 :                         *yy_cp = yyg->yy_hold_char;
     897           0 :                         yy_cp = yyg->yy_last_accepting_cpos;
     898           0 :                         yy_current_state = yyg->yy_last_accepting_state;
     899           0 :                         goto yy_find_action;
     900             : 
     901             : case 1:
     902             : /* rule 1 can match eol */
     903             : YY_RULE_SETUP
     904             : #line 95 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     905             : { /* Skip blanks. */ }
     906             :         YY_BREAK
     907             : case 2:
     908             : YY_RULE_SETUP
     909             : #line 97 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     910             : { sscanf(yytext, "%"PRId64, &yylval->num); return TOKEN_NUMBER; }
     911             :         YY_BREAK
     912             : case 3:
     913             : YY_RULE_SETUP
     914             : #line 99 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     915             : { return TOKEN_AND; }
     916             :         YY_BREAK
     917             : case 4:
     918             : YY_RULE_SETUP
     919             : #line 100 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     920             : { return TOKEN_OR; }
     921             :         YY_BREAK
     922             : case 5:
     923             : YY_RULE_SETUP
     924             : #line 101 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     925             : { return TOKEN_NOT; }
     926             :         YY_BREAK
     927             : case 6:
     928             : YY_RULE_SETUP
     929             : #line 102 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     930             : { return TOKEN_EQ; }
     931             :         YY_BREAK
     932             : case 7:
     933             : YY_RULE_SETUP
     934             : #line 103 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     935             : { return TOKEN_NE; }
     936             :         YY_BREAK
     937             : case 8:
     938             : YY_RULE_SETUP
     939             : #line 104 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     940             : { return TOKEN_GE; }
     941             :         YY_BREAK
     942             : case 9:
     943             : YY_RULE_SETUP
     944             : #line 105 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     945             : { return TOKEN_LE; }
     946             :         YY_BREAK
     947             : case 10:
     948             : YY_RULE_SETUP
     949             : #line 106 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     950             : { return TOKEN_LT; }
     951             :         YY_BREAK
     952             : case 11:
     953             : YY_RULE_SETUP
     954             : #line 107 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     955             : { return TOKEN_GT; }
     956             :         YY_BREAK
     957             : case 12:
     958             : YY_RULE_SETUP
     959             : #line 108 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     960             : { return TOKEN_LPAREN; }
     961             :         YY_BREAK
     962             : case 13:
     963             : YY_RULE_SETUP
     964             : #line 109 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     965             : { return TOKEN_RPAREN; }
     966             :         YY_BREAK
     967             : case 14:
     968             : YY_RULE_SETUP
     969             : #line 110 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     970             : { return TOKEN_COMMA; }
     971             :         YY_BREAK
     972             : case 15:
     973             : YY_RULE_SETUP
     974             : #line 111 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     975             : { return TOKEN_WHERE; }
     976             :         YY_BREAK
     977             : case 16:
     978             : YY_RULE_SETUP
     979             : #line 112 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     980             : { return TOKEN_SELECT; }
     981             :         YY_BREAK
     982             : case 17:
     983             : YY_RULE_SETUP
     984             : #line 113 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     985             : { return TOKEN_TRUE; }
     986             :         YY_BREAK
     987             : case 18:
     988             : YY_RULE_SETUP
     989             : #line 114 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     990             : { return TOKEN_FALSE; }
     991             :         YY_BREAK
     992             : case 19:
     993             : YY_RULE_SETUP
     994             : #line 115 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
     995             : { return TOKEN_PROP_EQUALS; }
     996             :         YY_BREAK
     997             : case 20:
     998             : YY_RULE_SETUP
     999             : #line 117 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1000             : { return TOKEN_STARTS_WITH;}
    1001             :         YY_BREAK
    1002             : case 21:
    1003             : YY_RULE_SETUP
    1004             : #line 118 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1005             : { return TOKEN_EQUALS;}
    1006             :         YY_BREAK
    1007             : case 22:
    1008             : YY_RULE_SETUP
    1009             : #line 120 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1010             : { return TOKEN_K; }
    1011             :         YY_BREAK
    1012             : case 23:
    1013             : YY_RULE_SETUP
    1014             : #line 121 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1015             : { return TOKEN_M; }
    1016             :         YY_BREAK
    1017             : case 24:
    1018             : YY_RULE_SETUP
    1019             : #line 122 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1020             : { return TOKEN_G; }
    1021             :         YY_BREAK
    1022             : case 25:
    1023             : YY_RULE_SETUP
    1024             : #line 123 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1025             : { return TOKEN_T; }
    1026             :         YY_BREAK
    1027             : case 26:
    1028             : YY_RULE_SETUP
    1029             : #line 124 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1030             : { return TOKEN_KB; }
    1031             :         YY_BREAK
    1032             : case 27:
    1033             : YY_RULE_SETUP
    1034             : #line 125 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1035             : { return TOKEN_MB; }
    1036             :         YY_BREAK
    1037             : case 28:
    1038             : YY_RULE_SETUP
    1039             : #line 126 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1040             : { return TOKEN_GB; }
    1041             :         YY_BREAK
    1042             : case 29:
    1043             : YY_RULE_SETUP
    1044             : #line 127 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1045             : { return TOKEN_TB; }
    1046             :         YY_BREAK
    1047             : case 30:
    1048             : YY_RULE_SETUP
    1049             : #line 128 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1050             : { return TOKEN_RANGE; }
    1051             :         YY_BREAK
    1052             : case 31:
    1053             : YY_RULE_SETUP
    1054             : #line 129 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1055             : { return TOKEN_TODAY; }
    1056             :         YY_BREAK
    1057             : case 32:
    1058             : YY_RULE_SETUP
    1059             : #line 130 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1060             : { return TOKEN_YESTERDAY;}
    1061             :         YY_BREAK
    1062             : case 33:
    1063             : YY_RULE_SETUP
    1064             : #line 131 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1065             : { return TOKEN_THISWEEK;}
    1066             :         YY_BREAK
    1067             : case 34:
    1068             : YY_RULE_SETUP
    1069             : #line 132 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1070             : { return TOKEN_LASTWEEK;}
    1071             :         YY_BREAK
    1072             : case 35:
    1073             : YY_RULE_SETUP
    1074             : #line 133 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1075             : { return TOKEN_THISMONTH; }
    1076             :         YY_BREAK
    1077             : case 36:
    1078             : YY_RULE_SETUP
    1079             : #line 134 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1080             : { return TOKEN_LASTMONTH; }
    1081             :         YY_BREAK
    1082             : case 37:
    1083             : YY_RULE_SETUP
    1084             : #line 135 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1085             : { return TOKEN_THISYEAR; }
    1086             :         YY_BREAK
    1087             : case 38:
    1088             : YY_RULE_SETUP
    1089             : #line 136 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1090             : { return TOKEN_LASTYEAR; }
    1091             :         YY_BREAK
    1092             : case 39:
    1093             : YY_RULE_SETUP
    1094             : #line 137 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1095             : { return TOKEN_EMPTY; }
    1096             :         YY_BREAK
    1097             : case 40:
    1098             : YY_RULE_SETUP
    1099             : #line 138 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1100             : { return TOKEN_TINY; }
    1101             :         YY_BREAK
    1102             : case 41:
    1103             : YY_RULE_SETUP
    1104             : #line 139 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1105             : { return TOKEN_SMALL; }
    1106             :         YY_BREAK
    1107             : case 42:
    1108             : YY_RULE_SETUP
    1109             : #line 140 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1110             : { return TOKEN_MEDIUM; }
    1111             :         YY_BREAK
    1112             : case 43:
    1113             : YY_RULE_SETUP
    1114             : #line 141 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1115             : { return TOKEN_LARGE; }
    1116             :         YY_BREAK
    1117             : case 44:
    1118             : YY_RULE_SETUP
    1119             : #line 142 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1120             : { return TOKEN_HUGE; }
    1121             :         YY_BREAK
    1122             : case 45:
    1123             : YY_RULE_SETUP
    1124             : #line 143 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1125             : { return TOKEN_GIGANTIC; }
    1126             :         YY_BREAK
    1127             : case 46:
    1128             : /* rule 46 can match eol */
    1129             : YY_RULE_SETUP
    1130             : #line 146 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1131             : { yylval->strval = talloc_asprintf(talloc_tos(), "%s", yytext); return TOKEN_STRING_LITERAL; }
    1132             :         YY_BREAK
    1133             : case 47:
    1134             : YY_RULE_SETUP
    1135             : #line 148 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1136             : { yylval->strval = talloc_asprintf(talloc_tos(), "%s", yytext); return TOKEN_IDENTIFIER; }
    1137             :         YY_BREAK
    1138             : case 48:
    1139             : YY_RULE_SETUP
    1140             : #line 149 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1141             : {  }
    1142             :         YY_BREAK
    1143             : case 49:
    1144             : YY_RULE_SETUP
    1145             : #line 151 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    1146             : YY_FATAL_ERROR( "flex scanner jammed" );
    1147             :         YY_BREAK
    1148             : #line 1149 "/builds/eaglegai/samba/bin/default/libcli/wsp/wsp_aqs_lexer.c"
    1149          24 : case YY_STATE_EOF(INITIAL):
    1150          24 :         yyterminate();
    1151             : 
    1152          48 :         case YY_END_OF_BUFFER:
    1153             :                 {
    1154             :                 /* Amount of text matched not including the EOB char. */
    1155          48 :                 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
    1156             : 
    1157             :                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
    1158          48 :                 *yy_cp = yyg->yy_hold_char;
    1159             :                 YY_RESTORE_YY_MORE_OFFSET
    1160             : 
    1161          48 :                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
    1162             :                         {
    1163             :                         /* We're scanning a new file or input source.  It's
    1164             :                          * possible that this happened because the user
    1165             :                          * just pointed yyin at a new source and called
    1166             :                          * yylex().  If so, then we have to assure
    1167             :                          * consistency between YY_CURRENT_BUFFER and our
    1168             :                          * globals.  Here is the right place to do so, because
    1169             :                          * this is the first action (other than possibly a
    1170             :                          * back-up) that will match for the new input source.
    1171             :                          */
    1172          24 :                         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    1173          24 :                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
    1174          24 :                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
    1175             :                         }
    1176             : 
    1177             :                 /* Note that here we test for yy_c_buf_p "<=" to the position
    1178             :                  * of the first EOB in the buffer, since yy_c_buf_p will
    1179             :                  * already have been incremented past the NUL character
    1180             :                  * (since all states make transitions on EOB to the
    1181             :                  * end-of-buffer state).  Contrast this with the test
    1182             :                  * in input().
    1183             :                  */
    1184          48 :                 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
    1185             :                         { /* This was really a NUL. */
    1186           0 :                         yy_state_type yy_next_state;
    1187             : 
    1188           0 :                         yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
    1189             : 
    1190           0 :                         yy_current_state = yy_get_previous_state( yyscanner );
    1191             : 
    1192             :                         /* Okay, we're now positioned to make the NUL
    1193             :                          * transition.  We couldn't have
    1194             :                          * yy_get_previous_state() go ahead and do it
    1195             :                          * for us because it doesn't know how to deal
    1196             :                          * with the possibility of jamming (and we don't
    1197             :                          * want to build jamming into it because then it
    1198             :                          * will run more slowly).
    1199             :                          */
    1200             : 
    1201           0 :                         yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
    1202             : 
    1203           0 :                         yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
    1204             : 
    1205           0 :                         if ( yy_next_state )
    1206             :                                 {
    1207             :                                 /* Consume the NUL. */
    1208           0 :                                 yy_cp = ++yyg->yy_c_buf_p;
    1209           0 :                                 yy_current_state = yy_next_state;
    1210           0 :                                 goto yy_match;
    1211             :                                 }
    1212             : 
    1213             :                         else
    1214             :                                 {
    1215           0 :                                 yy_cp = yyg->yy_last_accepting_cpos;
    1216           0 :                                 yy_current_state = yyg->yy_last_accepting_state;
    1217           0 :                                 goto yy_find_action;
    1218             :                                 }
    1219             :                         }
    1220             : 
    1221          48 :                 else switch ( yy_get_next_buffer( yyscanner ) )
    1222             :                         {
    1223          24 :                         case EOB_ACT_END_OF_FILE:
    1224             :                                 {
    1225          24 :                                 yyg->yy_did_buffer_switch_on_eof = 0;
    1226             : 
    1227          24 :                                 if ( yywrap( yyscanner ) )
    1228             :                                         {
    1229             :                                         /* Note: because we've taken care in
    1230             :                                          * yy_get_next_buffer() to have set up
    1231             :                                          * yytext, we can now set up
    1232             :                                          * yy_c_buf_p so that if some total
    1233             :                                          * hoser (like flex itself) wants to
    1234             :                                          * call the scanner after we return the
    1235             :                                          * YY_NULL, it'll still work - another
    1236             :                                          * YY_NULL will get returned.
    1237             :                                          */
    1238          24 :                                         yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
    1239             : 
    1240          24 :                                         yy_act = YY_STATE_EOF(YY_START);
    1241          24 :                                         goto do_action;
    1242             :                                         }
    1243             : 
    1244             :                                 else
    1245             :                                         {
    1246             :                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
    1247             :                                                 YY_NEW_FILE;
    1248             :                                         }
    1249             :                                 break;
    1250             :                                 }
    1251             : 
    1252           0 :                         case EOB_ACT_CONTINUE_SCAN:
    1253           0 :                                 yyg->yy_c_buf_p =
    1254           0 :                                         yyg->yytext_ptr + yy_amount_of_matched_text;
    1255             : 
    1256           0 :                                 yy_current_state = yy_get_previous_state( yyscanner );
    1257             : 
    1258           0 :                                 yy_cp = yyg->yy_c_buf_p;
    1259           0 :                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
    1260           0 :                                 goto yy_match;
    1261             : 
    1262          24 :                         case EOB_ACT_LAST_MATCH:
    1263          24 :                                 yyg->yy_c_buf_p =
    1264          24 :                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
    1265             : 
    1266          24 :                                 yy_current_state = yy_get_previous_state( yyscanner );
    1267             : 
    1268          24 :                                 yy_cp = yyg->yy_c_buf_p;
    1269          24 :                                 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
    1270          24 :                                 goto yy_find_action;
    1271             :                         }
    1272             :                 break;
    1273             :                 }
    1274             : 
    1275           0 :         default:
    1276           0 :                 YY_FATAL_ERROR(
    1277             :                         "fatal flex scanner internal error--no action found" );
    1278             :         } /* end of action switch */
    1279             :                 } /* end of scanning one token */
    1280             :         } /* end of user's declarations */
    1281             : } /* end of yylex */
    1282             : 
    1283             : /* yy_get_next_buffer - try to read in a new buffer
    1284             :  *
    1285             :  * Returns a code representing an action:
    1286             :  *      EOB_ACT_LAST_MATCH -
    1287             :  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
    1288             :  *      EOB_ACT_END_OF_FILE - end of file
    1289             :  */
    1290          48 : static int yy_get_next_buffer (yyscan_t yyscanner)
    1291             : {
    1292          48 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1293          48 :         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
    1294          48 :         char *source = yyg->yytext_ptr;
    1295          48 :         int number_to_move, i;
    1296          48 :         int ret_val;
    1297             : 
    1298          48 :         if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
    1299           0 :                 YY_FATAL_ERROR(
    1300             :                 "fatal flex scanner internal error--end of buffer missed" );
    1301             : 
    1302          48 :         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
    1303             :                 { /* Don't try to fill the buffer, so this is an EOF. */
    1304          48 :                 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
    1305             :                         {
    1306             :                         /* We matched a single character, the EOB, so
    1307             :                          * treat this as a final EOF.
    1308             :                          */
    1309             :                         return EOB_ACT_END_OF_FILE;
    1310             :                         }
    1311             : 
    1312             :                 else
    1313             :                         {
    1314             :                         /* We matched some text prior to the EOB, first
    1315             :                          * process it.
    1316             :                          */
    1317          24 :                         return EOB_ACT_LAST_MATCH;
    1318             :                         }
    1319             :                 }
    1320             : 
    1321             :         /* Try to read more data. */
    1322             : 
    1323             :         /* First move last chars to start of buffer. */
    1324           0 :         number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
    1325             : 
    1326           0 :         for ( i = 0; i < number_to_move; ++i )
    1327           0 :                 *(dest++) = *(source++);
    1328             : 
    1329           0 :         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
    1330             :                 /* don't do the read, it's not guaranteed to return an EOF,
    1331             :                  * just force an EOF
    1332             :                  */
    1333           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
    1334             : 
    1335             :         else
    1336             :                 {
    1337           0 :                         int num_to_read =
    1338           0 :                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
    1339             : 
    1340           0 :                 while ( num_to_read <= 0 )
    1341             :                         { /* Not enough room in the buffer - grow it. */
    1342             : 
    1343             :                         /* just a shorter name for the current buffer */
    1344           0 :                         YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
    1345             : 
    1346           0 :                         int yy_c_buf_p_offset =
    1347           0 :                                 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
    1348             : 
    1349           0 :                         if ( b->yy_is_our_buffer )
    1350             :                                 {
    1351           0 :                                 int new_size = b->yy_buf_size * 2;
    1352             : 
    1353           0 :                                 if ( new_size <= 0 )
    1354           0 :                                         b->yy_buf_size += b->yy_buf_size / 8;
    1355             :                                 else
    1356           0 :                                         b->yy_buf_size *= 2;
    1357             : 
    1358           0 :                                 b->yy_ch_buf = (char *)
    1359             :                                         /* Include room in for 2 EOB chars. */
    1360           0 :                                         yyrealloc( (void *) b->yy_ch_buf,
    1361           0 :                                                          (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
    1362             :                                 }
    1363             :                         else
    1364             :                                 /* Can't grow it, we don't own it. */
    1365           0 :                                 b->yy_ch_buf = NULL;
    1366             : 
    1367           0 :                         if ( ! b->yy_ch_buf )
    1368           0 :                                 YY_FATAL_ERROR(
    1369             :                                 "fatal error - scanner input buffer overflow" );
    1370             : 
    1371           0 :                         yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
    1372             : 
    1373           0 :                         num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
    1374             :                                                 number_to_move - 1;
    1375             : 
    1376             :                         }
    1377             : 
    1378           0 :                 if ( num_to_read > YY_READ_BUF_SIZE )
    1379             :                         num_to_read = YY_READ_BUF_SIZE;
    1380             : 
    1381             :                 /* Read in more data. */
    1382           0 :                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
    1383           0 :                         yyg->yy_n_chars, num_to_read );
    1384             : 
    1385           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
    1386             :                 }
    1387             : 
    1388           0 :         if ( yyg->yy_n_chars == 0 )
    1389             :                 {
    1390           0 :                 if ( number_to_move == YY_MORE_ADJ )
    1391             :                         {
    1392           0 :                         ret_val = EOB_ACT_END_OF_FILE;
    1393           0 :                         yyrestart( yyin  , yyscanner);
    1394             :                         }
    1395             : 
    1396             :                 else
    1397             :                         {
    1398           0 :                         ret_val = EOB_ACT_LAST_MATCH;
    1399           0 :                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
    1400             :                                 YY_BUFFER_EOF_PENDING;
    1401             :                         }
    1402             :                 }
    1403             : 
    1404             :         else
    1405             :                 ret_val = EOB_ACT_CONTINUE_SCAN;
    1406             : 
    1407           0 :         if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
    1408             :                 /* Extend the array by 50%, plus the number we really need. */
    1409           0 :                 int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
    1410           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
    1411           0 :                         (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
    1412           0 :                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
    1413           0 :                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
    1414             :                 /* "- 2" to take care of EOB's */
    1415           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
    1416             :         }
    1417             : 
    1418           0 :         yyg->yy_n_chars += number_to_move;
    1419           0 :         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
    1420           0 :         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
    1421             : 
    1422           0 :         yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
    1423             : 
    1424           0 :         return ret_val;
    1425             : }
    1426             : 
    1427             : /* yy_get_previous_state - get the state just before the EOB char was reached */
    1428             : 
    1429          24 :     static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
    1430             : {
    1431          24 :         yy_state_type yy_current_state;
    1432          24 :         char *yy_cp;
    1433          24 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1434             : 
    1435          24 :         yy_current_state = yyg->yy_start;
    1436             : 
    1437         130 :         for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
    1438             :                 {
    1439         106 :                 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
    1440         106 :                 if ( yy_accept[yy_current_state] )
    1441             :                         {
    1442         106 :                         yyg->yy_last_accepting_state = yy_current_state;
    1443         106 :                         yyg->yy_last_accepting_cpos = yy_cp;
    1444             :                         }
    1445         151 :                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
    1446             :                         {
    1447          45 :                         yy_current_state = (int) yy_def[yy_current_state];
    1448          45 :                         if ( yy_current_state >= 153 )
    1449          45 :                                 yy_c = yy_meta[yy_c];
    1450             :                         }
    1451         106 :                 yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
    1452             :                 }
    1453             : 
    1454          24 :         return yy_current_state;
    1455             : }
    1456             : 
    1457             : /* yy_try_NUL_trans - try to make a transition on the NUL character
    1458             :  *
    1459             :  * synopsis
    1460             :  *      next_state = yy_try_NUL_trans( current_state );
    1461             :  */
    1462           0 :     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
    1463             : {
    1464           0 :         int yy_is_jam;
    1465           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
    1466           0 :         char *yy_cp = yyg->yy_c_buf_p;
    1467             : 
    1468           0 :         YY_CHAR yy_c = 1;
    1469           0 :         if ( yy_accept[yy_current_state] )
    1470             :                 {
    1471           0 :                 yyg->yy_last_accepting_state = yy_current_state;
    1472           0 :                 yyg->yy_last_accepting_cpos = yy_cp;
    1473             :                 }
    1474           0 :         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
    1475             :                 {
    1476           0 :                 yy_current_state = (int) yy_def[yy_current_state];
    1477           0 :                 if ( yy_current_state >= 153 )
    1478             :                         yy_c = yy_meta[yy_c];
    1479             :                 }
    1480           0 :         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
    1481           0 :         yy_is_jam = (yy_current_state == 152);
    1482             : 
    1483           0 :         (void)yyg;
    1484           0 :         return yy_is_jam ? 0 : yy_current_state;
    1485             : }
    1486             : 
    1487             : #ifndef YY_NO_UNPUT
    1488             : 
    1489             : #endif
    1490             : 
    1491             : #ifndef YY_NO_INPUT
    1492             : #ifdef __cplusplus
    1493             :     static int yyinput (yyscan_t yyscanner)
    1494             : #else
    1495             :     static int input  (yyscan_t yyscanner)
    1496             : #endif
    1497             : 
    1498             : {
    1499             :         int c;
    1500             :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1501             : 
    1502             :         *yyg->yy_c_buf_p = yyg->yy_hold_char;
    1503             : 
    1504             :         if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
    1505             :                 {
    1506             :                 /* yy_c_buf_p now points to the character we want to return.
    1507             :                  * If this occurs *before* the EOB characters, then it's a
    1508             :                  * valid NUL; if not, then we've hit the end of the buffer.
    1509             :                  */
    1510             :                 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
    1511             :                         /* This was really a NUL. */
    1512             :                         *yyg->yy_c_buf_p = '\0';
    1513             : 
    1514             :                 else
    1515             :                         { /* need more input */
    1516             :                         int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
    1517             :                         ++yyg->yy_c_buf_p;
    1518             : 
    1519             :                         switch ( yy_get_next_buffer( yyscanner ) )
    1520             :                                 {
    1521             :                                 case EOB_ACT_LAST_MATCH:
    1522             :                                         /* This happens because yy_g_n_b()
    1523             :                                          * sees that we've accumulated a
    1524             :                                          * token and flags that we need to
    1525             :                                          * try matching the token before
    1526             :                                          * proceeding.  But for input(),
    1527             :                                          * there's no matching to consider.
    1528             :                                          * So convert the EOB_ACT_LAST_MATCH
    1529             :                                          * to EOB_ACT_END_OF_FILE.
    1530             :                                          */
    1531             : 
    1532             :                                         /* Reset buffer status. */
    1533             :                                         yyrestart( yyin , yyscanner);
    1534             : 
    1535             :                                         /*FALLTHROUGH*/
    1536             : 
    1537             :                                 case EOB_ACT_END_OF_FILE:
    1538             :                                         {
    1539             :                                         if ( yywrap( yyscanner ) )
    1540             :                                                 return 0;
    1541             : 
    1542             :                                         if ( ! yyg->yy_did_buffer_switch_on_eof )
    1543             :                                                 YY_NEW_FILE;
    1544             : #ifdef __cplusplus
    1545             :                                         return yyinput(yyscanner);
    1546             : #else
    1547             :                                         return input(yyscanner);
    1548             : #endif
    1549             :                                         }
    1550             : 
    1551             :                                 case EOB_ACT_CONTINUE_SCAN:
    1552             :                                         yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
    1553             :                                         break;
    1554             :                                 }
    1555             :                         }
    1556             :                 }
    1557             : 
    1558             :         c = *(unsigned char *) yyg->yy_c_buf_p;      /* cast for 8-bit char's */
    1559             :         *yyg->yy_c_buf_p = '\0';     /* preserve yytext */
    1560             :         yyg->yy_hold_char = *++yyg->yy_c_buf_p;
    1561             : 
    1562             :         return c;
    1563             : }
    1564             : #endif  /* ifndef YY_NO_INPUT */
    1565             : 
    1566             : /** Immediately switch to a different input stream.
    1567             :  * @param input_file A readable stream.
    1568             :  * @param yyscanner The scanner object.
    1569             :  * @note This function does not reset the start condition to @c INITIAL .
    1570             :  */
    1571           0 :     void yyrestart  (FILE * input_file , yyscan_t yyscanner)
    1572             : {
    1573           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1574             : 
    1575           0 :         if ( ! YY_CURRENT_BUFFER ){
    1576           0 :         yyensure_buffer_stack (yyscanner);
    1577           0 :                 YY_CURRENT_BUFFER_LVALUE =
    1578           0 :             yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
    1579             :         }
    1580             : 
    1581           0 :         yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
    1582           0 :         yy_load_buffer_state( yyscanner );
    1583           0 : }
    1584             : 
    1585             : /** Switch to a different input buffer.
    1586             :  * @param new_buffer The new input buffer.
    1587             :  * @param yyscanner The scanner object.
    1588             :  */
    1589          24 :     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
    1590             : {
    1591          24 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1592             : 
    1593             :         /* TODO. We should be able to replace this entire function body
    1594             :          * with
    1595             :          *              yypop_buffer_state();
    1596             :          *              yypush_buffer_state(new_buffer);
    1597             :      */
    1598          24 :         yyensure_buffer_stack (yyscanner);
    1599          24 :         if ( YY_CURRENT_BUFFER == new_buffer )
    1600             :                 return;
    1601             : 
    1602          24 :         if ( YY_CURRENT_BUFFER )
    1603             :                 {
    1604             :                 /* Flush out information for old buffer. */
    1605           0 :                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
    1606           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
    1607           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
    1608             :                 }
    1609             : 
    1610          24 :         YY_CURRENT_BUFFER_LVALUE = new_buffer;
    1611          24 :         yy_load_buffer_state( yyscanner );
    1612             : 
    1613             :         /* We don't actually know whether we did this switch during
    1614             :          * EOF (yywrap()) processing, but the only time this flag
    1615             :          * is looked at is after yywrap() is called, so it's safe
    1616             :          * to go ahead and always set it.
    1617             :          */
    1618          24 :         yyg->yy_did_buffer_switch_on_eof = 1;
    1619             : }
    1620             : 
    1621          48 : static void yy_load_buffer_state  (yyscan_t yyscanner)
    1622             : {
    1623          48 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1624          48 :         yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
    1625          48 :         yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
    1626          48 :         yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
    1627          24 :         yyg->yy_hold_char = *yyg->yy_c_buf_p;
    1628          24 : }
    1629             : 
    1630             : /** Allocate and initialize an input buffer state.
    1631             :  * @param file A readable stream.
    1632             :  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
    1633             :  * @param yyscanner The scanner object.
    1634             :  * @return the allocated buffer state.
    1635             :  */
    1636           0 :     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
    1637             : {
    1638           0 :         YY_BUFFER_STATE b;
    1639             :     
    1640           0 :         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
    1641           0 :         if ( ! b )
    1642           0 :                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    1643             : 
    1644           0 :         b->yy_buf_size = size;
    1645             : 
    1646             :         /* yy_ch_buf has to be 2 characters longer than the size given because
    1647             :          * we need to put in 2 end-of-buffer characters.
    1648             :          */
    1649           0 :         b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
    1650           0 :         if ( ! b->yy_ch_buf )
    1651           0 :                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
    1652             : 
    1653           0 :         b->yy_is_our_buffer = 1;
    1654             : 
    1655           0 :         yy_init_buffer( b, file , yyscanner);
    1656             : 
    1657           0 :         return b;
    1658             : }
    1659             : 
    1660             : /** Destroy the buffer.
    1661             :  * @param b a buffer created with yy_create_buffer()
    1662             :  * @param yyscanner The scanner object.
    1663             :  */
    1664          24 :     void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
    1665             : {
    1666          24 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1667             : 
    1668          24 :         if ( ! b )
    1669             :                 return;
    1670             : 
    1671          24 :         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
    1672          24 :                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
    1673             : 
    1674          24 :         if ( b->yy_is_our_buffer )
    1675          24 :                 yyfree( (void *) b->yy_ch_buf , yyscanner );
    1676             : 
    1677          24 :         yyfree( (void *) b , yyscanner );
    1678             : }
    1679             : 
    1680             : /* Initializes or reinitializes a buffer.
    1681             :  * This function is sometimes called more than once on the same buffer,
    1682             :  * such as during a yyrestart() or at EOF.
    1683             :  */
    1684           0 :     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
    1685             : 
    1686             : {
    1687           0 :         int oerrno = errno;
    1688           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1689             : 
    1690           0 :         yy_flush_buffer( b , yyscanner);
    1691             : 
    1692           0 :         b->yy_input_file = file;
    1693           0 :         b->yy_fill_buffer = 1;
    1694             : 
    1695             :     /* If b is the current buffer, then yy_init_buffer was _probably_
    1696             :      * called from yyrestart() or through yy_get_next_buffer.
    1697             :      * In that case, we don't want to reset the lineno or column.
    1698             :      */
    1699           0 :     if (b != YY_CURRENT_BUFFER){
    1700           0 :         b->yy_bs_lineno = 1;
    1701           0 :         b->yy_bs_column = 0;
    1702             :     }
    1703             : 
    1704           0 :         b->yy_is_interactive = 0;
    1705             :     
    1706           0 :         errno = oerrno;
    1707           0 : }
    1708             : 
    1709             : /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
    1710             :  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
    1711             :  * @param yyscanner The scanner object.
    1712             :  */
    1713           0 :     void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
    1714             : {
    1715           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1716           0 :         if ( ! b )
    1717             :                 return;
    1718             : 
    1719           0 :         b->yy_n_chars = 0;
    1720             : 
    1721             :         /* We always need two end-of-buffer characters.  The first causes
    1722             :          * a transition to the end-of-buffer state.  The second causes
    1723             :          * a jam in that state.
    1724             :          */
    1725           0 :         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
    1726           0 :         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
    1727             : 
    1728           0 :         b->yy_buf_pos = &b->yy_ch_buf[0];
    1729             : 
    1730           0 :         b->yy_at_bol = 1;
    1731           0 :         b->yy_buffer_status = YY_BUFFER_NEW;
    1732             : 
    1733           0 :         if ( b == YY_CURRENT_BUFFER )
    1734           0 :                 yy_load_buffer_state( yyscanner );
    1735             : }
    1736             : 
    1737             : /** Pushes the new state onto the stack. The new state becomes
    1738             :  *  the current state. This function will allocate the stack
    1739             :  *  if necessary.
    1740             :  *  @param new_buffer The new state.
    1741             :  *  @param yyscanner The scanner object.
    1742             :  */
    1743           0 : void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
    1744             : {
    1745           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1746           0 :         if (new_buffer == NULL)
    1747             :                 return;
    1748             : 
    1749           0 :         yyensure_buffer_stack(yyscanner);
    1750             : 
    1751             :         /* This block is copied from yy_switch_to_buffer. */
    1752           0 :         if ( YY_CURRENT_BUFFER )
    1753             :                 {
    1754             :                 /* Flush out information for old buffer. */
    1755           0 :                 *yyg->yy_c_buf_p = yyg->yy_hold_char;
    1756           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
    1757           0 :                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
    1758             :                 }
    1759             : 
    1760             :         /* Only push if top exists. Otherwise, replace top. */
    1761           0 :         if (YY_CURRENT_BUFFER)
    1762           0 :                 yyg->yy_buffer_stack_top++;
    1763           0 :         YY_CURRENT_BUFFER_LVALUE = new_buffer;
    1764             : 
    1765             :         /* copied from yy_switch_to_buffer. */
    1766           0 :         yy_load_buffer_state( yyscanner );
    1767           0 :         yyg->yy_did_buffer_switch_on_eof = 1;
    1768             : }
    1769             : 
    1770             : /** Removes and deletes the top of the stack, if present.
    1771             :  *  The next element becomes the new top.
    1772             :  *  @param yyscanner The scanner object.
    1773             :  */
    1774           0 : void yypop_buffer_state (yyscan_t yyscanner)
    1775             : {
    1776           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1777           0 :         if (!YY_CURRENT_BUFFER)
    1778             :                 return;
    1779             : 
    1780           0 :         yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
    1781           0 :         YY_CURRENT_BUFFER_LVALUE = NULL;
    1782           0 :         if (yyg->yy_buffer_stack_top > 0)
    1783           0 :                 --yyg->yy_buffer_stack_top;
    1784             : 
    1785           0 :         if (YY_CURRENT_BUFFER) {
    1786           0 :                 yy_load_buffer_state( yyscanner );
    1787           0 :                 yyg->yy_did_buffer_switch_on_eof = 1;
    1788             :         }
    1789             : }
    1790             : 
    1791             : /* Allocates the stack if it does not exist.
    1792             :  *  Guarantees space for at least one push.
    1793             :  */
    1794          24 : static void yyensure_buffer_stack (yyscan_t yyscanner)
    1795             : {
    1796          24 :         yy_size_t num_to_alloc;
    1797          24 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1798             : 
    1799          24 :         if (!yyg->yy_buffer_stack) {
    1800             : 
    1801             :                 /* First allocation is just for 2 elements, since we don't know if this
    1802             :                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
    1803             :                  * immediate realloc on the next call.
    1804             :          */
    1805          24 :       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
    1806          24 :                 yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
    1807             :                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
    1808             :                                                                 , yyscanner);
    1809          24 :                 if ( ! yyg->yy_buffer_stack )
    1810           0 :                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
    1811             : 
    1812          24 :                 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
    1813             : 
    1814          24 :                 yyg->yy_buffer_stack_max = num_to_alloc;
    1815          24 :                 yyg->yy_buffer_stack_top = 0;
    1816          24 :                 return;
    1817             :         }
    1818             : 
    1819           0 :         if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
    1820             : 
    1821             :                 /* Increase the buffer to prepare for a possible push. */
    1822           0 :                 yy_size_t grow_size = 8 /* arbitrary grow size */;
    1823             : 
    1824           0 :                 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
    1825           0 :                 yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
    1826             :                                                                 (yyg->yy_buffer_stack,
    1827             :                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
    1828             :                                                                 , yyscanner);
    1829           0 :                 if ( ! yyg->yy_buffer_stack )
    1830           0 :                         YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
    1831             : 
    1832             :                 /* zero only the new slots.*/
    1833           0 :                 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
    1834           0 :                 yyg->yy_buffer_stack_max = num_to_alloc;
    1835             :         }
    1836             : }
    1837             : 
    1838             : /** Setup the input buffer state to scan directly from a user-specified character buffer.
    1839             :  * @param base the character buffer
    1840             :  * @param size the size in bytes of the character buffer
    1841             :  * @param yyscanner The scanner object.
    1842             :  * @return the newly allocated buffer state object.
    1843             :  */
    1844          24 : YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
    1845             : {
    1846          24 :         YY_BUFFER_STATE b;
    1847             :     
    1848          24 :         if ( size < 2 ||
    1849          24 :              base[size-2] != YY_END_OF_BUFFER_CHAR ||
    1850          24 :              base[size-1] != YY_END_OF_BUFFER_CHAR )
    1851             :                 /* They forgot to leave room for the EOB's. */
    1852             :                 return NULL;
    1853             : 
    1854          24 :         b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
    1855          24 :         if ( ! b )
    1856           0 :                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
    1857             : 
    1858          24 :         b->yy_buf_size = (int) (size - 2);   /* "- 2" to take care of EOB's */
    1859          24 :         b->yy_buf_pos = b->yy_ch_buf = base;
    1860          24 :         b->yy_is_our_buffer = 0;
    1861          24 :         b->yy_input_file = NULL;
    1862          24 :         b->yy_n_chars = b->yy_buf_size;
    1863          24 :         b->yy_is_interactive = 0;
    1864          24 :         b->yy_at_bol = 1;
    1865          24 :         b->yy_fill_buffer = 0;
    1866          24 :         b->yy_buffer_status = YY_BUFFER_NEW;
    1867             : 
    1868          24 :         yy_switch_to_buffer( b , yyscanner );
    1869             : 
    1870          24 :         return b;
    1871             : }
    1872             : 
    1873             : /** Setup the input buffer state to scan a string. The next call to yylex() will
    1874             :  * scan from a @e copy of @a str.
    1875             :  * @param yystr a NUL-terminated string to scan
    1876             :  * @param yyscanner The scanner object.
    1877             :  * @return the newly allocated buffer state object.
    1878             :  * @note If you want to scan bytes that may contain NUL values, then use
    1879             :  *       yy_scan_bytes() instead.
    1880             :  */
    1881          24 : YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
    1882             : {
    1883             :     
    1884          24 :         return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
    1885             : }
    1886             : 
    1887             : /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
    1888             :  * scan from a @e copy of @a bytes.
    1889             :  * @param yybytes the byte buffer to scan
    1890             :  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
    1891             :  * @param yyscanner The scanner object.
    1892             :  * @return the newly allocated buffer state object.
    1893             :  */
    1894          24 : YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
    1895             : {
    1896          24 :         YY_BUFFER_STATE b;
    1897          24 :         char *buf;
    1898          24 :         yy_size_t n;
    1899          24 :         int i;
    1900             :     
    1901             :         /* Get memory for full buffer, including space for trailing EOB's. */
    1902          24 :         n = (yy_size_t) (_yybytes_len + 2);
    1903          24 :         buf = (char *) yyalloc( n , yyscanner );
    1904          24 :         if ( ! buf )
    1905           0 :                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
    1906             : 
    1907         675 :         for ( i = 0; i < _yybytes_len; ++i )
    1908         651 :                 buf[i] = yybytes[i];
    1909             : 
    1910          24 :         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
    1911             : 
    1912          24 :         b = yy_scan_buffer( buf, n , yyscanner);
    1913          24 :         if ( ! b )
    1914           0 :                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
    1915             : 
    1916             :         /* It's okay to grow etc. this buffer, and we should throw it
    1917             :          * away when we're done.
    1918             :          */
    1919          24 :         b->yy_is_our_buffer = 1;
    1920             : 
    1921          24 :         return b;
    1922             : }
    1923             : 
    1924             : #ifndef YY_EXIT_FAILURE
    1925             : #define YY_EXIT_FAILURE 2
    1926             : #endif
    1927             : 
    1928           0 : static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
    1929             : {
    1930           0 :         struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1931           0 :         (void)yyg;
    1932           0 :         fprintf( stderr, "%s\n", msg );
    1933           0 :         exit( YY_EXIT_FAILURE );
    1934             : }
    1935             : 
    1936             : /* Redefine yyless() so it works in section 3 code. */
    1937             : 
    1938             : #undef yyless
    1939             : #define yyless(n) \
    1940             :         do \
    1941             :                 { \
    1942             :                 /* Undo effects of setting up yytext. */ \
    1943             :         int yyless_macro_arg = (n); \
    1944             :         YY_LESS_LINENO(yyless_macro_arg);\
    1945             :                 yytext[yyleng] = yyg->yy_hold_char; \
    1946             :                 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
    1947             :                 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
    1948             :                 *yyg->yy_c_buf_p = '\0'; \
    1949             :                 yyleng = yyless_macro_arg; \
    1950             :                 } \
    1951             :         while ( 0 )
    1952             : 
    1953             : /* Accessor  methods (get/set functions) to struct members. */
    1954             : 
    1955             : /** Get the user-defined data for this scanner.
    1956             :  * @param yyscanner The scanner object.
    1957             :  */
    1958           0 : YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
    1959             : {
    1960           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1961           0 :     return yyextra;
    1962             : }
    1963             : 
    1964             : /** Get the current line number.
    1965             :  * @param yyscanner The scanner object.
    1966             :  */
    1967           0 : int yyget_lineno  (yyscan_t yyscanner)
    1968             : {
    1969           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1970             : 
    1971           0 :         if (! YY_CURRENT_BUFFER)
    1972             :             return 0;
    1973             :     
    1974           0 :     return yylineno;
    1975             : }
    1976             : 
    1977             : /** Get the current column number.
    1978             :  * @param yyscanner The scanner object.
    1979             :  */
    1980           0 : int yyget_column  (yyscan_t yyscanner)
    1981             : {
    1982           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1983             : 
    1984           0 :         if (! YY_CURRENT_BUFFER)
    1985             :             return 0;
    1986             :     
    1987           0 :     return yycolumn;
    1988             : }
    1989             : 
    1990             : /** Get the input stream.
    1991             :  * @param yyscanner The scanner object.
    1992             :  */
    1993           0 : FILE *yyget_in  (yyscan_t yyscanner)
    1994             : {
    1995           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    1996           0 :     return yyin;
    1997             : }
    1998             : 
    1999             : /** Get the output stream.
    2000             :  * @param yyscanner The scanner object.
    2001             :  */
    2002           0 : FILE *yyget_out  (yyscan_t yyscanner)
    2003             : {
    2004           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2005           0 :     return yyout;
    2006             : }
    2007             : 
    2008             : /** Get the length of the current token.
    2009             :  * @param yyscanner The scanner object.
    2010             :  */
    2011           0 : int yyget_leng  (yyscan_t yyscanner)
    2012             : {
    2013           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2014           0 :     return yyleng;
    2015             : }
    2016             : 
    2017             : /** Get the current token.
    2018             :  * @param yyscanner The scanner object.
    2019             :  */
    2020             : 
    2021           0 : char *yyget_text  (yyscan_t yyscanner)
    2022             : {
    2023           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2024           0 :     return yytext;
    2025             : }
    2026             : 
    2027             : /** Set the user-defined data. This data is never touched by the scanner.
    2028             :  * @param user_defined The data to be associated with this scanner.
    2029             :  * @param yyscanner The scanner object.
    2030             :  */
    2031           0 : void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
    2032             : {
    2033           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2034           0 :     yyextra = user_defined ;
    2035           0 : }
    2036             : 
    2037             : /** Set the current line number.
    2038             :  * @param _line_number line number
    2039             :  * @param yyscanner The scanner object.
    2040             :  */
    2041           0 : void yyset_lineno (int  _line_number , yyscan_t yyscanner)
    2042             : {
    2043           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2044             : 
    2045             :         /* lineno is only valid if an input buffer exists. */
    2046           0 :         if (! YY_CURRENT_BUFFER )
    2047           0 :            YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
    2048             :     
    2049           0 :     yylineno = _line_number;
    2050           0 : }
    2051             : 
    2052             : /** Set the current column.
    2053             :  * @param _column_no column number
    2054             :  * @param yyscanner The scanner object.
    2055             :  */
    2056           0 : void yyset_column (int  _column_no , yyscan_t yyscanner)
    2057             : {
    2058           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2059             : 
    2060             :         /* column is only valid if an input buffer exists. */
    2061           0 :         if (! YY_CURRENT_BUFFER )
    2062           0 :            YY_FATAL_ERROR( "yyset_column called with no buffer" );
    2063             :     
    2064           0 :     yycolumn = _column_no;
    2065           0 : }
    2066             : 
    2067             : /** Set the input stream. This does not discard the current
    2068             :  * input buffer.
    2069             :  * @param _in_str A readable stream.
    2070             :  * @param yyscanner The scanner object.
    2071             :  * @see yy_switch_to_buffer
    2072             :  */
    2073           0 : void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
    2074             : {
    2075           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2076           0 :     yyin = _in_str ;
    2077           0 : }
    2078             : 
    2079           0 : void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
    2080             : {
    2081           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2082           0 :     yyout = _out_str ;
    2083           0 : }
    2084             : 
    2085           0 : int yyget_debug  (yyscan_t yyscanner)
    2086             : {
    2087           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2088           0 :     return yy_flex_debug;
    2089             : }
    2090             : 
    2091           0 : void yyset_debug (int  _bdebug , yyscan_t yyscanner)
    2092             : {
    2093           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2094           0 :     yy_flex_debug = _bdebug ;
    2095           0 : }
    2096             : 
    2097             : /* Accessor methods for yylval and yylloc */
    2098             : 
    2099           0 : YYSTYPE * yyget_lval  (yyscan_t yyscanner)
    2100             : {
    2101           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2102           0 :     return yylval;
    2103             : }
    2104             : 
    2105           0 : void yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
    2106             : {
    2107           0 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2108           0 :     yylval = yylval_param;
    2109           0 : }
    2110             : 
    2111             : /* User-visible API */
    2112             : 
    2113             : /* yylex_init is special because it creates the scanner itself, so it is
    2114             :  * the ONLY reentrant function that doesn't take the scanner as the last argument.
    2115             :  * That's why we explicitly handle the declaration, instead of using our macros.
    2116             :  */
    2117          24 : int yylex_init(yyscan_t* ptr_yy_globals)
    2118             : {
    2119          24 :     if (ptr_yy_globals == NULL){
    2120           0 :         errno = EINVAL;
    2121           0 :         return 1;
    2122             :     }
    2123             : 
    2124          24 :     *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
    2125             : 
    2126          24 :     if (*ptr_yy_globals == NULL){
    2127           0 :         errno = ENOMEM;
    2128           0 :         return 1;
    2129             :     }
    2130             : 
    2131             :     /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
    2132          24 :     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
    2133             : 
    2134          24 :     return yy_init_globals ( *ptr_yy_globals );
    2135             : }
    2136             : 
    2137             : /* yylex_init_extra has the same functionality as yylex_init, but follows the
    2138             :  * convention of taking the scanner as the last argument. Note however, that
    2139             :  * this is a *pointer* to a scanner, as it will be allocated by this call (and
    2140             :  * is the reason, too, why this function also must handle its own declaration).
    2141             :  * The user defined value in the first argument will be available to yyalloc in
    2142             :  * the yyextra field.
    2143             :  */
    2144           0 : int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
    2145             : {
    2146           0 :     struct yyguts_t dummy_yyguts;
    2147             : 
    2148           0 :     yyset_extra (yy_user_defined, &dummy_yyguts);
    2149             : 
    2150           0 :     if (ptr_yy_globals == NULL){
    2151           0 :         errno = EINVAL;
    2152           0 :         return 1;
    2153             :     }
    2154             : 
    2155           0 :     *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
    2156             : 
    2157           0 :     if (*ptr_yy_globals == NULL){
    2158           0 :         errno = ENOMEM;
    2159           0 :         return 1;
    2160             :     }
    2161             : 
    2162             :     /* By setting to 0xAA, we expose bugs in
    2163             :     yy_init_globals. Leave at 0x00 for releases. */
    2164           0 :     memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
    2165             : 
    2166           0 :     yyset_extra (yy_user_defined, *ptr_yy_globals);
    2167             : 
    2168           0 :     return yy_init_globals ( *ptr_yy_globals );
    2169             : }
    2170             : 
    2171          48 : static int yy_init_globals (yyscan_t yyscanner)
    2172             : {
    2173          48 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2174             :     /* Initialization is the same as for the non-reentrant scanner.
    2175             :      * This function is called from yylex_destroy(), so don't allocate here.
    2176             :      */
    2177             : 
    2178          48 :     yyg->yy_buffer_stack = NULL;
    2179          48 :     yyg->yy_buffer_stack_top = 0;
    2180          48 :     yyg->yy_buffer_stack_max = 0;
    2181          48 :     yyg->yy_c_buf_p = NULL;
    2182          48 :     yyg->yy_init = 0;
    2183          48 :     yyg->yy_start = 0;
    2184             : 
    2185          48 :     yyg->yy_start_stack_ptr = 0;
    2186          48 :     yyg->yy_start_stack_depth = 0;
    2187          48 :     yyg->yy_start_stack =  NULL;
    2188             : 
    2189             : /* Defined in main.c */
    2190             : #ifdef YY_STDINIT
    2191             :     yyin = stdin;
    2192             :     yyout = stdout;
    2193             : #else
    2194          48 :     yyin = NULL;
    2195          48 :     yyout = NULL;
    2196             : #endif
    2197             : 
    2198             :     /* For future reference: Set errno on error, since we are called by
    2199             :      * yylex_init()
    2200             :      */
    2201          24 :     return 0;
    2202             : }
    2203             : 
    2204             : /* yylex_destroy is for both reentrant and non-reentrant scanners. */
    2205          24 : int yylex_destroy  (yyscan_t yyscanner)
    2206             : {
    2207          24 :     struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2208             : 
    2209             :     /* Pop the buffer stack, destroying each element. */
    2210          24 :         while(YY_CURRENT_BUFFER){
    2211           0 :                 yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
    2212           0 :                 YY_CURRENT_BUFFER_LVALUE = NULL;
    2213           0 :                 yypop_buffer_state(yyscanner);
    2214             :         }
    2215             : 
    2216             :         /* Destroy the stack itself. */
    2217          24 :         yyfree(yyg->yy_buffer_stack , yyscanner);
    2218          24 :         yyg->yy_buffer_stack = NULL;
    2219             : 
    2220             :     /* Destroy the start condition stack. */
    2221          24 :         yyfree( yyg->yy_start_stack , yyscanner );
    2222          24 :         yyg->yy_start_stack = NULL;
    2223             : 
    2224             :     /* Reset the globals. This is important in a non-reentrant scanner so the next time
    2225             :      * yylex() is called, initialization will occur. */
    2226          24 :     yy_init_globals( yyscanner);
    2227             : 
    2228             :     /* Destroy the main struct (reentrant only). */
    2229          24 :     yyfree ( yyscanner , yyscanner );
    2230          24 :     yyscanner = NULL;
    2231          24 :     return 0;
    2232             : }
    2233             : 
    2234             : /*
    2235             :  * Internal utility routines.
    2236             :  */
    2237             : 
    2238             : #ifndef yytext_ptr
    2239             : static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
    2240             : {
    2241             :         struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2242             :         (void)yyg;
    2243             : 
    2244             :         int i;
    2245             :         for ( i = 0; i < n; ++i )
    2246             :                 s1[i] = s2[i];
    2247             : }
    2248             : #endif
    2249             : 
    2250             : #ifdef YY_NEED_STRLEN
    2251             : static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
    2252             : {
    2253             :         int n;
    2254             :         for ( n = 0; s[n]; ++n )
    2255             :                 ;
    2256             : 
    2257             :         return n;
    2258             : }
    2259             : #endif
    2260             : 
    2261          96 : void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
    2262             : {
    2263          96 :         struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2264          96 :         (void)yyg;
    2265          96 :         return malloc(size);
    2266             : }
    2267             : 
    2268           0 : void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
    2269             : {
    2270           0 :         struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2271           0 :         (void)yyg;
    2272             : 
    2273             :         /* The cast to (char *) in the following accommodates both
    2274             :          * implementations that use char* generic pointers, and those
    2275             :          * that use void* generic pointers.  It works with the latter
    2276             :          * because both ANSI C and C++ allow castless assignment from
    2277             :          * any pointer type to void*, and deal with argument conversions
    2278             :          * as though doing an assignment.
    2279             :          */
    2280           0 :         return realloc(ptr, size);
    2281             : }
    2282             : 
    2283         120 : void yyfree (void * ptr , yyscan_t yyscanner)
    2284             : {
    2285         120 :         struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
    2286         120 :         (void)yyg;
    2287         120 :         free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
    2288         120 : }
    2289             : 
    2290             : #define YYTABLES_NAME "yytables"
    2291             : 
    2292             : #line 151 "/builds/eaglegai/samba/libcli/wsp/wsp_aqs_lexer.l"
    2293             : 
    2294             : 
    2295             : 

Generated by: LCOV version 1.14