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