| 1 | /* File created from flex.skl via mkskel.sh */ | 
|---|
| 2 |  | 
|---|
| 3 | #include "flexdef.h" | 
|---|
| 4 |  | 
|---|
| 5 | const char *skel[] = { | 
|---|
| 6 | "%# -*-C-*- vi: set ft=c:", | 
|---|
| 7 | "%# This file is processed in several stages.", | 
|---|
| 8 | "%# Here are the stages, as best as I can describe:", | 
|---|
| 9 | "%#", | 
|---|
| 10 | "%#   1. flex.skl is processed through GNU m4 during the", | 
|---|
| 11 | "%#      pre-compilation stage of flex. Only macros starting", | 
|---|
| 12 | "%#      with `m4_' are processed, and quoting is normal.", | 
|---|
| 13 | "%#", | 
|---|
| 14 | "%#   2. The preprocessed skeleton is translated verbatim into a", | 
|---|
| 15 | "%#      C array, saved as \"skel.c\" and compiled into the flex binary.", | 
|---|
| 16 | "%#", | 
|---|
| 17 | "%#   3. At runtime, the skeleton is generated and filtered (again)", | 
|---|
| 18 | "%#      through m4. Macros beginning with `m4_' will be processed.", | 
|---|
| 19 | "%#      The quoting is \"[[\" and \"]]\" so we don't interfere with", | 
|---|
| 20 | "%#      user code.", | 
|---|
| 21 | "%# ", | 
|---|
| 22 | "%# All generate macros for the m4 stage contain the text \"m4\" or \"M4\"", | 
|---|
| 23 | "%# in them. This is to distinguish them from CPP macros.", | 
|---|
| 24 | "%# The exception to this rule is YY_G, which is an m4 macro, ", | 
|---|
| 25 | "%# but it needs to be remain short because it is used everywhere.", | 
|---|
| 26 | "%#", | 
|---|
| 27 | "/* A lexical scanner generated by flex */", | 
|---|
| 28 | "", | 
|---|
| 29 | "%#  Macros for preproc stage.", | 
|---|
| 30 | "", | 
|---|
| 31 | "", | 
|---|
| 32 | "%# Macros for runtime processing stage.", | 
|---|
| 33 | "m4_changecom", | 
|---|
| 34 | "m4_changequote", | 
|---|
| 35 | "m4_changequote([[, ]])", | 
|---|
| 36 | "", | 
|---|
| 37 | "%# ", | 
|---|
| 38 | "%# Lines in this skeleton starting with a \"%\" character are \"control lines\"", | 
|---|
| 39 | "%# and affect the generation of the scanner. The possible control codes are", | 
|---|
| 40 | "%# listed and processed in misc.c.", | 
|---|
| 41 | "%#", | 
|---|
| 42 | "%#   %#  -  A comment. The current line is omitted from the generated scanner.", | 
|---|
| 43 | "%#   %if-c++-only  -  The following lines are printed for C++ scanners ONLY.", | 
|---|
| 44 | "%#   %if-c-only    -  The following lines are NOT printed for C++ scanners.", | 
|---|
| 45 | "%#   %if-c-or-c++  -  The following lines are printed in BOTH C and C++ scanners.", | 
|---|
| 46 | "%#   %if-reentrant     - Print for reentrant scanners.(push)", | 
|---|
| 47 | "%#   %if-not-reentrant - Print for non-reentrant scanners. (push)", | 
|---|
| 48 | "%#   %if-bison-bridge  - Print for bison-bridge. (push)", | 
|---|
| 49 | "%#   %if-not-bison-bridge  - Print for non-bison-bridge. (push)", | 
|---|
| 50 | "%#   %endif        - pop from the previous if code.", | 
|---|
| 51 | "%#   %%  -  A stop-point, where code is inserted by flex.", | 
|---|
| 52 | "%#          Each stop-point is numbered here and also in the code generator.", | 
|---|
| 53 | "%#          (See gen.c, etc. for details.)", | 
|---|
| 54 | "%#   %not-for-header  -  Begin code that should NOT appear in a \".h\" file.", | 
|---|
| 55 | "%#   %ok-for-header   -  %c and %e are used for building a header file.", | 
|---|
| 56 | "%#   %if-tables-serialization", | 
|---|
| 57 | "%#", | 
|---|
| 58 | "%#   All control-lines EXCEPT comment lines (\"%#\") will be inserted into", | 
|---|
| 59 | "%#   the generated scanner as a C-style comment. This is to aid those who", | 
|---|
| 60 | "%#   edit the skeleton.", | 
|---|
| 61 | "%#", | 
|---|
| 62 | "#define FLEX_SCANNER", | 
|---|
| 63 | "#define YY_FLEX_MAJOR_VERSION 2", | 
|---|
| 64 | "#define YY_FLEX_MINOR_VERSION 5", | 
|---|
| 65 | "#define YY_FLEX_SUBMINOR_VERSION 33", | 
|---|
| 66 | "#if YY_FLEX_SUBMINOR_VERSION > 0", | 
|---|
| 67 | "#define FLEX_BETA", | 
|---|
| 68 | "#endif", | 
|---|
| 69 | "", | 
|---|
| 70 | "%# Some negated symbols", | 
|---|
| 71 | "m4_ifdef( [[M4_YY_IN_HEADER]], , [[m4_define([[M4_YY_NOT_IN_HEADER]], [[]])]])", | 
|---|
| 72 | "m4_ifdef( [[M4_YY_REENTRANT]], , [[m4_define([[M4_YY_NOT_REENTRANT]], [[]])]])", | 
|---|
| 73 | "", | 
|---|
| 74 | "%# This is the m4 way to say \"(stack_used || is_reentrant)", | 
|---|
| 75 | "m4_ifdef( [[M4_YY_STACK_USED]], [[m4_define([[M4_YY_HAS_START_STACK_VARS]])]])", | 
|---|
| 76 | "m4_ifdef( [[M4_YY_REENTRANT]],  [[m4_define([[M4_YY_HAS_START_STACK_VARS]])]])", | 
|---|
| 77 | "", | 
|---|
| 78 | "%# Prefixes.", | 
|---|
| 79 | "%# The complexity here is necessary so that m4 preserves", | 
|---|
| 80 | "%# the argument lists to each C function.", | 
|---|
| 81 | "", | 
|---|
| 82 | "", | 
|---|
| 83 | "m4_ifdef( [[M4_YY_PREFIX]],, [[m4_define([[M4_YY_PREFIX]], [[yy]])]])", | 
|---|
| 84 | "", | 
|---|
| 85 | "", | 
|---|
| 86 | "", | 
|---|
| 87 | "%if-c++-only", | 
|---|
| 88 | "    /* The c++ scanner is a mess. The FlexLexer.h header file relies on the", | 
|---|
| 89 | "     * following macro. This is required in order to pass the c++-multiple-scanners", | 
|---|
| 90 | "     * test in the regression suite. We get reports that it breaks inheritance.", | 
|---|
| 91 | "     * We will address this in a future release of flex, or omit the C++ scanner", | 
|---|
| 92 | "     * altogether.", | 
|---|
| 93 | "     */", | 
|---|
| 94 | "    #define yyFlexLexer M4_YY_PREFIX[[FlexLexer]]", | 
|---|
| 95 | "%endif", | 
|---|
| 96 | "", | 
|---|
| 97 | "%if-c-only", | 
|---|
| 98 | "    m4_define(yy[[_create_buffer]], [[M4_YY_PREFIX[[_create_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 99 | "    m4_define(yy[[_delete_buffer]], [[M4_YY_PREFIX[[_delete_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 100 | "    m4_define(yy[[_scan_buffer]], [[M4_YY_PREFIX[[_scan_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 101 | "    m4_define(yy[[_scan_string]], [[M4_YY_PREFIX[[_scan_string]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 102 | "    m4_define(yy[[_scan_bytes]], [[M4_YY_PREFIX[[_scan_bytes]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 103 | "    m4_define(yy[[_init_buffer]], [[M4_YY_PREFIX[[_init_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 104 | "    m4_define(yy[[_flush_buffer]], [[M4_YY_PREFIX[[_flush_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 105 | "    m4_define(yy[[_load_buffer_state]], [[M4_YY_PREFIX[[_load_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 106 | "    m4_define(yy[[_switch_to_buffer]], [[M4_YY_PREFIX[[_switch_to_buffer]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 107 | "    m4_define(yy[[push_buffer_state]], [[M4_YY_PREFIX[[push_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 108 | "    m4_define(yy[[pop_buffer_state]], [[M4_YY_PREFIX[[pop_buffer_state]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 109 | "    m4_define(yy[[ensure_buffer_stack]], [[M4_YY_PREFIX[[ensure_buffer_stack]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 110 | "    m4_define(yy[[lex]], [[M4_YY_PREFIX[[lex]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 111 | "    m4_define(yy[[restart]], [[M4_YY_PREFIX[[restart]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 112 | "    m4_define(yy[[lex_init]], [[M4_YY_PREFIX[[lex_init]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 113 | "    m4_define(yy[[lex_destroy]], [[M4_YY_PREFIX[[lex_destroy]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 114 | "    m4_define(yy[[get_debug]], [[M4_YY_PREFIX[[get_debug]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 115 | "    m4_define(yy[[set_debug]], [[M4_YY_PREFIX[[set_debug]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 116 | "    m4_define(yy[[get_extra]], [[M4_YY_PREFIX[[get_extra]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 117 | "    m4_define(yy[[set_extra]], [[M4_YY_PREFIX[[set_extra]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 118 | "    m4_define(yy[[get_in]], [[M4_YY_PREFIX[[get_in]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 119 | "    m4_define(yy[[set_in]], [[M4_YY_PREFIX[[set_in]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 120 | "    m4_define(yy[[get_out]], [[M4_YY_PREFIX[[get_out]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 121 | "    m4_define(yy[[set_out]], [[M4_YY_PREFIX[[set_out]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 122 | "    m4_define(yy[[get_leng]], [[M4_YY_PREFIX[[get_leng]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 123 | "    m4_define(yy[[get_text]], [[M4_YY_PREFIX[[get_text]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 124 | "    m4_define(yy[[get_lineno]], [[M4_YY_PREFIX[[get_lineno]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 125 | "    m4_define(yy[[set_lineno]], [[M4_YY_PREFIX[[set_lineno]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 126 | "    m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 127 | "    [[", | 
|---|
| 128 | "        m4_define(yy[[get_column]], [[M4_YY_PREFIX[[get_column]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 129 | "        m4_define(yy[[set_column]], [[M4_YY_PREFIX[[set_column]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 130 | "    ]])", | 
|---|
| 131 | "    m4_define(yy[[wrap]], [[M4_YY_PREFIX[[wrap]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 132 | "%endif", | 
|---|
| 133 | "", | 
|---|
| 134 | "m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 135 | "[[", | 
|---|
| 136 | "    m4_define(yy[[get_lval]], [[M4_YY_PREFIX[[get_lval]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 137 | "    m4_define(yy[[set_lval]], [[M4_YY_PREFIX[[set_lval]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 138 | "]])", | 
|---|
| 139 | "", | 
|---|
| 140 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 141 | "[[", | 
|---|
| 142 | "    m4_define(yy[[get_lloc]], [[M4_YY_PREFIX[[get_lloc]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 143 | "    m4_define(yy[[set_lloc]], [[M4_YY_PREFIX[[set_lloc]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 144 | "]])", | 
|---|
| 145 | "", | 
|---|
| 146 | "", | 
|---|
| 147 | "    m4_define(yy[[alloc]], [[M4_YY_PREFIX[[alloc]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 148 | "    m4_define(yy[[realloc]], [[M4_YY_PREFIX[[realloc]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 149 | "    m4_define(yy[[free]], [[M4_YY_PREFIX[[free]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 150 | "", | 
|---|
| 151 | "%if-c-only", | 
|---|
| 152 | "m4_ifdef( [[M4_YY_NOT_REENTRANT]],", | 
|---|
| 153 | "[[", | 
|---|
| 154 | "    m4_define(yy[[text]], [[M4_YY_PREFIX[[text]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 155 | "    m4_define(yy[[leng]], [[M4_YY_PREFIX[[leng]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 156 | "    m4_define(yy[[in]], [[M4_YY_PREFIX[[in]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 157 | "    m4_define(yy[[out]], [[M4_YY_PREFIX[[out]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 158 | "    m4_define(yy[[_flex_debug]], [[M4_YY_PREFIX[[_flex_debug]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 159 | "    m4_define(yy[[lineno]], [[M4_YY_PREFIX[[lineno]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 160 | "]])", | 
|---|
| 161 | "%endif", | 
|---|
| 162 | "", | 
|---|
| 163 | "", | 
|---|
| 164 | "m4_ifdef( [[M4_YY_TABLES_EXTERNAL]],", | 
|---|
| 165 | "[[", | 
|---|
| 166 | "    m4_define(yy[[tables_fload]], [[M4_YY_PREFIX[[tables_fload]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 167 | "    m4_define(yy[[tables_destroy]], [[M4_YY_PREFIX[[tables_destroy]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 168 | "    m4_define(yy[[TABLES_NAME]], [[M4_YY_PREFIX[[TABLES_NAME]]m4_ifelse($#,0,,[[($@)]])]])", | 
|---|
| 169 | "]])", | 
|---|
| 170 | "", | 
|---|
| 171 | "/* First, we deal with  platform-specific or compiler-specific issues. */", | 
|---|
| 172 | "", | 
|---|
| 173 | "/* begin standard C headers. */", | 
|---|
| 174 | "%if-c-only", | 
|---|
| 175 | "#include <stdio.h>", | 
|---|
| 176 | "#include <string.h>", | 
|---|
| 177 | "#include <errno.h>", | 
|---|
| 178 | "#include <stdlib.h>", | 
|---|
| 179 | "%endif", | 
|---|
| 180 | "", | 
|---|
| 181 | "%if-tables-serialization", | 
|---|
| 182 | "#include <sys/types.h>", | 
|---|
| 183 | "#include <netinet/in.h>", | 
|---|
| 184 | "%endif", | 
|---|
| 185 | "/* end standard C headers. */", | 
|---|
| 186 | "", | 
|---|
| 187 | "%if-c-or-c++", | 
|---|
| 188 | "/* flex integer type definitions */", | 
|---|
| 189 | "", | 
|---|
| 190 | "#ifndef FLEXINT_H", | 
|---|
| 191 | "#define FLEXINT_H", | 
|---|
| 192 | "", | 
|---|
| 193 | "/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */", | 
|---|
| 194 | "", | 
|---|
| 195 | "#if __STDC_VERSION__ >= 199901L", | 
|---|
| 196 | "", | 
|---|
| 197 | "/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,", | 
|---|
| 198 | " * if you want the limit (max/min) macros for int types. ", | 
|---|
| 199 | " */", | 
|---|
| 200 | "#ifndef __STDC_LIMIT_MACROS", | 
|---|
| 201 | "#define __STDC_LIMIT_MACROS 1", | 
|---|
| 202 | "#endif", | 
|---|
| 203 | "", | 
|---|
| 204 | "#include <inttypes.h>", | 
|---|
| 205 | "typedef int8_t flex_int8_t;", | 
|---|
| 206 | "typedef uint8_t flex_uint8_t;", | 
|---|
| 207 | "typedef int16_t flex_int16_t;", | 
|---|
| 208 | "typedef uint16_t flex_uint16_t;", | 
|---|
| 209 | "typedef int32_t flex_int32_t;", | 
|---|
| 210 | "typedef uint32_t flex_uint32_t;", | 
|---|
| 211 | "#else", | 
|---|
| 212 | "typedef signed char flex_int8_t;", | 
|---|
| 213 | "typedef short int flex_int16_t;", | 
|---|
| 214 | "typedef int flex_int32_t;", | 
|---|
| 215 | "typedef unsigned char flex_uint8_t; ", | 
|---|
| 216 | "typedef unsigned short int flex_uint16_t;", | 
|---|
| 217 | "typedef unsigned int flex_uint32_t;", | 
|---|
| 218 | "#endif /* ! C99 */", | 
|---|
| 219 | "", | 
|---|
| 220 | "/* Limits of integral types. */", | 
|---|
| 221 | "#ifndef INT8_MIN", | 
|---|
| 222 | "#define INT8_MIN               (-128)", | 
|---|
| 223 | "#endif", | 
|---|
| 224 | "#ifndef INT16_MIN", | 
|---|
| 225 | "#define INT16_MIN              (-32767-1)", | 
|---|
| 226 | "#endif", | 
|---|
| 227 | "#ifndef INT32_MIN", | 
|---|
| 228 | "#define INT32_MIN              (-2147483647-1)", | 
|---|
| 229 | "#endif", | 
|---|
| 230 | "#ifndef INT8_MAX", | 
|---|
| 231 | "#define INT8_MAX               (127)", | 
|---|
| 232 | "#endif", | 
|---|
| 233 | "#ifndef INT16_MAX", | 
|---|
| 234 | "#define INT16_MAX              (32767)", | 
|---|
| 235 | "#endif", | 
|---|
| 236 | "#ifndef INT32_MAX", | 
|---|
| 237 | "#define INT32_MAX              (2147483647)", | 
|---|
| 238 | "#endif", | 
|---|
| 239 | "#ifndef UINT8_MAX", | 
|---|
| 240 | "#define UINT8_MAX              (255U)", | 
|---|
| 241 | "#endif", | 
|---|
| 242 | "#ifndef UINT16_MAX", | 
|---|
| 243 | "#define UINT16_MAX             (65535U)", | 
|---|
| 244 | "#endif", | 
|---|
| 245 | "#ifndef UINT32_MAX", | 
|---|
| 246 | "#define UINT32_MAX             (4294967295U)", | 
|---|
| 247 | "#endif", | 
|---|
| 248 | "", | 
|---|
| 249 | "", | 
|---|
| 250 | "#endif /* ! FLEXINT_H */", | 
|---|
| 251 | "", | 
|---|
| 252 | "%endif", | 
|---|
| 253 | "", | 
|---|
| 254 | "%if-c++-only", | 
|---|
| 255 | "/* begin standard C++ headers. */", | 
|---|
| 256 | "#include <iostream> ", | 
|---|
| 257 | "#include <errno.h>", | 
|---|
| 258 | "#include <cstdlib>", | 
|---|
| 259 | "#include <cstring>", | 
|---|
| 260 | "/* end standard C++ headers. */", | 
|---|
| 261 | "%endif", | 
|---|
| 262 | "", | 
|---|
| 263 | "#ifdef __cplusplus", | 
|---|
| 264 | "", | 
|---|
| 265 | "/* The \"const\" storage-class-modifier is valid. */", | 
|---|
| 266 | "#define YY_USE_CONST", | 
|---|
| 267 | "", | 
|---|
| 268 | "#else        /* ! __cplusplus */", | 
|---|
| 269 | "", | 
|---|
| 270 | "#if __STDC__", | 
|---|
| 271 | "", | 
|---|
| 272 | "#define YY_USE_CONST", | 
|---|
| 273 | "", | 
|---|
| 274 | "#endif       /* __STDC__ */", | 
|---|
| 275 | "#endif       /* ! __cplusplus */", | 
|---|
| 276 | "", | 
|---|
| 277 | "#ifdef YY_USE_CONST", | 
|---|
| 278 | "#define yyconst const", | 
|---|
| 279 | "#else", | 
|---|
| 280 | "#define yyconst", | 
|---|
| 281 | "#endif", | 
|---|
| 282 | "", | 
|---|
| 283 | "%# For compilers that can not handle prototypes.", | 
|---|
| 284 | "%# e.g.,", | 
|---|
| 285 | "%# The function prototype", | 
|---|
| 286 | "%#    int foo(int x, char* y);", | 
|---|
| 287 | "%# ", | 
|---|
| 288 | "%# ...should be written as", | 
|---|
| 289 | "%#    int foo M4_YY_PARAMS(int x, char* y);", | 
|---|
| 290 | "%# ", | 
|---|
| 291 | "%# ...which could possibly generate", | 
|---|
| 292 | "%#    int foo ();", | 
|---|
| 293 | "%# ", | 
|---|
| 294 | "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_PROTOS]],", | 
|---|
| 295 | "[[", | 
|---|
| 296 | "    m4_define( [[M4_YY_PARAMS]], [[()]])", | 
|---|
| 297 | "]],", | 
|---|
| 298 | "[[", | 
|---|
| 299 | "    m4_define( [[M4_YY_PARAMS]], [[($*)]])", | 
|---|
| 300 | "]])", | 
|---|
| 301 | "", | 
|---|
| 302 | "%not-for-header", | 
|---|
| 303 | "/* Returned upon end-of-file. */", | 
|---|
| 304 | "#define YY_NULL 0", | 
|---|
| 305 | "%ok-for-header", | 
|---|
| 306 | "", | 
|---|
| 307 | "%not-for-header", | 
|---|
| 308 | "/* Promotes a possibly negative, possibly signed char to an unsigned", | 
|---|
| 309 | " * integer for use as an array index.  If the signed char is negative,", | 
|---|
| 310 | " * we want to instead treat it as an 8-bit unsigned char, hence the", | 
|---|
| 311 | " * double cast.", | 
|---|
| 312 | " */", | 
|---|
| 313 | "#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)", | 
|---|
| 314 | "%ok-for-header", | 
|---|
| 315 | "", | 
|---|
| 316 | "", | 
|---|
| 317 | "", | 
|---|
| 318 | "%if-reentrant", | 
|---|
| 319 | "", | 
|---|
| 320 | "/* An opaque pointer. */", | 
|---|
| 321 | "#ifndef YY_TYPEDEF_YY_SCANNER_T", | 
|---|
| 322 | "#define YY_TYPEDEF_YY_SCANNER_T", | 
|---|
| 323 | "typedef void* yyscan_t;", | 
|---|
| 324 | "#endif", | 
|---|
| 325 | "", | 
|---|
| 326 | "%# Declare yyguts variable", | 
|---|
| 327 | "m4_define( [[M4_YY_DECL_GUTS_VAR]], [[struct yyguts_t * yyg = (struct yyguts_t*)yyscanner]])", | 
|---|
| 328 | "%# For use wherever a Global is accessed or assigned.", | 
|---|
| 329 | "m4_define( [[YY_G]], [[yyg->$1]])", | 
|---|
| 330 | "", | 
|---|
| 331 | "%# For use in function prototypes to append the additional argument.", | 
|---|
| 332 | "m4_define( [[M4_YY_PROTO_LAST_ARG]],  [[, yyscan_t yyscanner]])", | 
|---|
| 333 | "m4_define( [[M4_YY_PROTO_ONLY_ARG]],  [[yyscan_t yyscanner]])", | 
|---|
| 334 | "", | 
|---|
| 335 | "%# For use in function definitions to append the additional argument.", | 
|---|
| 336 | "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", | 
|---|
| 337 | "[[", | 
|---|
| 338 | "    m4_define( [[M4_YY_DEF_LAST_ARG]], [[, yyscanner]])", | 
|---|
| 339 | "    m4_define( [[M4_YY_DEF_ONLY_ARG]], [[yyscanner]])", | 
|---|
| 340 | "]],", | 
|---|
| 341 | "[[", | 
|---|
| 342 | "    m4_define( [[M4_YY_DEF_LAST_ARG]],  [[, yyscan_t yyscanner]])", | 
|---|
| 343 | "    m4_define( [[M4_YY_DEF_ONLY_ARG]],  [[yyscan_t yyscanner]])", | 
|---|
| 344 | "]])", | 
|---|
| 345 | "m4_define( [[M4_YY_DECL_LAST_ARG]],  [[yyscan_t yyscanner;]])", | 
|---|
| 346 | "", | 
|---|
| 347 | "%# For use in function calls to pass the additional argument.", | 
|---|
| 348 | "m4_define( [[M4_YY_CALL_LAST_ARG]], [[, yyscanner]])", | 
|---|
| 349 | "m4_define( [[M4_YY_CALL_ONLY_ARG]], [[yyscanner]])", | 
|---|
| 350 | "", | 
|---|
| 351 | "%# For use in function documentation to adjust for additional argument.", | 
|---|
| 352 | "m4_define( [[M4_YY_DOC_PARAM]], [[@param yyscanner The scanner object.]])", | 
|---|
| 353 | "", | 
|---|
| 354 | "/* For convenience, these vars (plus the bison vars far below)", | 
|---|
| 355 | "   are macros in the reentrant scanner. */", | 
|---|
| 356 | "#define yyin YY_G(yyin_r)", | 
|---|
| 357 | "#define yyout YY_G(yyout_r)", | 
|---|
| 358 | "#define yyextra YY_G(yyextra_r)", | 
|---|
| 359 | "#define yyleng YY_G(yyleng_r)", | 
|---|
| 360 | "#define yytext YY_G(yytext_r)", | 
|---|
| 361 | "#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)", | 
|---|
| 362 | "#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)", | 
|---|
| 363 | "#define yy_flex_debug YY_G(yy_flex_debug_r)", | 
|---|
| 364 | "", | 
|---|
| 365 | "m4_define( [[M4_YY_INCR_LINENO]],", | 
|---|
| 366 | "[[   ", | 
|---|
| 367 | "    do{ yylineno++;", | 
|---|
| 368 | "        yycolumn=0;", | 
|---|
| 369 | "    }while(0)", | 
|---|
| 370 | "]])", | 
|---|
| 371 | "", | 
|---|
| 372 | "int yylex_init M4_YY_PARAMS(yyscan_t* scanner);", | 
|---|
| 373 | "%endif", | 
|---|
| 374 | "", | 
|---|
| 375 | "", | 
|---|
| 376 | "", | 
|---|
| 377 | "%if-not-reentrant", | 
|---|
| 378 | "", | 
|---|
| 379 | "m4_define( [[M4_YY_INCR_LINENO]],", | 
|---|
| 380 | "[[   ", | 
|---|
| 381 | "    yylineno++;", | 
|---|
| 382 | "]])", | 
|---|
| 383 | "", | 
|---|
| 384 | "%# Define these macros to be no-ops.", | 
|---|
| 385 | "m4_define( [[M4_YY_DECL_GUTS_VAR]], [[m4_dnl]])", | 
|---|
| 386 | "m4_define( [[YY_G]], [[($1)]])", | 
|---|
| 387 | "m4_define( [[M4_YY_PROTO_LAST_ARG]])", | 
|---|
| 388 | "m4_define( [[M4_YY_PROTO_ONLY_ARG]],  [[void]])", | 
|---|
| 389 | "m4_define( [[M4_YY_DEF_LAST_ARG]])", | 
|---|
| 390 | "", | 
|---|
| 391 | "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", | 
|---|
| 392 | "[[", | 
|---|
| 393 | "    m4_define( [[M4_YY_DEF_ONLY_ARG]])", | 
|---|
| 394 | "]],", | 
|---|
| 395 | "[[", | 
|---|
| 396 | "    m4_define( [[M4_YY_DEF_ONLY_ARG]],  [[void]])", | 
|---|
| 397 | "]])", | 
|---|
| 398 | "m4_define([[M4_YY_DECL_LAST_ARG]])", | 
|---|
| 399 | "m4_define([[M4_YY_CALL_LAST_ARG]])", | 
|---|
| 400 | "m4_define([[M4_YY_CALL_ONLY_ARG]])", | 
|---|
| 401 | "m4_define( [[M4_YY_DOC_PARAM]], [[]])", | 
|---|
| 402 | "", | 
|---|
| 403 | "%endif", | 
|---|
| 404 | "", | 
|---|
| 405 | "", | 
|---|
| 406 | "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", | 
|---|
| 407 | "[[", | 
|---|
| 408 | "%# For compilers that need traditional function definitions.", | 
|---|
| 409 | "%# e.g.,", | 
|---|
| 410 | "%# The function prototype taking 2 arguments", | 
|---|
| 411 | "%#    int foo (int x, char* y)", | 
|---|
| 412 | "%#", | 
|---|
| 413 | "%# ...should be written as", | 
|---|
| 414 | "%#    int foo YYFARGS2(int,x, char*,y)", | 
|---|
| 415 | "%#", | 
|---|
| 416 | "%# ...which could possibly generate", | 
|---|
| 417 | "%#    int foo (x,y,yyscanner)", | 
|---|
| 418 | "%#        int x;", | 
|---|
| 419 | "%#        char * y;", | 
|---|
| 420 | "%#        yyscan_t yyscanner;", | 
|---|
| 421 | "%#", | 
|---|
| 422 | "%# Generate traditional function defs", | 
|---|
| 423 | "    m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG) [[\\]]", | 
|---|
| 424 | "        M4_YY_DECL_LAST_ARG]])", | 
|---|
| 425 | "    m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG) [[\\]]", | 
|---|
| 426 | "        $1 $2; [[\\]]", | 
|---|
| 427 | "        M4_YY_DECL_LAST_ARG]])", | 
|---|
| 428 | "    m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG) [[\\]]", | 
|---|
| 429 | "        $1 $2; [[\\]]", | 
|---|
| 430 | "        $3 $4; [[\\]]", | 
|---|
| 431 | "        M4_YY_DECL_LAST_ARG]])", | 
|---|
| 432 | "    m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG) [[\\]]", | 
|---|
| 433 | "        $1 $2; [[\\]]", | 
|---|
| 434 | "        $3 $4; [[\\]]", | 
|---|
| 435 | "        $5 $6; [[\\]]", | 
|---|
| 436 | "        M4_YY_DECL_LAST_ARG]])", | 
|---|
| 437 | "]],", | 
|---|
| 438 | "[[", | 
|---|
| 439 | "%# Generate C99 function defs.", | 
|---|
| 440 | "    m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG)]])", | 
|---|
| 441 | "    m4_define( [[YYFARGS1]], [[($1 $2 M4_YY_DEF_LAST_ARG)]])", | 
|---|
| 442 | "    m4_define( [[YYFARGS2]], [[($1 $2, $3 $4 M4_YY_DEF_LAST_ARG)]])", | 
|---|
| 443 | "    m4_define( [[YYFARGS3]], [[($1 $2, $3 $4, $5 $6 M4_YY_DEF_LAST_ARG)]])", | 
|---|
| 444 | "]])", | 
|---|
| 445 | "", | 
|---|
| 446 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 447 | "[[", | 
|---|
| 448 | "/* Enter a start condition.  This macro really ought to take a parameter,", | 
|---|
| 449 | " * but we do it the disgusting crufty way forced on us by the ()-less", | 
|---|
| 450 | " * definition of BEGIN.", | 
|---|
| 451 | " */", | 
|---|
| 452 | "#define BEGIN YY_G(yy_start) = 1 + 2 *", | 
|---|
| 453 | "]])", | 
|---|
| 454 | "", | 
|---|
| 455 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 456 | "[[", | 
|---|
| 457 | "/* Translate the current start state into a value that can be later handed", | 
|---|
| 458 | " * to BEGIN to return to the state.  The YYSTATE alias is for lex", | 
|---|
| 459 | " * compatibility.", | 
|---|
| 460 | " */", | 
|---|
| 461 | "#define YY_START ((YY_G(yy_start) - 1) / 2)", | 
|---|
| 462 | "#define YYSTATE YY_START", | 
|---|
| 463 | "]])", | 
|---|
| 464 | "", | 
|---|
| 465 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 466 | "[[", | 
|---|
| 467 | "/* Action number for EOF rule of a given start state. */", | 
|---|
| 468 | "#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)", | 
|---|
| 469 | "]])", | 
|---|
| 470 | "", | 
|---|
| 471 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 472 | "[[", | 
|---|
| 473 | "/* Special action meaning \"start processing a new file\". */", | 
|---|
| 474 | "#define YY_NEW_FILE yyrestart( yyin M4_YY_CALL_LAST_ARG )", | 
|---|
| 475 | "]])", | 
|---|
| 476 | "", | 
|---|
| 477 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 478 | "[[", | 
|---|
| 479 | "#define YY_END_OF_BUFFER_CHAR 0", | 
|---|
| 480 | "]])", | 
|---|
| 481 | "", | 
|---|
| 482 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 483 | "[[", | 
|---|
| 484 | "/* Size of default input buffer. */", | 
|---|
| 485 | "#ifndef YY_BUF_SIZE", | 
|---|
| 486 | "#define YY_BUF_SIZE 16384", | 
|---|
| 487 | "#endif", | 
|---|
| 488 | "", | 
|---|
| 489 | "/* The state buf must be large enough to hold one state per character in the main buffer.", | 
|---|
| 490 | " */", | 
|---|
| 491 | "#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))", | 
|---|
| 492 | "]])", | 
|---|
| 493 | "", | 
|---|
| 494 | "", | 
|---|
| 495 | "#ifndef YY_TYPEDEF_YY_BUFFER_STATE", | 
|---|
| 496 | "#define YY_TYPEDEF_YY_BUFFER_STATE", | 
|---|
| 497 | "typedef struct yy_buffer_state *YY_BUFFER_STATE;", | 
|---|
| 498 | "#endif", | 
|---|
| 499 | "", | 
|---|
| 500 | "%if-not-reentrant", | 
|---|
| 501 | "extern int yyleng;", | 
|---|
| 502 | "%endif", | 
|---|
| 503 | "", | 
|---|
| 504 | "%if-c-only", | 
|---|
| 505 | "%if-not-reentrant", | 
|---|
| 506 | "extern FILE *yyin, *yyout;", | 
|---|
| 507 | "%endif", | 
|---|
| 508 | "%endif", | 
|---|
| 509 | "", | 
|---|
| 510 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 511 | "[[", | 
|---|
| 512 | "#define EOB_ACT_CONTINUE_SCAN 0", | 
|---|
| 513 | "#define EOB_ACT_END_OF_FILE 1", | 
|---|
| 514 | "#define EOB_ACT_LAST_MATCH 2", | 
|---|
| 515 | "]])", | 
|---|
| 516 | "", | 
|---|
| 517 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 518 | "[[", | 
|---|
| 519 | "    m4_ifdef( [[M4_YY_USE_LINENO]],", | 
|---|
| 520 | "    [[", | 
|---|
| 521 | "    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires", | 
|---|
| 522 | "     *       access to the local variable yy_act. Since yyless() is a macro, it would break", | 
|---|
| 523 | "     *       existing scanners that call yyless() from OUTSIDE yylex. ", | 
|---|
| 524 | "     *       One obvious solution it to make yy_act a global. I tried that, and saw", | 
|---|
| 525 | "     *       a 5% performance hit in a non-yylineno scanner, because yy_act is", | 
|---|
| 526 | "     *       normally declared as a register variable-- so it is not worth it.", | 
|---|
| 527 | "     */", | 
|---|
| 528 | "    #define  YY_LESS_LINENO(n) \\", | 
|---|
| 529 | "            do { \\", | 
|---|
| 530 | "                int yyl;\\", | 
|---|
| 531 | "                for ( yyl = n; yyl < yyleng; ++yyl )\\", | 
|---|
| 532 | "                    if ( yytext[yyl] == '\\n' )\\", | 
|---|
| 533 | "                        --yylineno;\\", | 
|---|
| 534 | "            }while(0)", | 
|---|
| 535 | "    ]],", | 
|---|
| 536 | "    [[", | 
|---|
| 537 | "    #define YY_LESS_LINENO(n)", | 
|---|
| 538 | "    ]])", | 
|---|
| 539 | "]])", | 
|---|
| 540 | "", | 
|---|
| 541 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 542 | "[[", | 
|---|
| 543 | "/* Return all but the first \"n\" matched characters back to the input stream. */", | 
|---|
| 544 | "#define yyless(n) \\", | 
|---|
| 545 | "     do \\", | 
|---|
| 546 | "             { \\", | 
|---|
| 547 | "             /* Undo effects of setting up yytext. */ \\", | 
|---|
| 548 | "        int yyless_macro_arg = (n); \\", | 
|---|
| 549 | "        YY_LESS_LINENO(yyless_macro_arg);\\", | 
|---|
| 550 | "             *yy_cp = YY_G(yy_hold_char); \\", | 
|---|
| 551 | "             YY_RESTORE_YY_MORE_OFFSET \\", | 
|---|
| 552 | "             YY_G(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \\", | 
|---|
| 553 | "             YY_DO_BEFORE_ACTION; /* set up yytext again */ \\", | 
|---|
| 554 | "             } \\", | 
|---|
| 555 | "     while ( 0 )", | 
|---|
| 556 | "]])", | 
|---|
| 557 | "", | 
|---|
| 558 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 559 | "[[", | 
|---|
| 560 | "#define unput(c) yyunput( c, YY_G(yytext_ptr) M4_YY_CALL_LAST_ARG )", | 
|---|
| 561 | "]])", | 
|---|
| 562 | "", | 
|---|
| 563 | "/* The following is because we cannot portably get our hands on size_t", | 
|---|
| 564 | " * (without autoconf's help, which isn't available because we want", | 
|---|
| 565 | " * flex-generated scanners to compile on their own).", | 
|---|
| 566 | " */", | 
|---|
| 567 | "", | 
|---|
| 568 | "#ifndef YY_TYPEDEF_YY_SIZE_T", | 
|---|
| 569 | "#define YY_TYPEDEF_YY_SIZE_T", | 
|---|
| 570 | "typedef unsigned int yy_size_t;", | 
|---|
| 571 | "#endif", | 
|---|
| 572 | "", | 
|---|
| 573 | "#ifndef YY_STRUCT_YY_BUFFER_STATE", | 
|---|
| 574 | "#define YY_STRUCT_YY_BUFFER_STATE", | 
|---|
| 575 | "struct yy_buffer_state", | 
|---|
| 576 | "     {", | 
|---|
| 577 | "%if-c-only", | 
|---|
| 578 | "     FILE *yy_input_file;", | 
|---|
| 579 | "%endif", | 
|---|
| 580 | "", | 
|---|
| 581 | "%if-c++-only", | 
|---|
| 582 | "     std::istream* yy_input_file;", | 
|---|
| 583 | "%endif", | 
|---|
| 584 | "", | 
|---|
| 585 | "", | 
|---|
| 586 | "     char *yy_ch_buf;                /* input buffer */", | 
|---|
| 587 | "     char *yy_buf_pos;               /* current position in input buffer */", | 
|---|
| 588 | "", | 
|---|
| 589 | "     /* Size of input buffer in bytes, not including room for EOB", | 
|---|
| 590 | "      * characters.", | 
|---|
| 591 | "      */", | 
|---|
| 592 | "     yy_size_t yy_buf_size;", | 
|---|
| 593 | "", | 
|---|
| 594 | "     /* Number of characters read into yy_ch_buf, not including EOB", | 
|---|
| 595 | "      * characters.", | 
|---|
| 596 | "      */", | 
|---|
| 597 | "     int yy_n_chars;", | 
|---|
| 598 | "", | 
|---|
| 599 | "     /* Whether we \"own\" the buffer - i.e., we know we created it,", | 
|---|
| 600 | "      * and can realloc() it to grow it, and should free() it to", | 
|---|
| 601 | "      * delete it.", | 
|---|
| 602 | "      */", | 
|---|
| 603 | "     int yy_is_our_buffer;", | 
|---|
| 604 | "", | 
|---|
| 605 | "     /* Whether this is an \"interactive\" input source; if so, and", | 
|---|
| 606 | "      * if we're using stdio for input, then we want to use getc()", | 
|---|
| 607 | "      * instead of fread(), to make sure we stop fetching input after", | 
|---|
| 608 | "      * each newline.", | 
|---|
| 609 | "      */", | 
|---|
| 610 | "     int yy_is_interactive;", | 
|---|
| 611 | "", | 
|---|
| 612 | "     /* Whether we're considered to be at the beginning of a line.", | 
|---|
| 613 | "      * If so, '^' rules will be active on the next match, otherwise", | 
|---|
| 614 | "      * not.", | 
|---|
| 615 | "      */", | 
|---|
| 616 | "     int yy_at_bol;", | 
|---|
| 617 | "", | 
|---|
| 618 | "    int yy_bs_lineno; /**< The line count. */", | 
|---|
| 619 | "    int yy_bs_column; /**< The column count. */", | 
|---|
| 620 | "    ", | 
|---|
| 621 | "", | 
|---|
| 622 | "     /* Whether to try to fill the input buffer when we reach the", | 
|---|
| 623 | "      * end of it.", | 
|---|
| 624 | "      */", | 
|---|
| 625 | "     int yy_fill_buffer;", | 
|---|
| 626 | "", | 
|---|
| 627 | "     int yy_buffer_status;", | 
|---|
| 628 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 629 | "[[", | 
|---|
| 630 | "#define YY_BUFFER_NEW 0", | 
|---|
| 631 | "#define YY_BUFFER_NORMAL 1", | 
|---|
| 632 | "     /* When an EOF's been seen but there's still some text to process", | 
|---|
| 633 | "      * then we mark the buffer as YY_EOF_PENDING, to indicate that we", | 
|---|
| 634 | "      * shouldn't try reading from the input source any more.  We might", | 
|---|
| 635 | "      * still have a bunch of tokens to match, though, because of", | 
|---|
| 636 | "      * possible backing-up.", | 
|---|
| 637 | "      *", | 
|---|
| 638 | "      * When we actually see the EOF, we change the status to \"new\"", | 
|---|
| 639 | "      * (via yyrestart()), so that the user can continue scanning by", | 
|---|
| 640 | "      * just pointing yyin at a new input file.", | 
|---|
| 641 | "      */", | 
|---|
| 642 | "#define YY_BUFFER_EOF_PENDING 2", | 
|---|
| 643 | "]])", | 
|---|
| 644 | "     };", | 
|---|
| 645 | "#endif /* !YY_STRUCT_YY_BUFFER_STATE */", | 
|---|
| 646 | "", | 
|---|
| 647 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 648 | "%not-for-header", | 
|---|
| 649 | "%if-not-reentrant", | 
|---|
| 650 | "", | 
|---|
| 651 | "/* Stack of input buffers. */", | 
|---|
| 652 | "static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */", | 
|---|
| 653 | "static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */", | 
|---|
| 654 | "static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */", | 
|---|
| 655 | "%endif", | 
|---|
| 656 | "%ok-for-header", | 
|---|
| 657 | "%endif", | 
|---|
| 658 | "", | 
|---|
| 659 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 660 | "[[", | 
|---|
| 661 | "/* We provide macros for accessing buffer states in case in the", | 
|---|
| 662 | " * future we want to put the buffer states in a more general", | 
|---|
| 663 | " * \"scanner state\".", | 
|---|
| 664 | " *", | 
|---|
| 665 | " * Returns the top of the stack, or NULL.", | 
|---|
| 666 | " */", | 
|---|
| 667 | "#define YY_CURRENT_BUFFER ( YY_G(yy_buffer_stack) \\", | 
|---|
| 668 | "                          ? YY_G(yy_buffer_stack)[YY_G(yy_buffer_stack_top)] \\", | 
|---|
| 669 | "                          : NULL)", | 
|---|
| 670 | "]])", | 
|---|
| 671 | "", | 
|---|
| 672 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 673 | "[[", | 
|---|
| 674 | "/* Same as previous macro, but useful when we know that the buffer stack is not", | 
|---|
| 675 | " * NULL or when we need an lvalue. For internal use only.", | 
|---|
| 676 | " */", | 
|---|
| 677 | "#define YY_CURRENT_BUFFER_LVALUE YY_G(yy_buffer_stack)[YY_G(yy_buffer_stack_top)]", | 
|---|
| 678 | "]])", | 
|---|
| 679 | "", | 
|---|
| 680 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 681 | "", | 
|---|
| 682 | "%if-not-reentrant", | 
|---|
| 683 | "%not-for-header", | 
|---|
| 684 | "/* yy_hold_char holds the character lost when yytext is formed. */", | 
|---|
| 685 | "static char yy_hold_char;", | 
|---|
| 686 | "static int yy_n_chars;               /* number of characters read into yy_ch_buf */", | 
|---|
| 687 | "int yyleng;", | 
|---|
| 688 | "", | 
|---|
| 689 | "/* Points to current character in buffer. */", | 
|---|
| 690 | "static char *yy_c_buf_p = (char *) 0;", | 
|---|
| 691 | "static int yy_init = 0;              /* whether we need to initialize */", | 
|---|
| 692 | "static int yy_start = 0;     /* start state number */", | 
|---|
| 693 | "", | 
|---|
| 694 | "/* Flag which is used to allow yywrap()'s to do buffer switches", | 
|---|
| 695 | " * instead of setting up a fresh yyin.  A bit of a hack ...", | 
|---|
| 696 | " */", | 
|---|
| 697 | "static int yy_did_buffer_switch_on_eof;", | 
|---|
| 698 | "%ok-for-header", | 
|---|
| 699 | "%endif", | 
|---|
| 700 | "", | 
|---|
| 701 | "void yyrestart M4_YY_PARAMS( FILE *input_file M4_YY_PROTO_LAST_ARG );", | 
|---|
| 702 | "void yy_switch_to_buffer M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", | 
|---|
| 703 | "YY_BUFFER_STATE yy_create_buffer M4_YY_PARAMS( FILE *file, int size M4_YY_PROTO_LAST_ARG );", | 
|---|
| 704 | "void yy_delete_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", | 
|---|
| 705 | "void yy_flush_buffer M4_YY_PARAMS( YY_BUFFER_STATE b M4_YY_PROTO_LAST_ARG );", | 
|---|
| 706 | "void yypush_buffer_state M4_YY_PARAMS( YY_BUFFER_STATE new_buffer M4_YY_PROTO_LAST_ARG );", | 
|---|
| 707 | "void yypop_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 708 | "", | 
|---|
| 709 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 710 | "[[", | 
|---|
| 711 | "static void yyensure_buffer_stack M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 712 | "static void yy_load_buffer_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 713 | "static void yy_init_buffer M4_YY_PARAMS( YY_BUFFER_STATE b, FILE *file M4_YY_PROTO_LAST_ARG );", | 
|---|
| 714 | "]])", | 
|---|
| 715 | "", | 
|---|
| 716 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 717 | "[[", | 
|---|
| 718 | "#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG)", | 
|---|
| 719 | "]])", | 
|---|
| 720 | "", | 
|---|
| 721 | "YY_BUFFER_STATE yy_scan_buffer M4_YY_PARAMS( char *base, yy_size_t size M4_YY_PROTO_LAST_ARG );", | 
|---|
| 722 | "YY_BUFFER_STATE yy_scan_string M4_YY_PARAMS( yyconst char *yy_str M4_YY_PROTO_LAST_ARG );", | 
|---|
| 723 | "YY_BUFFER_STATE yy_scan_bytes M4_YY_PARAMS( yyconst char *bytes, int len M4_YY_PROTO_LAST_ARG );", | 
|---|
| 724 | "", | 
|---|
| 725 | "%endif", | 
|---|
| 726 | "", | 
|---|
| 727 | "void *yyalloc M4_YY_PARAMS( yy_size_t M4_YY_PROTO_LAST_ARG );", | 
|---|
| 728 | "void *yyrealloc M4_YY_PARAMS( void *, yy_size_t M4_YY_PROTO_LAST_ARG );", | 
|---|
| 729 | "void yyfree M4_YY_PARAMS( void * M4_YY_PROTO_LAST_ARG );", | 
|---|
| 730 | "", | 
|---|
| 731 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 732 | "[[", | 
|---|
| 733 | "#define yy_new_buffer yy_create_buffer", | 
|---|
| 734 | "]])", | 
|---|
| 735 | "", | 
|---|
| 736 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 737 | "[[", | 
|---|
| 738 | "#define yy_set_interactive(is_interactive) \\", | 
|---|
| 739 | "     { \\", | 
|---|
| 740 | "     if ( ! YY_CURRENT_BUFFER ){ \\", | 
|---|
| 741 | "        yyensure_buffer_stack (M4_YY_CALL_ONLY_ARG); \\", | 
|---|
| 742 | "             YY_CURRENT_BUFFER_LVALUE =    \\", | 
|---|
| 743 | "            yy_create_buffer( yyin, YY_BUF_SIZE M4_YY_CALL_LAST_ARG); \\", | 
|---|
| 744 | "     } \\", | 
|---|
| 745 | "     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \\", | 
|---|
| 746 | "     }", | 
|---|
| 747 | "]])", | 
|---|
| 748 | "", | 
|---|
| 749 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 750 | "[[", | 
|---|
| 751 | "#define yy_set_bol(at_bol) \\", | 
|---|
| 752 | "     { \\", | 
|---|
| 753 | "     if ( ! YY_CURRENT_BUFFER ){\\", | 
|---|
| 754 | "        yyensure_buffer_stack (M4_YY_CALL_ONLY_ARG); \\", | 
|---|
| 755 | "             YY_CURRENT_BUFFER_LVALUE =    \\", | 
|---|
| 756 | "            yy_create_buffer( yyin, YY_BUF_SIZE M4_YY_CALL_LAST_ARG); \\", | 
|---|
| 757 | "     } \\", | 
|---|
| 758 | "     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \\", | 
|---|
| 759 | "     }", | 
|---|
| 760 | "]])", | 
|---|
| 761 | "", | 
|---|
| 762 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 763 | "[[", | 
|---|
| 764 | "#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)", | 
|---|
| 765 | "]])", | 
|---|
| 766 | "", | 
|---|
| 767 | "%% [1.0] yytext/yyin/yyout/yy_state_type/yylineno etc. def's & init go here", | 
|---|
| 768 | "", | 
|---|
| 769 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 770 | "", | 
|---|
| 771 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 772 | "[[", | 
|---|
| 773 | "static yy_state_type yy_get_previous_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 774 | "static yy_state_type yy_try_NUL_trans M4_YY_PARAMS( yy_state_type current_state  M4_YY_PROTO_LAST_ARG);", | 
|---|
| 775 | "static int yy_get_next_buffer M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 776 | "static void yy_fatal_error M4_YY_PARAMS( yyconst char msg[] M4_YY_PROTO_LAST_ARG );", | 
|---|
| 777 | "]])", | 
|---|
| 778 | "", | 
|---|
| 779 | "%endif", | 
|---|
| 780 | "", | 
|---|
| 781 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 782 | "[[", | 
|---|
| 783 | "/* Done after the current pattern has been matched and before the", | 
|---|
| 784 | " * corresponding action - sets up yytext.", | 
|---|
| 785 | " */", | 
|---|
| 786 | "#define YY_DO_BEFORE_ACTION \\", | 
|---|
| 787 | "     YY_G(yytext_ptr) = yy_bp; \\", | 
|---|
| 788 | "%% [2.0] code to fiddle yytext and yyleng for yymore() goes here \\", | 
|---|
| 789 | "     YY_G(yy_hold_char) = *yy_cp; \\", | 
|---|
| 790 | "     *yy_cp = '\\0'; \\", | 
|---|
| 791 | "%% [3.0] code to copy yytext_ptr to yytext[] goes here, if %array \\", | 
|---|
| 792 | "     YY_G(yy_c_buf_p) = yy_cp;", | 
|---|
| 793 | "]])", | 
|---|
| 794 | "", | 
|---|
| 795 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 796 | "[[", | 
|---|
| 797 | "%% [4.0] data tables for the DFA and the user's section 1 definitions go here", | 
|---|
| 798 | "]])", | 
|---|
| 799 | "", | 
|---|
| 800 | "m4_ifdef( [[M4_YY_IN_HEADER]], [[#ifdef YY_HEADER_EXPORT_START_CONDITIONS]])", | 
|---|
| 801 | "M4_YY_SC_DEFS", | 
|---|
| 802 | "m4_ifdef( [[M4_YY_IN_HEADER]], [[#endif]])", | 
|---|
| 803 | "", | 
|---|
| 804 | "m4_ifdef( [[M4_YY_NO_UNISTD_H]],,", | 
|---|
| 805 | "[[", | 
|---|
| 806 | "#ifndef YY_NO_UNISTD_H", | 
|---|
| 807 | "/* Special case for \"unistd.h\", since it is non-ANSI. We include it way", | 
|---|
| 808 | " * down here because we want the user's section 1 to have been scanned first.", | 
|---|
| 809 | " * The user has a chance to override it with an option.", | 
|---|
| 810 | " */", | 
|---|
| 811 | "%if-c-only", | 
|---|
| 812 | "#include <unistd.h>", | 
|---|
| 813 | "%endif", | 
|---|
| 814 | "%if-c++-only", | 
|---|
| 815 | "#include <unistd.h>", | 
|---|
| 816 | "%endif", | 
|---|
| 817 | "#endif", | 
|---|
| 818 | "]])", | 
|---|
| 819 | "", | 
|---|
| 820 | "#ifndef YY_EXTRA_TYPE", | 
|---|
| 821 | "#define YY_EXTRA_TYPE void *", | 
|---|
| 822 | "#endif", | 
|---|
| 823 | "", | 
|---|
| 824 | "%if-c-only Reentrant structure and macros (non-C++).", | 
|---|
| 825 | "%if-reentrant", | 
|---|
| 826 | "", | 
|---|
| 827 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 828 | "[[", | 
|---|
| 829 | "/* Holds the entire state of the reentrant scanner. */", | 
|---|
| 830 | "struct yyguts_t", | 
|---|
| 831 | "    {", | 
|---|
| 832 | "", | 
|---|
| 833 | "    /* User-defined. Not touched by flex. */", | 
|---|
| 834 | "    YY_EXTRA_TYPE yyextra_r;", | 
|---|
| 835 | "", | 
|---|
| 836 | "    /* The rest are the same as the globals declared in the non-reentrant scanner. */", | 
|---|
| 837 | "    FILE *yyin_r, *yyout_r;", | 
|---|
| 838 | "    size_t yy_buffer_stack_top; /**< index of top of stack. */", | 
|---|
| 839 | "    size_t yy_buffer_stack_max; /**< capacity of stack. */", | 
|---|
| 840 | "    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */", | 
|---|
| 841 | "    char yy_hold_char;", | 
|---|
| 842 | "    int yy_n_chars;", | 
|---|
| 843 | "    int yyleng_r;", | 
|---|
| 844 | "    char *yy_c_buf_p;", | 
|---|
| 845 | "    int yy_init;", | 
|---|
| 846 | "    int yy_start;", | 
|---|
| 847 | "    int yy_did_buffer_switch_on_eof;", | 
|---|
| 848 | "    int yy_start_stack_ptr;", | 
|---|
| 849 | "    int yy_start_stack_depth;", | 
|---|
| 850 | "    int *yy_start_stack;", | 
|---|
| 851 | "    yy_state_type yy_last_accepting_state;", | 
|---|
| 852 | "    char* yy_last_accepting_cpos;", | 
|---|
| 853 | "", | 
|---|
| 854 | "    int yylineno_r;", | 
|---|
| 855 | "    int yy_flex_debug_r;", | 
|---|
| 856 | "", | 
|---|
| 857 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 858 | "[[", | 
|---|
| 859 | "    yy_state_type *yy_state_buf;", | 
|---|
| 860 | "    yy_state_type *yy_state_ptr;", | 
|---|
| 861 | "    char *yy_full_match;", | 
|---|
| 862 | "    int yy_lp;", | 
|---|
| 863 | "]])", | 
|---|
| 864 | "", | 
|---|
| 865 | "m4_ifdef( [[M4_YY_TEXT_IS_ARRAY]],", | 
|---|
| 866 | "[[", | 
|---|
| 867 | "    char yytext_r[YYLMAX];", | 
|---|
| 868 | "    char *yytext_ptr;", | 
|---|
| 869 | "    int yy_more_offset;", | 
|---|
| 870 | "    int yy_prev_more_offset;", | 
|---|
| 871 | "]],", | 
|---|
| 872 | "[[", | 
|---|
| 873 | "    char *yytext_r;", | 
|---|
| 874 | "    int yy_more_flag;", | 
|---|
| 875 | "    int yy_more_len;", | 
|---|
| 876 | "]])", | 
|---|
| 877 | "", | 
|---|
| 878 | "m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 879 | "[[", | 
|---|
| 880 | "    YYSTYPE * yylval_r;", | 
|---|
| 881 | "]])", | 
|---|
| 882 | "", | 
|---|
| 883 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 884 | "[[", | 
|---|
| 885 | "    YYLTYPE * yylloc_r;", | 
|---|
| 886 | "]])", | 
|---|
| 887 | "", | 
|---|
| 888 | "    }; /* end struct yyguts_t */", | 
|---|
| 889 | "]])", | 
|---|
| 890 | "", | 
|---|
| 891 | "", | 
|---|
| 892 | "%if-c-only", | 
|---|
| 893 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 894 | "[[", | 
|---|
| 895 | "static int yy_init_globals M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 896 | "]])", | 
|---|
| 897 | "%endif", | 
|---|
| 898 | "", | 
|---|
| 899 | "%if-reentrant", | 
|---|
| 900 | "", | 
|---|
| 901 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 902 | "[[", | 
|---|
| 903 | "    m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 904 | "    [[", | 
|---|
| 905 | "    /* This must go here because YYSTYPE and YYLTYPE are included", | 
|---|
| 906 | "     * from bison output in section 1.*/", | 
|---|
| 907 | "    #    define yylval YY_G(yylval_r)", | 
|---|
| 908 | "    ]])", | 
|---|
| 909 | "", | 
|---|
| 910 | "    m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 911 | "    [[", | 
|---|
| 912 | "    #    define yylloc YY_G(yylloc_r)", | 
|---|
| 913 | "    ]])", | 
|---|
| 914 | "]])", | 
|---|
| 915 | "", | 
|---|
| 916 | "%endif", | 
|---|
| 917 | "", | 
|---|
| 918 | "/* Accessor methods to globals.", | 
|---|
| 919 | "   These are made visible to non-reentrant scanners for convenience. */", | 
|---|
| 920 | "", | 
|---|
| 921 | "m4_ifdef( [[M4_YY_NO_DESTROY]],,", | 
|---|
| 922 | "[[", | 
|---|
| 923 | "int yylex_destroy M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 924 | "]])", | 
|---|
| 925 | "", | 
|---|
| 926 | "m4_ifdef( [[M4_YY_NO_GET_DEBUG]],,", | 
|---|
| 927 | "[[", | 
|---|
| 928 | "int yyget_debug M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 929 | "]])", | 
|---|
| 930 | "", | 
|---|
| 931 | "m4_ifdef( [[M4_YY_NO_SET_DEBUG]],,", | 
|---|
| 932 | "[[", | 
|---|
| 933 | "void yyset_debug M4_YY_PARAMS( int debug_flag M4_YY_PROTO_LAST_ARG );", | 
|---|
| 934 | "]])", | 
|---|
| 935 | "", | 
|---|
| 936 | "m4_ifdef( [[M4_YY_NO_GET_EXTRA]],,", | 
|---|
| 937 | "[[", | 
|---|
| 938 | "YY_EXTRA_TYPE yyget_extra M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 939 | "]])", | 
|---|
| 940 | "", | 
|---|
| 941 | "m4_ifdef( [[M4_YY_NO_SET_EXTRA]],,", | 
|---|
| 942 | "[[", | 
|---|
| 943 | "void yyset_extra M4_YY_PARAMS( YY_EXTRA_TYPE user_defined M4_YY_PROTO_LAST_ARG );", | 
|---|
| 944 | "]])", | 
|---|
| 945 | "", | 
|---|
| 946 | "m4_ifdef( [[M4_YY_NO_GET_IN]],,", | 
|---|
| 947 | "[[", | 
|---|
| 948 | "FILE *yyget_in M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 949 | "]])", | 
|---|
| 950 | "", | 
|---|
| 951 | "m4_ifdef( [[M4_YY_NO_SET_IN]],,", | 
|---|
| 952 | "[[", | 
|---|
| 953 | "void yyset_in  M4_YY_PARAMS( FILE * in_str M4_YY_PROTO_LAST_ARG );", | 
|---|
| 954 | "]])", | 
|---|
| 955 | "", | 
|---|
| 956 | "m4_ifdef( [[M4_YY_NO_GET_OUT]],,", | 
|---|
| 957 | "[[", | 
|---|
| 958 | "FILE *yyget_out M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 959 | "]])", | 
|---|
| 960 | "", | 
|---|
| 961 | "m4_ifdef( [[M4_YY_NO_SET_OUT]],,", | 
|---|
| 962 | "[[", | 
|---|
| 963 | "void yyset_out  M4_YY_PARAMS( FILE * out_str M4_YY_PROTO_LAST_ARG );", | 
|---|
| 964 | "]])", | 
|---|
| 965 | "", | 
|---|
| 966 | "m4_ifdef( [[M4_YY_NO_GET_LENG]],,", | 
|---|
| 967 | "[[", | 
|---|
| 968 | "int yyget_leng M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 969 | "]])", | 
|---|
| 970 | "", | 
|---|
| 971 | "m4_ifdef( [[M4_YY_NO_GET_TEXT]],,", | 
|---|
| 972 | "[[", | 
|---|
| 973 | "char *yyget_text M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 974 | "]])", | 
|---|
| 975 | "", | 
|---|
| 976 | "m4_ifdef( [[M4_YY_NO_GET_LINENO]],,", | 
|---|
| 977 | "[[", | 
|---|
| 978 | "int yyget_lineno M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 979 | "]])", | 
|---|
| 980 | "", | 
|---|
| 981 | "m4_ifdef( [[M4_YY_NO_SET_LINENO]],,", | 
|---|
| 982 | "[[", | 
|---|
| 983 | "void yyset_lineno M4_YY_PARAMS( int line_number M4_YY_PROTO_LAST_ARG );", | 
|---|
| 984 | "]])", | 
|---|
| 985 | "", | 
|---|
| 986 | "%if-bison-bridge", | 
|---|
| 987 | "m4_ifdef( [[M4_YY_NO_GET_LVAL]],,", | 
|---|
| 988 | "[[", | 
|---|
| 989 | "YYSTYPE * yyget_lval M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 990 | "]])", | 
|---|
| 991 | "", | 
|---|
| 992 | "void yyset_lval M4_YY_PARAMS( YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG );", | 
|---|
| 993 | "", | 
|---|
| 994 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 995 | "[[", | 
|---|
| 996 | "    m4_ifdef( [[M4_YY_NO_GET_LLOC]],,", | 
|---|
| 997 | "    [[", | 
|---|
| 998 | "       YYLTYPE *yyget_lloc M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 999 | "    ]])", | 
|---|
| 1000 | "", | 
|---|
| 1001 | "    m4_ifdef( [[M4_YY_NO_SET_LLOC]],,", | 
|---|
| 1002 | "    [[", | 
|---|
| 1003 | "        void yyset_lloc M4_YY_PARAMS( YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG );", | 
|---|
| 1004 | "    ]])", | 
|---|
| 1005 | "]])", | 
|---|
| 1006 | "%endif", | 
|---|
| 1007 | "%endif End reentrant structures and macros.", | 
|---|
| 1008 | "", | 
|---|
| 1009 | "/* Macros after this point can all be overridden by user definitions in", | 
|---|
| 1010 | " * section 1.", | 
|---|
| 1011 | " */", | 
|---|
| 1012 | "", | 
|---|
| 1013 | "#ifndef YY_SKIP_YYWRAP", | 
|---|
| 1014 | "#ifdef __cplusplus", | 
|---|
| 1015 | "extern \"C\" int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1016 | "#else", | 
|---|
| 1017 | "extern int yywrap M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1018 | "#endif", | 
|---|
| 1019 | "#endif", | 
|---|
| 1020 | "", | 
|---|
| 1021 | "%not-for-header", | 
|---|
| 1022 | "    m4_ifdef( [[M4_YY_NO_UNPUT]],,", | 
|---|
| 1023 | "    [[", | 
|---|
| 1024 | "    static void yyunput M4_YY_PARAMS( int c, char *buf_ptr  M4_YY_PROTO_LAST_ARG);", | 
|---|
| 1025 | "    ]])", | 
|---|
| 1026 | "%ok-for-header", | 
|---|
| 1027 | "%endif", | 
|---|
| 1028 | "", | 
|---|
| 1029 | "#ifndef yytext_ptr", | 
|---|
| 1030 | "static void yy_flex_strncpy M4_YY_PARAMS( char *, yyconst char *, int M4_YY_PROTO_LAST_ARG);", | 
|---|
| 1031 | "#endif", | 
|---|
| 1032 | "", | 
|---|
| 1033 | "#ifdef YY_NEED_STRLEN", | 
|---|
| 1034 | "static int yy_flex_strlen M4_YY_PARAMS( yyconst char * M4_YY_PROTO_LAST_ARG);", | 
|---|
| 1035 | "#endif", | 
|---|
| 1036 | "", | 
|---|
| 1037 | "#ifndef YY_NO_INPUT", | 
|---|
| 1038 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 1039 | "%not-for-header", | 
|---|
| 1040 | "#ifdef __cplusplus", | 
|---|
| 1041 | "static int yyinput M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1042 | "#else", | 
|---|
| 1043 | "static int input M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1044 | "#endif", | 
|---|
| 1045 | "%ok-for-header", | 
|---|
| 1046 | "%endif", | 
|---|
| 1047 | "#endif", | 
|---|
| 1048 | "", | 
|---|
| 1049 | "", | 
|---|
| 1050 | "%if-c-only", | 
|---|
| 1051 | "%# TODO: This is messy.", | 
|---|
| 1052 | "m4_ifdef( [[M4_YY_STACK_USED]],", | 
|---|
| 1053 | "[[", | 
|---|
| 1054 | "", | 
|---|
| 1055 | "m4_ifdef( [[M4_YY_NOT_REENTRANT]],", | 
|---|
| 1056 | "[[", | 
|---|
| 1057 | "    m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1058 | "    [[", | 
|---|
| 1059 | "        static int yy_start_stack_ptr = 0;", | 
|---|
| 1060 | "        static int yy_start_stack_depth = 0;", | 
|---|
| 1061 | "        static int *yy_start_stack = NULL;", | 
|---|
| 1062 | "    ]])", | 
|---|
| 1063 | "]])", | 
|---|
| 1064 | "", | 
|---|
| 1065 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1066 | "[[", | 
|---|
| 1067 | "    m4_ifdef( [[M4_YY_NO_PUSH_STATE]],,", | 
|---|
| 1068 | "    [[", | 
|---|
| 1069 | "    static void yy_push_state M4_YY_PARAMS( int new_state M4_YY_PROTO_LAST_ARG);", | 
|---|
| 1070 | "    ]])", | 
|---|
| 1071 | "    m4_ifdef( [[M4_YY_NO_POP_STATE]],,", | 
|---|
| 1072 | "    [[", | 
|---|
| 1073 | "    static void yy_pop_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1074 | "    ]])", | 
|---|
| 1075 | "    m4_ifdef( [[M4_YY_NO_TOP_STATE]],,", | 
|---|
| 1076 | "    [[", | 
|---|
| 1077 | "    static int yy_top_state M4_YY_PARAMS( M4_YY_PROTO_ONLY_ARG );", | 
|---|
| 1078 | "    ]])", | 
|---|
| 1079 | "]])", | 
|---|
| 1080 | "", | 
|---|
| 1081 | "]],", | 
|---|
| 1082 | "[[", | 
|---|
| 1083 | "m4_define( [[M4_YY_NO_PUSH_STATE]])", | 
|---|
| 1084 | "m4_define( [[M4_YY_NO_POP_STATE]])", | 
|---|
| 1085 | "m4_define( [[M4_YY_NO_TOP_STATE]])", | 
|---|
| 1086 | "]])", | 
|---|
| 1087 | "%endif", | 
|---|
| 1088 | "", | 
|---|
| 1089 | "/* Amount of stuff to slurp up with each read. */", | 
|---|
| 1090 | "#ifndef YY_READ_BUF_SIZE", | 
|---|
| 1091 | "#define YY_READ_BUF_SIZE 8192", | 
|---|
| 1092 | "#endif", | 
|---|
| 1093 | "", | 
|---|
| 1094 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1095 | "[[", | 
|---|
| 1096 | "/* Copy whatever the last rule matched to the standard output. */", | 
|---|
| 1097 | "#ifndef ECHO", | 
|---|
| 1098 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 1099 | "/* This used to be an fputs(), but since the string might contain NUL's,", | 
|---|
| 1100 | " * we now use fwrite().", | 
|---|
| 1101 | " */", | 
|---|
| 1102 | "#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )", | 
|---|
| 1103 | "%endif", | 
|---|
| 1104 | "%if-c++-only C++ definition", | 
|---|
| 1105 | "#define ECHO LexerOutput( yytext, yyleng )", | 
|---|
| 1106 | "%endif", | 
|---|
| 1107 | "#endif", | 
|---|
| 1108 | "]])", | 
|---|
| 1109 | "", | 
|---|
| 1110 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1111 | "[[", | 
|---|
| 1112 | "/* Gets input and stuffs it into \"buf\".  number of characters read, or YY_NULL,", | 
|---|
| 1113 | " * is returned in \"result\".", | 
|---|
| 1114 | " */", | 
|---|
| 1115 | "#ifndef YY_INPUT", | 
|---|
| 1116 | "#define YY_INPUT(buf,result,max_size) \\", | 
|---|
| 1117 | "%% [5.0] fread()/read() definition of YY_INPUT goes here unless we're doing C++ \\", | 
|---|
| 1118 | "\\", | 
|---|
| 1119 | "%if-c++-only C++ definition \\", | 
|---|
| 1120 | "     if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \\", | 
|---|
| 1121 | "             YY_FATAL_ERROR( \"input in flex scanner failed\" );", | 
|---|
| 1122 | "%endif", | 
|---|
| 1123 | "", | 
|---|
| 1124 | "#endif", | 
|---|
| 1125 | "]])", | 
|---|
| 1126 | "", | 
|---|
| 1127 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1128 | "[[", | 
|---|
| 1129 | "/* No semi-colon after return; correct usage is to write \"yyterminate();\" -", | 
|---|
| 1130 | " * we don't want an extra ';' after the \"return\" because that will cause", | 
|---|
| 1131 | " * some compilers to complain about unreachable statements.", | 
|---|
| 1132 | " */", | 
|---|
| 1133 | "#ifndef yyterminate", | 
|---|
| 1134 | "#define yyterminate() return YY_NULL", | 
|---|
| 1135 | "#endif", | 
|---|
| 1136 | "]])", | 
|---|
| 1137 | "", | 
|---|
| 1138 | "/* Number of entries by which start-condition stack grows. */", | 
|---|
| 1139 | "#ifndef YY_START_STACK_INCR", | 
|---|
| 1140 | "#define YY_START_STACK_INCR 25", | 
|---|
| 1141 | "#endif", | 
|---|
| 1142 | "", | 
|---|
| 1143 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1144 | "[[", | 
|---|
| 1145 | "/* Report a fatal error. */", | 
|---|
| 1146 | "#ifndef YY_FATAL_ERROR", | 
|---|
| 1147 | "%if-c-only", | 
|---|
| 1148 | "#define YY_FATAL_ERROR(msg) yy_fatal_error( msg M4_YY_CALL_LAST_ARG)", | 
|---|
| 1149 | "%endif", | 
|---|
| 1150 | "%if-c++-only", | 
|---|
| 1151 | "#define YY_FATAL_ERROR(msg) LexerError( msg )", | 
|---|
| 1152 | "%endif", | 
|---|
| 1153 | "#endif", | 
|---|
| 1154 | "]])", | 
|---|
| 1155 | "", | 
|---|
| 1156 | "%if-tables-serialization structures and prototypes", | 
|---|
| 1157 | "#ifdef FLEX_SCANNER", | 
|---|
| 1158 | "/*", | 
|---|
| 1159 | "dnl  tables_shared.h - tables serialization header", | 
|---|
| 1160 | "dnl", | 
|---|
| 1161 | "dnl  Copyright (c) 1990 The Regents of the University of California.", | 
|---|
| 1162 | "dnl  All rights reserved.", | 
|---|
| 1163 | "dnl", | 
|---|
| 1164 | "dnl  This code is derived from software contributed to Berkeley by", | 
|---|
| 1165 | "dnl  Vern Paxson.", | 
|---|
| 1166 | "dnl", | 
|---|
| 1167 | "dnl  The United States Government has rights in this work pursuant", | 
|---|
| 1168 | "dnl  to contract no. DE-AC03-76SF00098 between the United States", | 
|---|
| 1169 | "dnl  Department of Energy and the University of California.", | 
|---|
| 1170 | "dnl", | 
|---|
| 1171 | "dnl  This file is part of flex.", | 
|---|
| 1172 | "dnl", | 
|---|
| 1173 | "dnl  Redistribution and use in source and binary forms, with or without", | 
|---|
| 1174 | "dnl  modification, are permitted provided that the following conditions", | 
|---|
| 1175 | "dnl  are met:", | 
|---|
| 1176 | "dnl", | 
|---|
| 1177 | "dnl  1. Redistributions of source code must retain the above copyright", | 
|---|
| 1178 | "dnl     notice, this list of conditions and the following disclaimer.", | 
|---|
| 1179 | "dnl  2. Redistributions in binary form must reproduce the above copyright", | 
|---|
| 1180 | "dnl     notice, this list of conditions and the following disclaimer in the", | 
|---|
| 1181 | "dnl     documentation and/or other materials provided with the distribution.", | 
|---|
| 1182 | "dnl", | 
|---|
| 1183 | "dnl  Neither the name of the University nor the names of its contributors", | 
|---|
| 1184 | "dnl  may be used to endorse or promote products derived from this software", | 
|---|
| 1185 | "dnl  without specific prior written permission.", | 
|---|
| 1186 | "dnl", | 
|---|
| 1187 | "dnl  THIS SOFTWARE IS PROVIDED `AS IS' AND WITHOUT ANY EXPRESS OR", | 
|---|
| 1188 | "dnl  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED", | 
|---|
| 1189 | "dnl  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR", | 
|---|
| 1190 | "dnl  PURPOSE.", | 
|---|
| 1191 | " | 
|---|
| 1192 | ", | 
|---|
| 1193 | "dnl", | 
|---|
| 1194 | "dnl  This file is meant to be included in both the skeleton and the actual", | 
|---|
| 1195 | "dnl  flex code (hence the name \"_shared\").", | 
|---|
| 1196 | "*/", | 
|---|
| 1197 | "#ifndef yyskel_static", | 
|---|
| 1198 | "#define yyskel_static static", | 
|---|
| 1199 | "#endif", | 
|---|
| 1200 | "#else", | 
|---|
| 1201 | "#ifndef yyskel_static", | 
|---|
| 1202 | "#define yyskel_static", | 
|---|
| 1203 | "#endif", | 
|---|
| 1204 | "#endif", | 
|---|
| 1205 | "", | 
|---|
| 1206 | "/* Structures and prototypes for serializing flex tables.  The", | 
|---|
| 1207 | " * binary format is documented in the manual.", | 
|---|
| 1208 | " *", | 
|---|
| 1209 | " * Design considerations:", | 
|---|
| 1210 | " *", | 
|---|
| 1211 | " *  -  The format allows many tables per file.", | 
|---|
| 1212 | " *  -  The tables can be streamed.", | 
|---|
| 1213 | " *  -  All data is stored in network byte order.", | 
|---|
| 1214 | " *  -  We do not hinder future unicode support.", | 
|---|
| 1215 | " *  -  We can lookup tables by name.", | 
|---|
| 1216 | " */", | 
|---|
| 1217 | "", | 
|---|
| 1218 | "/** Magic number for serialized format. */", | 
|---|
| 1219 | "#ifndef YYTBL_MAGIC", | 
|---|
| 1220 | "#define YYTBL_MAGIC 0xF13C57B1", | 
|---|
| 1221 | "#endif", | 
|---|
| 1222 | "", | 
|---|
| 1223 | "/** Calculate (0-7) = number bytes needed to pad n to next 64-bit boundary. */", | 
|---|
| 1224 | "#ifndef yypad64", | 
|---|
| 1225 | "#define yypad64(n) ((8-((n)%8))%8)", | 
|---|
| 1226 | "#endif", | 
|---|
| 1227 | "", | 
|---|
| 1228 | "", | 
|---|
| 1229 | "#ifndef YYTABLES_TYPES", | 
|---|
| 1230 | "#define YYTABLES_TYPES", | 
|---|
| 1231 | "/** Possible values for td_id field. Each one corresponds to a", | 
|---|
| 1232 | " *  scanner table of the same name.", | 
|---|
| 1233 | " */", | 
|---|
| 1234 | "enum yytbl_id {", | 
|---|
| 1235 | "     YYTD_ID_ACCEPT = 0x01,          /**< 1-dim ints */", | 
|---|
| 1236 | "     YYTD_ID_BASE = 0x02,            /**< 1-dim ints */", | 
|---|
| 1237 | "     YYTD_ID_CHK = 0x03,             /**< 1-dim ints */", | 
|---|
| 1238 | "     YYTD_ID_DEF = 0x04,             /**< 1-dim ints */", | 
|---|
| 1239 | "     YYTD_ID_EC = 0x05,              /**< 1-dim ints */", | 
|---|
| 1240 | "     YYTD_ID_META = 0x06,            /**< 1-dim ints */", | 
|---|
| 1241 | "     YYTD_ID_NUL_TRANS = 0x07,       /**< 1-dim ints, maybe indices */", | 
|---|
| 1242 | "     YYTD_ID_NXT = 0x08,             /**< may be 2 dimensional ints */", | 
|---|
| 1243 | "     YYTD_ID_RULE_CAN_MATCH_EOL = 0x09, /**< 1-dim ints */", | 
|---|
| 1244 | "     YYTD_ID_START_STATE_LIST = 0x0A,        /**< 1-dim indices into trans tbl  */", | 
|---|
| 1245 | "     YYTD_ID_TRANSITION = 0x0B,      /**< structs */", | 
|---|
| 1246 | "     YYTD_ID_ACCLIST = 0x0C          /**< 1-dim ints */", | 
|---|
| 1247 | "};", | 
|---|
| 1248 | "", | 
|---|
| 1249 | "/** bit flags for t_flags field of struct yytbl_data */", | 
|---|
| 1250 | "enum yytbl_flags {", | 
|---|
| 1251 | "     /* These first three are mutually exclusive */", | 
|---|
| 1252 | "     YYTD_DATA8 = 0x01,   /**< data is an array of type flex_int8_t */", | 
|---|
| 1253 | "     YYTD_DATA16 = 0x02,  /**< data is an array of type flex_int16_t */", | 
|---|
| 1254 | "     YYTD_DATA32 = 0x04,  /**< data is an array of type flex_int32_t */", | 
|---|
| 1255 | "", | 
|---|
| 1256 | "     /* These two are mutually exclusive. */", | 
|---|
| 1257 | "     YYTD_PTRANS = 0x08,  /**< data is a list of indexes of entries", | 
|---|
| 1258 | "                                 into the expanded yy_transition", | 
|---|
| 1259 | "                                 array. See notes in manual. */", | 
|---|
| 1260 | "     YYTD_STRUCT = 0x10  /**< data consists of yy_trans_info structs */", | 
|---|
| 1261 | "};", | 
|---|
| 1262 | "", | 
|---|
| 1263 | "/* The serialized tables header. */", | 
|---|
| 1264 | "struct yytbl_hdr {", | 
|---|
| 1265 | "     flex_uint32_t th_magic;  /**< Must be 0xF13C57B1 (comes from \"Flex Table\") */", | 
|---|
| 1266 | "     flex_uint32_t th_hsize;  /**< Size of this header in bytes. */", | 
|---|
| 1267 | "     flex_uint32_t th_ssize;  /**< Size of this dataset, in bytes, including header. */", | 
|---|
| 1268 | "     flex_uint16_t th_flags;  /**< Currently unused, must be 0 */", | 
|---|
| 1269 | "     char   *th_version; /**< Flex version string. NUL terminated. */", | 
|---|
| 1270 | "     char   *th_name;    /**< The name of this table set. NUL terminated. */", | 
|---|
| 1271 | "};", | 
|---|
| 1272 | "", | 
|---|
| 1273 | "/** A single serialized table */", | 
|---|
| 1274 | "struct yytbl_data {", | 
|---|
| 1275 | "     flex_uint16_t td_id;      /**< enum yytbl_id table identifier */", | 
|---|
| 1276 | "     flex_uint16_t td_flags;   /**< how to interpret this data */", | 
|---|
| 1277 | "     flex_uint32_t td_hilen;   /**< num elements in highest dimension array */", | 
|---|
| 1278 | "     flex_uint32_t td_lolen;   /**< num elements in lowest dimension array */", | 
|---|
| 1279 | "     void   *td_data;     /**< table data */", | 
|---|
| 1280 | "};", | 
|---|
| 1281 | "#endif", | 
|---|
| 1282 | "", | 
|---|
| 1283 | "/** Extract corresponding data size_t from td_flags */", | 
|---|
| 1284 | "#ifndef YYTDFLAGS2BYTES", | 
|---|
| 1285 | "#define YYTDFLAGS2BYTES(td_flags)\\", | 
|---|
| 1286 | "        (((td_flags) & YYTD_DATA8)\\", | 
|---|
| 1287 | "            ? sizeof(flex_int8_t)\\", | 
|---|
| 1288 | "            :(((td_flags) & YYTD_DATA16)\\", | 
|---|
| 1289 | "                ? sizeof(flex_int16_t)\\", | 
|---|
| 1290 | "                :sizeof(flex_int32_t)))", | 
|---|
| 1291 | "#endif", | 
|---|
| 1292 | "", | 
|---|
| 1293 | "#ifdef FLEX_SCANNER", | 
|---|
| 1294 | "%not-for-header", | 
|---|
| 1295 | "#endif", | 
|---|
| 1296 | "yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl);", | 
|---|
| 1297 | "#ifdef FLEX_SCANNER", | 
|---|
| 1298 | "%ok-for-header", | 
|---|
| 1299 | "#endif", | 
|---|
| 1300 | "", | 
|---|
| 1301 | "/* vim:set noexpandtab cindent tabstop=8 softtabstop=0 shiftwidth=8 textwidth=0: */", | 
|---|
| 1302 | "", | 
|---|
| 1303 | "", | 
|---|
| 1304 | "/* Load the DFA tables from the given stream.  */", | 
|---|
| 1305 | "int yytables_fload M4_YY_PARAMS(FILE * fp M4_YY_PROTO_LAST_ARG);", | 
|---|
| 1306 | "", | 
|---|
| 1307 | "/* Unload the tables from memory. */", | 
|---|
| 1308 | "int yytables_destroy M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG);", | 
|---|
| 1309 | "%not-for-header", | 
|---|
| 1310 | "", | 
|---|
| 1311 | "/** Describes a mapping from a serialized table id to its deserialized state in", | 
|---|
| 1312 | " * this scanner.  This is the bridge between our \"generic\" deserialization code", | 
|---|
| 1313 | " * and the specifics of this scanner. ", | 
|---|
| 1314 | " */", | 
|---|
| 1315 | "struct yytbl_dmap {", | 
|---|
| 1316 | "     enum yytbl_id dm_id;/**< table identifier */", | 
|---|
| 1317 | "     void  **dm_arr;         /**< address of pointer to store the deserialized table. */", | 
|---|
| 1318 | "     size_t  dm_sz;          /**< local sizeof() each element in table. */", | 
|---|
| 1319 | "};", | 
|---|
| 1320 | "", | 
|---|
| 1321 | "/** A {0,0,0}-terminated list of structs, forming the map */", | 
|---|
| 1322 | "static struct yytbl_dmap yydmap[] =", | 
|---|
| 1323 | "{", | 
|---|
| 1324 | "%tables-yydmap generated elements", | 
|---|
| 1325 | "    {0,0,0}", | 
|---|
| 1326 | "};", | 
|---|
| 1327 | "", | 
|---|
| 1328 | "/** A tables-reader object to maintain some state in the read. */", | 
|---|
| 1329 | "struct yytbl_reader {", | 
|---|
| 1330 | "    FILE * fp; /**< input stream */", | 
|---|
| 1331 | "    flex_uint32_t bread; /**< bytes read since beginning of current tableset */", | 
|---|
| 1332 | "};", | 
|---|
| 1333 | "", | 
|---|
| 1334 | "%endif", | 
|---|
| 1335 | "/* end tables serialization structures and prototypes */", | 
|---|
| 1336 | "", | 
|---|
| 1337 | "%ok-for-header", | 
|---|
| 1338 | "", | 
|---|
| 1339 | "/* Default declaration of generated scanner - a define so the user can", | 
|---|
| 1340 | " * easily add parameters.", | 
|---|
| 1341 | " */", | 
|---|
| 1342 | "#ifndef YY_DECL", | 
|---|
| 1343 | "#define YY_DECL_IS_OURS 1", | 
|---|
| 1344 | "%if-c-only Standard (non-C++) definition", | 
|---|
| 1345 | "", | 
|---|
| 1346 | "", | 
|---|
| 1347 | "m4_define( [[M4_YY_LEX_PROTO]], [[M4_YY_PARAMS(M4_YY_PROTO_ONLY_ARG)]])", | 
|---|
| 1348 | "m4_define( [[M4_YY_LEX_DECLARATION]], [[YYFARGS0(void)]])", | 
|---|
| 1349 | "", | 
|---|
| 1350 | "m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 1351 | "[[", | 
|---|
| 1352 | "    m4_dnl  The bison pure parser is used. Redefine yylex to", | 
|---|
| 1353 | "    m4_dnl  accept the lval parameter.", | 
|---|
| 1354 | "", | 
|---|
| 1355 | "    m4_define( [[M4_YY_LEX_PROTO]],", | 
|---|
| 1356 | "               [[M4_YY_PARAMS(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]])", | 
|---|
| 1357 | "    m4_define( [[M4_YY_LEX_DECLARATION]],", | 
|---|
| 1358 | "               [[YYFARGS1(YYSTYPE *,yylval_param)]])", | 
|---|
| 1359 | "]])", | 
|---|
| 1360 | "", | 
|---|
| 1361 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 1362 | "[[", | 
|---|
| 1363 | "    m4_dnl  Locations are used. yylex should also accept the ylloc parameter.", | 
|---|
| 1364 | "", | 
|---|
| 1365 | "    m4_define( [[M4_YY_LEX_PROTO]],", | 
|---|
| 1366 | "               [[M4_YY_PARAMS(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]])", | 
|---|
| 1367 | "    m4_define( [[M4_YY_LEX_DECLARATION]],", | 
|---|
| 1368 | "               [[YYFARGS2(YYSTYPE *,yylval_param, YYLTYPE *,yylloc_param)]])", | 
|---|
| 1369 | "]])", | 
|---|
| 1370 | "", | 
|---|
| 1371 | "extern int yylex M4_YY_LEX_PROTO;", | 
|---|
| 1372 | "", | 
|---|
| 1373 | "#define YY_DECL int yylex M4_YY_LEX_DECLARATION", | 
|---|
| 1374 | "%endif", | 
|---|
| 1375 | "%if-c++-only C++ definition", | 
|---|
| 1376 | "#define YY_DECL int yyFlexLexer::yylex()", | 
|---|
| 1377 | "%endif", | 
|---|
| 1378 | "#endif /* !YY_DECL */", | 
|---|
| 1379 | "", | 
|---|
| 1380 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1381 | "[[", | 
|---|
| 1382 | "/* Code executed at the beginning of each rule, after yytext and yyleng", | 
|---|
| 1383 | " * have been set up.", | 
|---|
| 1384 | " */", | 
|---|
| 1385 | "#ifndef YY_USER_ACTION", | 
|---|
| 1386 | "#define YY_USER_ACTION", | 
|---|
| 1387 | "#endif", | 
|---|
| 1388 | "]])", | 
|---|
| 1389 | "", | 
|---|
| 1390 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1391 | "[[", | 
|---|
| 1392 | "/* Code executed at the end of each rule. */", | 
|---|
| 1393 | "#ifndef YY_BREAK", | 
|---|
| 1394 | "#define YY_BREAK break;", | 
|---|
| 1395 | "#endif", | 
|---|
| 1396 | "]])", | 
|---|
| 1397 | "", | 
|---|
| 1398 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1399 | "[[", | 
|---|
| 1400 | "%% [6.0] YY_RULE_SETUP definition goes here", | 
|---|
| 1401 | "]])", | 
|---|
| 1402 | "", | 
|---|
| 1403 | "%not-for-header", | 
|---|
| 1404 | "/** The main scanner function which does all the work.", | 
|---|
| 1405 | " */", | 
|---|
| 1406 | "YY_DECL", | 
|---|
| 1407 | "{", | 
|---|
| 1408 | "     register yy_state_type yy_current_state;", | 
|---|
| 1409 | "     register char *yy_cp, *yy_bp;", | 
|---|
| 1410 | "     register int yy_act;", | 
|---|
| 1411 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 1412 | "", | 
|---|
| 1413 | "m4_ifdef( [[M4_YY_NOT_REENTRANT]],", | 
|---|
| 1414 | "[[", | 
|---|
| 1415 | "    m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 1416 | "    [[", | 
|---|
| 1417 | "        YYSTYPE * yylval;", | 
|---|
| 1418 | "    ]])", | 
|---|
| 1419 | "    m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 1420 | "    [[", | 
|---|
| 1421 | "        YYLTYPE * yylloc;", | 
|---|
| 1422 | "    ]])", | 
|---|
| 1423 | "]])", | 
|---|
| 1424 | "", | 
|---|
| 1425 | "%% [7.0] user's declarations go here", | 
|---|
| 1426 | "", | 
|---|
| 1427 | "m4_ifdef( [[M4_YY_BISON_LVAL]],", | 
|---|
| 1428 | "[[", | 
|---|
| 1429 | "    yylval = yylval_param;", | 
|---|
| 1430 | "]])", | 
|---|
| 1431 | "", | 
|---|
| 1432 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 1433 | "[[", | 
|---|
| 1434 | "    yylloc = yylloc_param;", | 
|---|
| 1435 | "]])", | 
|---|
| 1436 | "", | 
|---|
| 1437 | "     if ( !YY_G(yy_init) )", | 
|---|
| 1438 | "             {", | 
|---|
| 1439 | "             YY_G(yy_init) = 1;", | 
|---|
| 1440 | "", | 
|---|
| 1441 | "#ifdef YY_USER_INIT", | 
|---|
| 1442 | "             YY_USER_INIT;", | 
|---|
| 1443 | "#endif", | 
|---|
| 1444 | "", | 
|---|
| 1445 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 1446 | "[[", | 
|---|
| 1447 | "        /* Create the reject buffer large enough to save one state per allowed character. */", | 
|---|
| 1448 | "        if ( ! YY_G(yy_state_buf) )", | 
|---|
| 1449 | "            YY_G(yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE  M4_YY_CALL_LAST_ARG);", | 
|---|
| 1450 | "]])", | 
|---|
| 1451 | "", | 
|---|
| 1452 | "             if ( ! YY_G(yy_start) )", | 
|---|
| 1453 | "                     YY_G(yy_start) = 1;     /* first start state */", | 
|---|
| 1454 | "", | 
|---|
| 1455 | "             if ( ! yyin )", | 
|---|
| 1456 | "%if-c-only", | 
|---|
| 1457 | "                     yyin = stdin;", | 
|---|
| 1458 | "%endif", | 
|---|
| 1459 | "%if-c++-only", | 
|---|
| 1460 | "                     yyin = & std::cin;", | 
|---|
| 1461 | "%endif", | 
|---|
| 1462 | "", | 
|---|
| 1463 | "             if ( ! yyout )", | 
|---|
| 1464 | "%if-c-only", | 
|---|
| 1465 | "                     yyout = stdout;", | 
|---|
| 1466 | "%endif", | 
|---|
| 1467 | "%if-c++-only", | 
|---|
| 1468 | "                     yyout = & std::cout;", | 
|---|
| 1469 | "%endif", | 
|---|
| 1470 | "", | 
|---|
| 1471 | "             if ( ! YY_CURRENT_BUFFER ) {", | 
|---|
| 1472 | "                     yyensure_buffer_stack (M4_YY_CALL_ONLY_ARG);", | 
|---|
| 1473 | "                     YY_CURRENT_BUFFER_LVALUE =", | 
|---|
| 1474 | "                             yy_create_buffer( yyin, YY_BUF_SIZE M4_YY_CALL_LAST_ARG);", | 
|---|
| 1475 | "             }", | 
|---|
| 1476 | "", | 
|---|
| 1477 | "             yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 1478 | "             }", | 
|---|
| 1479 | "", | 
|---|
| 1480 | "     while ( 1 )             /* loops until end-of-file is reached */", | 
|---|
| 1481 | "             {", | 
|---|
| 1482 | "%% [8.0] yymore()-related code goes here", | 
|---|
| 1483 | "             yy_cp = YY_G(yy_c_buf_p);", | 
|---|
| 1484 | "", | 
|---|
| 1485 | "             /* Support of yytext. */", | 
|---|
| 1486 | "             *yy_cp = YY_G(yy_hold_char);", | 
|---|
| 1487 | "", | 
|---|
| 1488 | "             /* yy_bp points to the position in yy_ch_buf of the start of", | 
|---|
| 1489 | "              * the current run.", | 
|---|
| 1490 | "              */", | 
|---|
| 1491 | "             yy_bp = yy_cp;", | 
|---|
| 1492 | "", | 
|---|
| 1493 | "%% [9.0] code to set up and find next match goes here", | 
|---|
| 1494 | "", | 
|---|
| 1495 | "yy_find_action:", | 
|---|
| 1496 | "%% [10.0] code to find the action number goes here", | 
|---|
| 1497 | "", | 
|---|
| 1498 | "             YY_DO_BEFORE_ACTION;", | 
|---|
| 1499 | "", | 
|---|
| 1500 | "%% [11.0] code for yylineno update goes here", | 
|---|
| 1501 | "", | 
|---|
| 1502 | "do_action:   /* This label is used only to access EOF actions. */", | 
|---|
| 1503 | "", | 
|---|
| 1504 | "%% [12.0] debug code goes here", | 
|---|
| 1505 | "", | 
|---|
| 1506 | "             switch ( yy_act )", | 
|---|
| 1507 | "     { /* beginning of action switch */", | 
|---|
| 1508 | "%% [13.0] actions go here", | 
|---|
| 1509 | "", | 
|---|
| 1510 | "     case YY_END_OF_BUFFER:", | 
|---|
| 1511 | "             {", | 
|---|
| 1512 | "             /* Amount of text matched not including the EOB char. */", | 
|---|
| 1513 | "             int yy_amount_of_matched_text = (int) (yy_cp - YY_G(yytext_ptr)) - 1;", | 
|---|
| 1514 | "", | 
|---|
| 1515 | "             /* Undo the effects of YY_DO_BEFORE_ACTION. */", | 
|---|
| 1516 | "             *yy_cp = YY_G(yy_hold_char);", | 
|---|
| 1517 | "             YY_RESTORE_YY_MORE_OFFSET", | 
|---|
| 1518 | "", | 
|---|
| 1519 | "             if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )", | 
|---|
| 1520 | "                     {", | 
|---|
| 1521 | "                     /* We're scanning a new file or input source.  It's", | 
|---|
| 1522 | "                      * possible that this happened because the user", | 
|---|
| 1523 | "                      * just pointed yyin at a new source and called", | 
|---|
| 1524 | "                      * yylex().  If so, then we have to assure", | 
|---|
| 1525 | "                      * consistency between YY_CURRENT_BUFFER and our", | 
|---|
| 1526 | "                      * globals.  Here is the right place to do so, because", | 
|---|
| 1527 | "                      * this is the first action (other than possibly a", | 
|---|
| 1528 | "                      * back-up) that will match for the new input source.", | 
|---|
| 1529 | "                      */", | 
|---|
| 1530 | "                     YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;", | 
|---|
| 1531 | "                     YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;", | 
|---|
| 1532 | "                     YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;", | 
|---|
| 1533 | "                     }", | 
|---|
| 1534 | "", | 
|---|
| 1535 | "             /* Note that here we test for yy_c_buf_p \"<=\" to the position", | 
|---|
| 1536 | "              * of the first EOB in the buffer, since yy_c_buf_p will", | 
|---|
| 1537 | "              * already have been incremented past the NUL character", | 
|---|
| 1538 | "              * (since all states make transitions on EOB to the", | 
|---|
| 1539 | "              * end-of-buffer state).  Contrast this with the test", | 
|---|
| 1540 | "              * in input().", | 
|---|
| 1541 | "              */", | 
|---|
| 1542 | "             if ( YY_G(yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars)] )", | 
|---|
| 1543 | "                     { /* This was really a NUL. */", | 
|---|
| 1544 | "                     yy_state_type yy_next_state;", | 
|---|
| 1545 | "", | 
|---|
| 1546 | "                     YY_G(yy_c_buf_p) = YY_G(yytext_ptr) + yy_amount_of_matched_text;", | 
|---|
| 1547 | "", | 
|---|
| 1548 | "                     yy_current_state = yy_get_previous_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 1549 | "", | 
|---|
| 1550 | "                     /* Okay, we're now positioned to make the NUL", | 
|---|
| 1551 | "                      * transition.  We couldn't have", | 
|---|
| 1552 | "                      * yy_get_previous_state() go ahead and do it", | 
|---|
| 1553 | "                      * for us because it doesn't know how to deal", | 
|---|
| 1554 | "                      * with the possibility of jamming (and we don't", | 
|---|
| 1555 | "                      * want to build jamming into it because then it", | 
|---|
| 1556 | "                      * will run more slowly).", | 
|---|
| 1557 | "                      */", | 
|---|
| 1558 | "", | 
|---|
| 1559 | "                     yy_next_state = yy_try_NUL_trans( yy_current_state M4_YY_CALL_LAST_ARG);", | 
|---|
| 1560 | "", | 
|---|
| 1561 | "                     yy_bp = YY_G(yytext_ptr) + YY_MORE_ADJ;", | 
|---|
| 1562 | "", | 
|---|
| 1563 | "                     if ( yy_next_state )", | 
|---|
| 1564 | "                             {", | 
|---|
| 1565 | "                             /* Consume the NUL. */", | 
|---|
| 1566 | "                             yy_cp = ++YY_G(yy_c_buf_p);", | 
|---|
| 1567 | "                             yy_current_state = yy_next_state;", | 
|---|
| 1568 | "                             goto yy_match;", | 
|---|
| 1569 | "                             }", | 
|---|
| 1570 | "", | 
|---|
| 1571 | "                     else", | 
|---|
| 1572 | "                             {", | 
|---|
| 1573 | "%% [14.0] code to do back-up for compressed tables and set up yy_cp goes here", | 
|---|
| 1574 | "                             goto yy_find_action;", | 
|---|
| 1575 | "                             }", | 
|---|
| 1576 | "                     }", | 
|---|
| 1577 | "", | 
|---|
| 1578 | "             else switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )", | 
|---|
| 1579 | "                     {", | 
|---|
| 1580 | "                     case EOB_ACT_END_OF_FILE:", | 
|---|
| 1581 | "                             {", | 
|---|
| 1582 | "                             YY_G(yy_did_buffer_switch_on_eof) = 0;", | 
|---|
| 1583 | "", | 
|---|
| 1584 | "                             if ( yywrap( M4_YY_CALL_ONLY_ARG ) )", | 
|---|
| 1585 | "                                     {", | 
|---|
| 1586 | "                                     /* Note: because we've taken care in", | 
|---|
| 1587 | "                                      * yy_get_next_buffer() to have set up", | 
|---|
| 1588 | "                                      * yytext, we can now set up", | 
|---|
| 1589 | "                                      * yy_c_buf_p so that if some total", | 
|---|
| 1590 | "                                      * hoser (like flex itself) wants to", | 
|---|
| 1591 | "                                      * call the scanner after we return the", | 
|---|
| 1592 | "                                      * YY_NULL, it'll still work - another", | 
|---|
| 1593 | "                                      * YY_NULL will get returned.", | 
|---|
| 1594 | "                                      */", | 
|---|
| 1595 | "                                     YY_G(yy_c_buf_p) = YY_G(yytext_ptr) + YY_MORE_ADJ;", | 
|---|
| 1596 | "", | 
|---|
| 1597 | "                                     yy_act = YY_STATE_EOF(YY_START);", | 
|---|
| 1598 | "                                     goto do_action;", | 
|---|
| 1599 | "                                     }", | 
|---|
| 1600 | "", | 
|---|
| 1601 | "                             else", | 
|---|
| 1602 | "                                     {", | 
|---|
| 1603 | "                                     if ( ! YY_G(yy_did_buffer_switch_on_eof) )", | 
|---|
| 1604 | "                                             YY_NEW_FILE;", | 
|---|
| 1605 | "                                     }", | 
|---|
| 1606 | "                             break;", | 
|---|
| 1607 | "                             }", | 
|---|
| 1608 | "", | 
|---|
| 1609 | "                     case EOB_ACT_CONTINUE_SCAN:", | 
|---|
| 1610 | "                             YY_G(yy_c_buf_p) =", | 
|---|
| 1611 | "                                     YY_G(yytext_ptr) + yy_amount_of_matched_text;", | 
|---|
| 1612 | "", | 
|---|
| 1613 | "                             yy_current_state = yy_get_previous_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 1614 | "", | 
|---|
| 1615 | "                             yy_cp = YY_G(yy_c_buf_p);", | 
|---|
| 1616 | "                             yy_bp = YY_G(yytext_ptr) + YY_MORE_ADJ;", | 
|---|
| 1617 | "                             goto yy_match;", | 
|---|
| 1618 | "", | 
|---|
| 1619 | "                     case EOB_ACT_LAST_MATCH:", | 
|---|
| 1620 | "                             YY_G(yy_c_buf_p) =", | 
|---|
| 1621 | "                             &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars)];", | 
|---|
| 1622 | "", | 
|---|
| 1623 | "                             yy_current_state = yy_get_previous_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 1624 | "", | 
|---|
| 1625 | "                             yy_cp = YY_G(yy_c_buf_p);", | 
|---|
| 1626 | "                             yy_bp = YY_G(yytext_ptr) + YY_MORE_ADJ;", | 
|---|
| 1627 | "                             goto yy_find_action;", | 
|---|
| 1628 | "                     }", | 
|---|
| 1629 | "             break;", | 
|---|
| 1630 | "             }", | 
|---|
| 1631 | "", | 
|---|
| 1632 | "     default:", | 
|---|
| 1633 | "             YY_FATAL_ERROR(", | 
|---|
| 1634 | "                     \"fatal flex scanner internal error--no action found\" );", | 
|---|
| 1635 | "     } /* end of action switch */", | 
|---|
| 1636 | "             } /* end of scanning one token */", | 
|---|
| 1637 | "} /* end of yylex */", | 
|---|
| 1638 | "%ok-for-header", | 
|---|
| 1639 | "", | 
|---|
| 1640 | "%if-c++-only", | 
|---|
| 1641 | "%not-for-header", | 
|---|
| 1642 | "yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )", | 
|---|
| 1643 | "{", | 
|---|
| 1644 | "     yyin = arg_yyin;", | 
|---|
| 1645 | "     yyout = arg_yyout;", | 
|---|
| 1646 | "     yy_c_buf_p = 0;", | 
|---|
| 1647 | "     yy_init = 0;", | 
|---|
| 1648 | "     yy_start = 0;", | 
|---|
| 1649 | "     yy_flex_debug = 0;", | 
|---|
| 1650 | "     yylineno = 1;   // this will only get updated if %option yylineno", | 
|---|
| 1651 | "", | 
|---|
| 1652 | "     yy_did_buffer_switch_on_eof = 0;", | 
|---|
| 1653 | "", | 
|---|
| 1654 | "     yy_looking_for_trail_begin = 0;", | 
|---|
| 1655 | "     yy_more_flag = 0;", | 
|---|
| 1656 | "     yy_more_len = 0;", | 
|---|
| 1657 | "     yy_more_offset = yy_prev_more_offset = 0;", | 
|---|
| 1658 | "", | 
|---|
| 1659 | "     yy_start_stack_ptr = yy_start_stack_depth = 0;", | 
|---|
| 1660 | "     yy_start_stack = NULL;", | 
|---|
| 1661 | "", | 
|---|
| 1662 | "    YY_G(yy_buffer_stack) = 0;", | 
|---|
| 1663 | "    YY_G(yy_buffer_stack_top) = 0;", | 
|---|
| 1664 | "    YY_G(yy_buffer_stack_max) = 0;", | 
|---|
| 1665 | "", | 
|---|
| 1666 | "", | 
|---|
| 1667 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 1668 | "[[", | 
|---|
| 1669 | "     yy_state_buf = new yy_state_type[YY_STATE_BUF_SIZE];", | 
|---|
| 1670 | "]],", | 
|---|
| 1671 | "[[", | 
|---|
| 1672 | "     yy_state_buf = 0;", | 
|---|
| 1673 | "]])", | 
|---|
| 1674 | "}", | 
|---|
| 1675 | "", | 
|---|
| 1676 | "yyFlexLexer::~yyFlexLexer()", | 
|---|
| 1677 | "{", | 
|---|
| 1678 | "     delete [] yy_state_buf;", | 
|---|
| 1679 | "     yyfree( yy_start_stack M4_YY_CALL_LAST_ARG );", | 
|---|
| 1680 | "     yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG);", | 
|---|
| 1681 | "}", | 
|---|
| 1682 | "", | 
|---|
| 1683 | "void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )", | 
|---|
| 1684 | "{", | 
|---|
| 1685 | "     if ( new_in )", | 
|---|
| 1686 | "             {", | 
|---|
| 1687 | "             yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG);", | 
|---|
| 1688 | "             yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE  M4_YY_CALL_LAST_ARG) M4_YY_CALL_LAST_ARG);", | 
|---|
| 1689 | "             }", | 
|---|
| 1690 | "", | 
|---|
| 1691 | "     if ( new_out )", | 
|---|
| 1692 | "             yyout = new_out;", | 
|---|
| 1693 | "}", | 
|---|
| 1694 | "", | 
|---|
| 1695 | "#ifdef YY_INTERACTIVE", | 
|---|
| 1696 | "int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )", | 
|---|
| 1697 | "#else", | 
|---|
| 1698 | "int yyFlexLexer::LexerInput( char* buf, int max_size )", | 
|---|
| 1699 | "#endif", | 
|---|
| 1700 | "{", | 
|---|
| 1701 | "     if ( yyin->eof() || yyin->fail() )", | 
|---|
| 1702 | "             return 0;", | 
|---|
| 1703 | "", | 
|---|
| 1704 | "#ifdef YY_INTERACTIVE", | 
|---|
| 1705 | "     yyin->get( buf[0] );", | 
|---|
| 1706 | "", | 
|---|
| 1707 | "     if ( yyin->eof() )", | 
|---|
| 1708 | "             return 0;", | 
|---|
| 1709 | "", | 
|---|
| 1710 | "     if ( yyin->bad() )", | 
|---|
| 1711 | "             return -1;", | 
|---|
| 1712 | "", | 
|---|
| 1713 | "     return 1;", | 
|---|
| 1714 | "", | 
|---|
| 1715 | "#else", | 
|---|
| 1716 | "     (void) yyin->read( buf, max_size );", | 
|---|
| 1717 | "", | 
|---|
| 1718 | "     if ( yyin->bad() )", | 
|---|
| 1719 | "             return -1;", | 
|---|
| 1720 | "     else", | 
|---|
| 1721 | "             return yyin->gcount();", | 
|---|
| 1722 | "#endif", | 
|---|
| 1723 | "}", | 
|---|
| 1724 | "", | 
|---|
| 1725 | "void yyFlexLexer::LexerOutput( const char* buf, int size )", | 
|---|
| 1726 | "{", | 
|---|
| 1727 | "     (void) yyout->write( buf, size );", | 
|---|
| 1728 | "}", | 
|---|
| 1729 | "%ok-for-header", | 
|---|
| 1730 | "%endif", | 
|---|
| 1731 | "", | 
|---|
| 1732 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 1733 | "[[", | 
|---|
| 1734 | "/* yy_get_next_buffer - try to read in a new buffer", | 
|---|
| 1735 | " *", | 
|---|
| 1736 | " * Returns a code representing an action:", | 
|---|
| 1737 | " *   EOB_ACT_LAST_MATCH -", | 
|---|
| 1738 | " *   EOB_ACT_CONTINUE_SCAN - continue scanning from current position", | 
|---|
| 1739 | " *   EOB_ACT_END_OF_FILE - end of file", | 
|---|
| 1740 | " */", | 
|---|
| 1741 | "%if-c-only", | 
|---|
| 1742 | "static int yy_get_next_buffer YYFARGS0(void)", | 
|---|
| 1743 | "%endif", | 
|---|
| 1744 | "%if-c++-only", | 
|---|
| 1745 | "int yyFlexLexer::yy_get_next_buffer()", | 
|---|
| 1746 | "%endif", | 
|---|
| 1747 | "{", | 
|---|
| 1748 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 1749 | "     register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;", | 
|---|
| 1750 | "     register char *source = YY_G(yytext_ptr);", | 
|---|
| 1751 | "     register int number_to_move, i;", | 
|---|
| 1752 | "     int ret_val;", | 
|---|
| 1753 | "", | 
|---|
| 1754 | "     if ( YY_G(yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars) + 1] )", | 
|---|
| 1755 | "             YY_FATAL_ERROR(", | 
|---|
| 1756 | "             \"fatal flex scanner internal error--end of buffer missed\" );", | 
|---|
| 1757 | "", | 
|---|
| 1758 | "     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )", | 
|---|
| 1759 | "             { /* Don't try to fill the buffer, so this is an EOF. */", | 
|---|
| 1760 | "             if ( YY_G(yy_c_buf_p) - YY_G(yytext_ptr) - YY_MORE_ADJ == 1 )", | 
|---|
| 1761 | "                     {", | 
|---|
| 1762 | "                     /* We matched a single character, the EOB, so", | 
|---|
| 1763 | "                      * treat this as a final EOF.", | 
|---|
| 1764 | "                      */", | 
|---|
| 1765 | "                     return EOB_ACT_END_OF_FILE;", | 
|---|
| 1766 | "                     }", | 
|---|
| 1767 | "", | 
|---|
| 1768 | "             else", | 
|---|
| 1769 | "                     {", | 
|---|
| 1770 | "                     /* We matched some text prior to the EOB, first", | 
|---|
| 1771 | "                      * process it.", | 
|---|
| 1772 | "                      */", | 
|---|
| 1773 | "                     return EOB_ACT_LAST_MATCH;", | 
|---|
| 1774 | "                     }", | 
|---|
| 1775 | "             }", | 
|---|
| 1776 | "", | 
|---|
| 1777 | "     /* Try to read more data. */", | 
|---|
| 1778 | "", | 
|---|
| 1779 | "     /* First move last chars to start of buffer. */", | 
|---|
| 1780 | "     number_to_move = (int) (YY_G(yy_c_buf_p) - YY_G(yytext_ptr)) - 1;", | 
|---|
| 1781 | "", | 
|---|
| 1782 | "     for ( i = 0; i < number_to_move; ++i )", | 
|---|
| 1783 | "             *(dest++) = *(source++);", | 
|---|
| 1784 | "", | 
|---|
| 1785 | "     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )", | 
|---|
| 1786 | "             /* don't do the read, it's not guaranteed to return an EOF,", | 
|---|
| 1787 | "              * just force an EOF", | 
|---|
| 1788 | "              */", | 
|---|
| 1789 | "             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = YY_G(yy_n_chars) = 0;", | 
|---|
| 1790 | "", | 
|---|
| 1791 | "     else", | 
|---|
| 1792 | "             {", | 
|---|
| 1793 | "                     int num_to_read =", | 
|---|
| 1794 | "                     YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;", | 
|---|
| 1795 | "", | 
|---|
| 1796 | "             while ( num_to_read <= 0 )", | 
|---|
| 1797 | "                     { /* Not enough room in the buffer - grow it. */", | 
|---|
| 1798 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 1799 | "[[", | 
|---|
| 1800 | "                     YY_FATAL_ERROR(", | 
|---|
| 1801 | "\"input buffer overflow, can't enlarge buffer because scanner uses REJECT\" );", | 
|---|
| 1802 | "]],", | 
|---|
| 1803 | "[[", | 
|---|
| 1804 | "                     /* just a shorter name for the current buffer */", | 
|---|
| 1805 | "                     YY_BUFFER_STATE b = YY_CURRENT_BUFFER;", | 
|---|
| 1806 | "", | 
|---|
| 1807 | "                     int yy_c_buf_p_offset =", | 
|---|
| 1808 | "                             (int) (YY_G(yy_c_buf_p) - b->yy_ch_buf);", | 
|---|
| 1809 | "", | 
|---|
| 1810 | "                     if ( b->yy_is_our_buffer )", | 
|---|
| 1811 | "                             {", | 
|---|
| 1812 | "                             int new_size = b->yy_buf_size * 2;", | 
|---|
| 1813 | "", | 
|---|
| 1814 | "                             if ( new_size <= 0 )", | 
|---|
| 1815 | "                                     b->yy_buf_size += b->yy_buf_size / 8;", | 
|---|
| 1816 | "                             else", | 
|---|
| 1817 | "                                     b->yy_buf_size *= 2;", | 
|---|
| 1818 | "", | 
|---|
| 1819 | "                             b->yy_ch_buf = (char *)", | 
|---|
| 1820 | "                                     /* Include room in for 2 EOB chars. */", | 
|---|
| 1821 | "                                     yyrealloc( (void *) b->yy_ch_buf,", | 
|---|
| 1822 | "                                                      b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG );", | 
|---|
| 1823 | "                             }", | 
|---|
| 1824 | "                     else", | 
|---|
| 1825 | "                             /* Can't grow it, we don't own it. */", | 
|---|
| 1826 | "                             b->yy_ch_buf = 0;", | 
|---|
| 1827 | "", | 
|---|
| 1828 | "                     if ( ! b->yy_ch_buf )", | 
|---|
| 1829 | "                             YY_FATAL_ERROR(", | 
|---|
| 1830 | "                             \"fatal error - scanner input buffer overflow\" );", | 
|---|
| 1831 | "", | 
|---|
| 1832 | "                     YY_G(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];", | 
|---|
| 1833 | "", | 
|---|
| 1834 | "                     num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -", | 
|---|
| 1835 | "                                             number_to_move - 1;", | 
|---|
| 1836 | "]])", | 
|---|
| 1837 | "                     }", | 
|---|
| 1838 | "", | 
|---|
| 1839 | "             if ( num_to_read > YY_READ_BUF_SIZE )", | 
|---|
| 1840 | "                     num_to_read = YY_READ_BUF_SIZE;", | 
|---|
| 1841 | "", | 
|---|
| 1842 | "             /* Read in more data. */", | 
|---|
| 1843 | "             YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),", | 
|---|
| 1844 | "                     YY_G(yy_n_chars), num_to_read );", | 
|---|
| 1845 | "", | 
|---|
| 1846 | "             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = YY_G(yy_n_chars);", | 
|---|
| 1847 | "             }", | 
|---|
| 1848 | "", | 
|---|
| 1849 | "     if ( YY_G(yy_n_chars) == 0 )", | 
|---|
| 1850 | "             {", | 
|---|
| 1851 | "             if ( number_to_move == YY_MORE_ADJ )", | 
|---|
| 1852 | "                     {", | 
|---|
| 1853 | "                     ret_val = EOB_ACT_END_OF_FILE;", | 
|---|
| 1854 | "                     yyrestart( yyin  M4_YY_CALL_LAST_ARG);", | 
|---|
| 1855 | "                     }", | 
|---|
| 1856 | "", | 
|---|
| 1857 | "             else", | 
|---|
| 1858 | "                     {", | 
|---|
| 1859 | "                     ret_val = EOB_ACT_LAST_MATCH;", | 
|---|
| 1860 | "                     YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =", | 
|---|
| 1861 | "                             YY_BUFFER_EOF_PENDING;", | 
|---|
| 1862 | "                     }", | 
|---|
| 1863 | "             }", | 
|---|
| 1864 | "", | 
|---|
| 1865 | "     else", | 
|---|
| 1866 | "             ret_val = EOB_ACT_CONTINUE_SCAN;", | 
|---|
| 1867 | "", | 
|---|
| 1868 | "     YY_G(yy_n_chars) += number_to_move;", | 
|---|
| 1869 | "     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;", | 
|---|
| 1870 | "     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;", | 
|---|
| 1871 | "", | 
|---|
| 1872 | "     YY_G(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];", | 
|---|
| 1873 | "", | 
|---|
| 1874 | "     return ret_val;", | 
|---|
| 1875 | "}", | 
|---|
| 1876 | "]])", | 
|---|
| 1877 | "", | 
|---|
| 1878 | "/* yy_get_previous_state - get the state just before the EOB char was reached */", | 
|---|
| 1879 | "", | 
|---|
| 1880 | "%if-c-only", | 
|---|
| 1881 | "%not-for-header", | 
|---|
| 1882 | "    static yy_state_type yy_get_previous_state YYFARGS0(void)", | 
|---|
| 1883 | "%endif", | 
|---|
| 1884 | "%if-c++-only", | 
|---|
| 1885 | "    yy_state_type yyFlexLexer::yy_get_previous_state()", | 
|---|
| 1886 | "%endif", | 
|---|
| 1887 | "{", | 
|---|
| 1888 | "     register yy_state_type yy_current_state;", | 
|---|
| 1889 | "     register char *yy_cp;", | 
|---|
| 1890 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 1891 | "", | 
|---|
| 1892 | "%% [15.0] code to get the start state into yy_current_state goes here", | 
|---|
| 1893 | "", | 
|---|
| 1894 | "     for ( yy_cp = YY_G(yytext_ptr) + YY_MORE_ADJ; yy_cp < YY_G(yy_c_buf_p); ++yy_cp )", | 
|---|
| 1895 | "             {", | 
|---|
| 1896 | "%% [16.0] code to find the next state goes here", | 
|---|
| 1897 | "             }", | 
|---|
| 1898 | "", | 
|---|
| 1899 | "     return yy_current_state;", | 
|---|
| 1900 | "}", | 
|---|
| 1901 | "", | 
|---|
| 1902 | "", | 
|---|
| 1903 | "/* yy_try_NUL_trans - try to make a transition on the NUL character", | 
|---|
| 1904 | " *", | 
|---|
| 1905 | " * synopsis", | 
|---|
| 1906 | " *   next_state = yy_try_NUL_trans( current_state );", | 
|---|
| 1907 | " */", | 
|---|
| 1908 | "%if-c-only", | 
|---|
| 1909 | "    static yy_state_type yy_try_NUL_trans  YYFARGS1( yy_state_type, yy_current_state)", | 
|---|
| 1910 | "%endif", | 
|---|
| 1911 | "%if-c++-only", | 
|---|
| 1912 | "    yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )", | 
|---|
| 1913 | "%endif", | 
|---|
| 1914 | "{", | 
|---|
| 1915 | "     register int yy_is_jam;", | 
|---|
| 1916 | "    M4_YY_DECL_GUTS_VAR(); /* This var may be unused depending upon options. */", | 
|---|
| 1917 | "%% [17.0] code to find the next state, and perhaps do backing up, goes here", | 
|---|
| 1918 | "", | 
|---|
| 1919 | "     return yy_is_jam ? 0 : yy_current_state;", | 
|---|
| 1920 | "}", | 
|---|
| 1921 | "", | 
|---|
| 1922 | "", | 
|---|
| 1923 | "%if-c-only", | 
|---|
| 1924 | "m4_ifdef( [[M4_YY_NO_UNPUT]],,", | 
|---|
| 1925 | "[[", | 
|---|
| 1926 | "    static void yyunput YYFARGS2( int,c, register char *,yy_bp)", | 
|---|
| 1927 | "%endif", | 
|---|
| 1928 | "%if-c++-only", | 
|---|
| 1929 | "    void yyFlexLexer::yyunput( int c, register char* yy_bp)", | 
|---|
| 1930 | "%endif", | 
|---|
| 1931 | "{", | 
|---|
| 1932 | "     register char *yy_cp;", | 
|---|
| 1933 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 1934 | "", | 
|---|
| 1935 | "    yy_cp = YY_G(yy_c_buf_p);", | 
|---|
| 1936 | "", | 
|---|
| 1937 | "     /* undo effects of setting up yytext */", | 
|---|
| 1938 | "     *yy_cp = YY_G(yy_hold_char);", | 
|---|
| 1939 | "", | 
|---|
| 1940 | "     if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )", | 
|---|
| 1941 | "             { /* need to shift things up to make room */", | 
|---|
| 1942 | "             /* +2 for EOB chars. */", | 
|---|
| 1943 | "             register int number_to_move = YY_G(yy_n_chars) + 2;", | 
|---|
| 1944 | "             register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[", | 
|---|
| 1945 | "                                     YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];", | 
|---|
| 1946 | "             register char *source =", | 
|---|
| 1947 | "                             &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];", | 
|---|
| 1948 | "", | 
|---|
| 1949 | "             while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )", | 
|---|
| 1950 | "                     *--dest = *--source;", | 
|---|
| 1951 | "", | 
|---|
| 1952 | "             yy_cp += (int) (dest - source);", | 
|---|
| 1953 | "             yy_bp += (int) (dest - source);", | 
|---|
| 1954 | "             YY_CURRENT_BUFFER_LVALUE->yy_n_chars =", | 
|---|
| 1955 | "                     YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;", | 
|---|
| 1956 | "", | 
|---|
| 1957 | "             if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )", | 
|---|
| 1958 | "                     YY_FATAL_ERROR( \"flex scanner push-back overflow\" );", | 
|---|
| 1959 | "             }", | 
|---|
| 1960 | "", | 
|---|
| 1961 | "     *--yy_cp = (char) c;", | 
|---|
| 1962 | "", | 
|---|
| 1963 | "%% [18.0] update yylineno here", | 
|---|
| 1964 | "m4_ifdef( [[M4_YY_USE_LINENO]],", | 
|---|
| 1965 | "[[", | 
|---|
| 1966 | "    if ( c == '\\n' ){", | 
|---|
| 1967 | "        --yylineno;", | 
|---|
| 1968 | "    }", | 
|---|
| 1969 | "]])", | 
|---|
| 1970 | "", | 
|---|
| 1971 | "     YY_G(yytext_ptr) = yy_bp;", | 
|---|
| 1972 | "     YY_G(yy_hold_char) = *yy_cp;", | 
|---|
| 1973 | "     YY_G(yy_c_buf_p) = yy_cp;", | 
|---|
| 1974 | "}", | 
|---|
| 1975 | "%if-c-only", | 
|---|
| 1976 | "]])", | 
|---|
| 1977 | "%endif", | 
|---|
| 1978 | "", | 
|---|
| 1979 | "%if-c-only", | 
|---|
| 1980 | "#ifndef YY_NO_INPUT", | 
|---|
| 1981 | "#ifdef __cplusplus", | 
|---|
| 1982 | "    static int yyinput YYFARGS0(void)", | 
|---|
| 1983 | "#else", | 
|---|
| 1984 | "    static int input  YYFARGS0(void)", | 
|---|
| 1985 | "#endif", | 
|---|
| 1986 | "", | 
|---|
| 1987 | "%endif", | 
|---|
| 1988 | "%if-c++-only", | 
|---|
| 1989 | "    int yyFlexLexer::yyinput()", | 
|---|
| 1990 | "%endif", | 
|---|
| 1991 | "{", | 
|---|
| 1992 | "     int c;", | 
|---|
| 1993 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 1994 | "", | 
|---|
| 1995 | "     *YY_G(yy_c_buf_p) = YY_G(yy_hold_char);", | 
|---|
| 1996 | "", | 
|---|
| 1997 | "     if ( *YY_G(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )", | 
|---|
| 1998 | "             {", | 
|---|
| 1999 | "             /* yy_c_buf_p now points to the character we want to return.", | 
|---|
| 2000 | "              * If this occurs *before* the EOB characters, then it's a", | 
|---|
| 2001 | "              * valid NUL; if not, then we've hit the end of the buffer.", | 
|---|
| 2002 | "              */", | 
|---|
| 2003 | "             if ( YY_G(yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[YY_G(yy_n_chars)] )", | 
|---|
| 2004 | "                     /* This was really a NUL. */", | 
|---|
| 2005 | "                     *YY_G(yy_c_buf_p) = '\\0';", | 
|---|
| 2006 | "", | 
|---|
| 2007 | "             else", | 
|---|
| 2008 | "                     { /* need more input */", | 
|---|
| 2009 | "                     int offset = YY_G(yy_c_buf_p) - YY_G(yytext_ptr);", | 
|---|
| 2010 | "                     ++YY_G(yy_c_buf_p);", | 
|---|
| 2011 | "", | 
|---|
| 2012 | "                     switch ( yy_get_next_buffer( M4_YY_CALL_ONLY_ARG ) )", | 
|---|
| 2013 | "                             {", | 
|---|
| 2014 | "                             case EOB_ACT_LAST_MATCH:", | 
|---|
| 2015 | "                                     /* This happens because yy_g_n_b()", | 
|---|
| 2016 | "                                      * sees that we've accumulated a", | 
|---|
| 2017 | "                                      * token and flags that we need to", | 
|---|
| 2018 | "                                      * try matching the token before", | 
|---|
| 2019 | "                                      * proceeding.  But for input(),", | 
|---|
| 2020 | "                                      * there's no matching to consider.", | 
|---|
| 2021 | "                                      * So convert the EOB_ACT_LAST_MATCH", | 
|---|
| 2022 | "                                      * to EOB_ACT_END_OF_FILE.", | 
|---|
| 2023 | "                                      */", | 
|---|
| 2024 | "", | 
|---|
| 2025 | "                                     /* Reset buffer status. */", | 
|---|
| 2026 | "                                     yyrestart( yyin M4_YY_CALL_LAST_ARG);", | 
|---|
| 2027 | "", | 
|---|
| 2028 | "                                     /*FALLTHROUGH*/", | 
|---|
| 2029 | "", | 
|---|
| 2030 | "                             case EOB_ACT_END_OF_FILE:", | 
|---|
| 2031 | "                                     {", | 
|---|
| 2032 | "                                     if ( yywrap( M4_YY_CALL_ONLY_ARG ) )", | 
|---|
| 2033 | "                                             return EOF;", | 
|---|
| 2034 | "", | 
|---|
| 2035 | "                                     if ( ! YY_G(yy_did_buffer_switch_on_eof) )", | 
|---|
| 2036 | "                                             YY_NEW_FILE;", | 
|---|
| 2037 | "#ifdef __cplusplus", | 
|---|
| 2038 | "                                     return yyinput(M4_YY_CALL_ONLY_ARG);", | 
|---|
| 2039 | "#else", | 
|---|
| 2040 | "                                     return input(M4_YY_CALL_ONLY_ARG);", | 
|---|
| 2041 | "#endif", | 
|---|
| 2042 | "                                     }", | 
|---|
| 2043 | "", | 
|---|
| 2044 | "                             case EOB_ACT_CONTINUE_SCAN:", | 
|---|
| 2045 | "                                     YY_G(yy_c_buf_p) = YY_G(yytext_ptr) + offset;", | 
|---|
| 2046 | "                                     break;", | 
|---|
| 2047 | "                             }", | 
|---|
| 2048 | "                     }", | 
|---|
| 2049 | "             }", | 
|---|
| 2050 | "", | 
|---|
| 2051 | "     c = *(unsigned char *) YY_G(yy_c_buf_p);        /* cast for 8-bit char's */", | 
|---|
| 2052 | "     *YY_G(yy_c_buf_p) = '\\0';      /* preserve yytext */", | 
|---|
| 2053 | "     YY_G(yy_hold_char) = *++YY_G(yy_c_buf_p);", | 
|---|
| 2054 | "", | 
|---|
| 2055 | "%% [19.0] update BOL and yylineno", | 
|---|
| 2056 | "", | 
|---|
| 2057 | "     return c;", | 
|---|
| 2058 | "}", | 
|---|
| 2059 | "%if-c-only", | 
|---|
| 2060 | "#endif       /* ifndef YY_NO_INPUT */", | 
|---|
| 2061 | "%endif", | 
|---|
| 2062 | "", | 
|---|
| 2063 | "/** Immediately switch to a different input stream.", | 
|---|
| 2064 | " * @param input_file A readable stream.", | 
|---|
| 2065 | " * M4_YY_DOC_PARAM", | 
|---|
| 2066 | " * @note This function does not reset the start condition to @c INITIAL .", | 
|---|
| 2067 | " */", | 
|---|
| 2068 | "%if-c-only", | 
|---|
| 2069 | "    void yyrestart  YYFARGS1( FILE *,input_file)", | 
|---|
| 2070 | "%endif", | 
|---|
| 2071 | "%if-c++-only", | 
|---|
| 2072 | "    void yyFlexLexer::yyrestart( std::istream* input_file )", | 
|---|
| 2073 | "%endif", | 
|---|
| 2074 | "{", | 
|---|
| 2075 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2076 | "", | 
|---|
| 2077 | "     if ( ! YY_CURRENT_BUFFER ){", | 
|---|
| 2078 | "        yyensure_buffer_stack (M4_YY_CALL_ONLY_ARG);", | 
|---|
| 2079 | "             YY_CURRENT_BUFFER_LVALUE =", | 
|---|
| 2080 | "            yy_create_buffer( yyin, YY_BUF_SIZE M4_YY_CALL_LAST_ARG);", | 
|---|
| 2081 | "     }", | 
|---|
| 2082 | "", | 
|---|
| 2083 | "     yy_init_buffer( YY_CURRENT_BUFFER, input_file M4_YY_CALL_LAST_ARG);", | 
|---|
| 2084 | "     yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 2085 | "}", | 
|---|
| 2086 | "", | 
|---|
| 2087 | "/** Switch to a different input buffer.", | 
|---|
| 2088 | " * @param new_buffer The new input buffer.", | 
|---|
| 2089 | " * M4_YY_DOC_PARAM", | 
|---|
| 2090 | " */", | 
|---|
| 2091 | "%if-c-only", | 
|---|
| 2092 | "    void yy_switch_to_buffer  YYFARGS1( YY_BUFFER_STATE ,new_buffer)", | 
|---|
| 2093 | "%endif", | 
|---|
| 2094 | "%if-c++-only", | 
|---|
| 2095 | "    void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )", | 
|---|
| 2096 | "%endif", | 
|---|
| 2097 | "{", | 
|---|
| 2098 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2099 | "", | 
|---|
| 2100 | "     /* TODO. We should be able to replace this entire function body", | 
|---|
| 2101 | "      * with", | 
|---|
| 2102 | "      *              yypop_buffer_state();", | 
|---|
| 2103 | "      *              yypush_buffer_state(new_buffer);", | 
|---|
| 2104 | "     */", | 
|---|
| 2105 | "     yyensure_buffer_stack (M4_YY_CALL_ONLY_ARG);", | 
|---|
| 2106 | "     if ( YY_CURRENT_BUFFER == new_buffer )", | 
|---|
| 2107 | "             return;", | 
|---|
| 2108 | "", | 
|---|
| 2109 | "     if ( YY_CURRENT_BUFFER )", | 
|---|
| 2110 | "             {", | 
|---|
| 2111 | "             /* Flush out information for old buffer. */", | 
|---|
| 2112 | "             *YY_G(yy_c_buf_p) = YY_G(yy_hold_char);", | 
|---|
| 2113 | "             YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = YY_G(yy_c_buf_p);", | 
|---|
| 2114 | "             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = YY_G(yy_n_chars);", | 
|---|
| 2115 | "             }", | 
|---|
| 2116 | "", | 
|---|
| 2117 | "     YY_CURRENT_BUFFER_LVALUE = new_buffer;", | 
|---|
| 2118 | "     yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 2119 | "", | 
|---|
| 2120 | "     /* We don't actually know whether we did this switch during", | 
|---|
| 2121 | "      * EOF (yywrap()) processing, but the only time this flag", | 
|---|
| 2122 | "      * is looked at is after yywrap() is called, so it's safe", | 
|---|
| 2123 | "      * to go ahead and always set it.", | 
|---|
| 2124 | "      */", | 
|---|
| 2125 | "     YY_G(yy_did_buffer_switch_on_eof) = 1;", | 
|---|
| 2126 | "}", | 
|---|
| 2127 | "", | 
|---|
| 2128 | "", | 
|---|
| 2129 | "%if-c-only", | 
|---|
| 2130 | "static void yy_load_buffer_state  YYFARGS0(void)", | 
|---|
| 2131 | "%endif", | 
|---|
| 2132 | "%if-c++-only", | 
|---|
| 2133 | "    void yyFlexLexer::yy_load_buffer_state()", | 
|---|
| 2134 | "%endif", | 
|---|
| 2135 | "{", | 
|---|
| 2136 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2137 | "     YY_G(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;", | 
|---|
| 2138 | "     YY_G(yytext_ptr) = YY_G(yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;", | 
|---|
| 2139 | "     yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;", | 
|---|
| 2140 | "     YY_G(yy_hold_char) = *YY_G(yy_c_buf_p);", | 
|---|
| 2141 | "}", | 
|---|
| 2142 | "", | 
|---|
| 2143 | "/** Allocate and initialize an input buffer state.", | 
|---|
| 2144 | " * @param file A readable stream.", | 
|---|
| 2145 | " * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.", | 
|---|
| 2146 | " * M4_YY_DOC_PARAM", | 
|---|
| 2147 | " * @return the allocated buffer state.", | 
|---|
| 2148 | " */", | 
|---|
| 2149 | "%if-c-only", | 
|---|
| 2150 | "    YY_BUFFER_STATE yy_create_buffer  YYFARGS2( FILE *,file, int ,size)", | 
|---|
| 2151 | "%endif", | 
|---|
| 2152 | "%if-c++-only", | 
|---|
| 2153 | "    YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )", | 
|---|
| 2154 | "%endif", | 
|---|
| 2155 | "{", | 
|---|
| 2156 | "     YY_BUFFER_STATE b;", | 
|---|
| 2157 | "    m4_dnl M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2158 | "", | 
|---|
| 2159 | "     b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG );", | 
|---|
| 2160 | "     if ( ! b )", | 
|---|
| 2161 | "             YY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );", | 
|---|
| 2162 | "", | 
|---|
| 2163 | "     b->yy_buf_size = size;", | 
|---|
| 2164 | "", | 
|---|
| 2165 | "     /* yy_ch_buf has to be 2 characters longer than the size given because", | 
|---|
| 2166 | "      * we need to put in 2 end-of-buffer characters.", | 
|---|
| 2167 | "      */", | 
|---|
| 2168 | "     b->yy_ch_buf = (char *) yyalloc( b->yy_buf_size + 2 M4_YY_CALL_LAST_ARG );", | 
|---|
| 2169 | "     if ( ! b->yy_ch_buf )", | 
|---|
| 2170 | "             YY_FATAL_ERROR( \"out of dynamic memory in yy_create_buffer()\" );", | 
|---|
| 2171 | "", | 
|---|
| 2172 | "     b->yy_is_our_buffer = 1;", | 
|---|
| 2173 | "", | 
|---|
| 2174 | "     yy_init_buffer( b, file M4_YY_CALL_LAST_ARG);", | 
|---|
| 2175 | "", | 
|---|
| 2176 | "     return b;", | 
|---|
| 2177 | "}", | 
|---|
| 2178 | "", | 
|---|
| 2179 | "/** Destroy the buffer.", | 
|---|
| 2180 | " * @param b a buffer created with yy_create_buffer()", | 
|---|
| 2181 | " * M4_YY_DOC_PARAM", | 
|---|
| 2182 | " */", | 
|---|
| 2183 | "%if-c-only", | 
|---|
| 2184 | "    void yy_delete_buffer YYFARGS1( YY_BUFFER_STATE ,b)", | 
|---|
| 2185 | "%endif", | 
|---|
| 2186 | "%if-c++-only", | 
|---|
| 2187 | "    void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )", | 
|---|
| 2188 | "%endif", | 
|---|
| 2189 | "{", | 
|---|
| 2190 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2191 | "", | 
|---|
| 2192 | "     if ( ! b )", | 
|---|
| 2193 | "             return;", | 
|---|
| 2194 | "", | 
|---|
| 2195 | "     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */", | 
|---|
| 2196 | "             YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;", | 
|---|
| 2197 | "", | 
|---|
| 2198 | "     if ( b->yy_is_our_buffer )", | 
|---|
| 2199 | "             yyfree( (void *) b->yy_ch_buf M4_YY_CALL_LAST_ARG );", | 
|---|
| 2200 | "", | 
|---|
| 2201 | "     yyfree( (void *) b M4_YY_CALL_LAST_ARG );", | 
|---|
| 2202 | "}", | 
|---|
| 2203 | "", | 
|---|
| 2204 | "", | 
|---|
| 2205 | "%if-c-only", | 
|---|
| 2206 | "m4_ifdef( [[M4_YY_ALWAYS_INTERACTIVE]],,", | 
|---|
| 2207 | "[[", | 
|---|
| 2208 | "    m4_ifdef( [[M4_YY_NEVER_INTERACTIVE]],,", | 
|---|
| 2209 | "    [[", | 
|---|
| 2210 | "#ifndef __cplusplus", | 
|---|
| 2211 | "extern int isatty M4_YY_PARAMS( int );", | 
|---|
| 2212 | "#endif /* __cplusplus */", | 
|---|
| 2213 | "    ]])", | 
|---|
| 2214 | "]])", | 
|---|
| 2215 | "%endif", | 
|---|
| 2216 | "", | 
|---|
| 2217 | "%if-c++-only", | 
|---|
| 2218 | "m4_ifdef( [[M4_YY_NEVER_INTERACTIVE]],,", | 
|---|
| 2219 | "[[", | 
|---|
| 2220 | "extern \"C\" int isatty M4_YY_PARAMS( int );", | 
|---|
| 2221 | "]])", | 
|---|
| 2222 | "%endif", | 
|---|
| 2223 | "", | 
|---|
| 2224 | "/* Initializes or reinitializes a buffer.", | 
|---|
| 2225 | " * This function is sometimes called more than once on the same buffer,", | 
|---|
| 2226 | " * such as during a yyrestart() or at EOF.", | 
|---|
| 2227 | " */", | 
|---|
| 2228 | "%if-c-only", | 
|---|
| 2229 | "    static void yy_init_buffer  YYFARGS2( YY_BUFFER_STATE ,b, FILE *,file)", | 
|---|
| 2230 | "%endif", | 
|---|
| 2231 | "%if-c++-only", | 
|---|
| 2232 | "    void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )", | 
|---|
| 2233 | "%endif", | 
|---|
| 2234 | "", | 
|---|
| 2235 | "{", | 
|---|
| 2236 | "     int oerrno = errno;", | 
|---|
| 2237 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2238 | "", | 
|---|
| 2239 | "     yy_flush_buffer( b M4_YY_CALL_LAST_ARG);", | 
|---|
| 2240 | "", | 
|---|
| 2241 | "     b->yy_input_file = file;", | 
|---|
| 2242 | "     b->yy_fill_buffer = 1;", | 
|---|
| 2243 | "", | 
|---|
| 2244 | "    /* If b is the current buffer, then yy_init_buffer was _probably_", | 
|---|
| 2245 | "     * called from yyrestart() or through yy_get_next_buffer.", | 
|---|
| 2246 | "     * In that case, we don't want to reset the lineno or column.", | 
|---|
| 2247 | "     */", | 
|---|
| 2248 | "    if (b != YY_CURRENT_BUFFER){", | 
|---|
| 2249 | "        b->yy_bs_lineno = 1;", | 
|---|
| 2250 | "        b->yy_bs_column = 0;", | 
|---|
| 2251 | "    }", | 
|---|
| 2252 | "", | 
|---|
| 2253 | "%if-c-only", | 
|---|
| 2254 | "m4_ifdef( [[M4_YY_ALWAYS_INTERACTIVE]],", | 
|---|
| 2255 | "[[", | 
|---|
| 2256 | "     b->yy_is_interactive = 1;", | 
|---|
| 2257 | "]],", | 
|---|
| 2258 | "[[", | 
|---|
| 2259 | "    m4_ifdef( [[M4_YY_NEVER_INTERACTIVE]],", | 
|---|
| 2260 | "    [[", | 
|---|
| 2261 | "        b->yy_is_interactive = 0;", | 
|---|
| 2262 | "    ]],", | 
|---|
| 2263 | "    [[", | 
|---|
| 2264 | "        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;", | 
|---|
| 2265 | "    ]])", | 
|---|
| 2266 | "]])", | 
|---|
| 2267 | "%endif", | 
|---|
| 2268 | "%if-c++-only", | 
|---|
| 2269 | "     b->yy_is_interactive = 0;", | 
|---|
| 2270 | "%endif", | 
|---|
| 2271 | "     errno = oerrno;", | 
|---|
| 2272 | "}", | 
|---|
| 2273 | "", | 
|---|
| 2274 | "/** Discard all buffered characters. On the next scan, YY_INPUT will be called.", | 
|---|
| 2275 | " * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.", | 
|---|
| 2276 | " * M4_YY_DOC_PARAM", | 
|---|
| 2277 | " */", | 
|---|
| 2278 | "%if-c-only", | 
|---|
| 2279 | "    void yy_flush_buffer YYFARGS1( YY_BUFFER_STATE ,b)", | 
|---|
| 2280 | "%endif", | 
|---|
| 2281 | "%if-c++-only", | 
|---|
| 2282 | "    void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )", | 
|---|
| 2283 | "%endif", | 
|---|
| 2284 | "{", | 
|---|
| 2285 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2286 | "     if ( ! b )", | 
|---|
| 2287 | "             return;", | 
|---|
| 2288 | "", | 
|---|
| 2289 | "     b->yy_n_chars = 0;", | 
|---|
| 2290 | "", | 
|---|
| 2291 | "     /* We always need two end-of-buffer characters.  The first causes", | 
|---|
| 2292 | "      * a transition to the end-of-buffer state.  The second causes", | 
|---|
| 2293 | "      * a jam in that state.", | 
|---|
| 2294 | "      */", | 
|---|
| 2295 | "     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;", | 
|---|
| 2296 | "     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;", | 
|---|
| 2297 | "", | 
|---|
| 2298 | "     b->yy_buf_pos = &b->yy_ch_buf[0];", | 
|---|
| 2299 | "", | 
|---|
| 2300 | "     b->yy_at_bol = 1;", | 
|---|
| 2301 | "     b->yy_buffer_status = YY_BUFFER_NEW;", | 
|---|
| 2302 | "", | 
|---|
| 2303 | "     if ( b == YY_CURRENT_BUFFER )", | 
|---|
| 2304 | "             yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 2305 | "}", | 
|---|
| 2306 | "", | 
|---|
| 2307 | "%if-c-or-c++", | 
|---|
| 2308 | "/** Pushes the new state onto the stack. The new state becomes", | 
|---|
| 2309 | " *  the current state. This function will allocate the stack", | 
|---|
| 2310 | " *  if necessary.", | 
|---|
| 2311 | " *  @param new_buffer The new state.", | 
|---|
| 2312 | " *  M4_YY_DOC_PARAM", | 
|---|
| 2313 | " */", | 
|---|
| 2314 | "%if-c-only", | 
|---|
| 2315 | "void yypush_buffer_state YYFARGS1(YY_BUFFER_STATE,new_buffer)", | 
|---|
| 2316 | "%endif", | 
|---|
| 2317 | "%if-c++-only", | 
|---|
| 2318 | "void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer)", | 
|---|
| 2319 | "%endif", | 
|---|
| 2320 | "{", | 
|---|
| 2321 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2322 | "     if (new_buffer == NULL)", | 
|---|
| 2323 | "             return;", | 
|---|
| 2324 | "", | 
|---|
| 2325 | "     yyensure_buffer_stack(M4_YY_CALL_ONLY_ARG);", | 
|---|
| 2326 | "", | 
|---|
| 2327 | "     /* This block is copied from yy_switch_to_buffer. */", | 
|---|
| 2328 | "     if ( YY_CURRENT_BUFFER )", | 
|---|
| 2329 | "             {", | 
|---|
| 2330 | "             /* Flush out information for old buffer. */", | 
|---|
| 2331 | "             *YY_G(yy_c_buf_p) = YY_G(yy_hold_char);", | 
|---|
| 2332 | "             YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = YY_G(yy_c_buf_p);", | 
|---|
| 2333 | "             YY_CURRENT_BUFFER_LVALUE->yy_n_chars = YY_G(yy_n_chars);", | 
|---|
| 2334 | "             }", | 
|---|
| 2335 | "", | 
|---|
| 2336 | "     /* Only push if top exists. Otherwise, replace top. */", | 
|---|
| 2337 | "     if (YY_CURRENT_BUFFER)", | 
|---|
| 2338 | "             YY_G(yy_buffer_stack_top)++;", | 
|---|
| 2339 | "     YY_CURRENT_BUFFER_LVALUE = new_buffer;", | 
|---|
| 2340 | "", | 
|---|
| 2341 | "     /* copied from yy_switch_to_buffer. */", | 
|---|
| 2342 | "     yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 2343 | "     YY_G(yy_did_buffer_switch_on_eof) = 1;", | 
|---|
| 2344 | "}", | 
|---|
| 2345 | "%endif", | 
|---|
| 2346 | "", | 
|---|
| 2347 | "", | 
|---|
| 2348 | "%if-c-or-c++", | 
|---|
| 2349 | "/** Removes and deletes the top of the stack, if present.", | 
|---|
| 2350 | " *  The next element becomes the new top.", | 
|---|
| 2351 | " *  M4_YY_DOC_PARAM", | 
|---|
| 2352 | " */", | 
|---|
| 2353 | "%if-c-only", | 
|---|
| 2354 | "void yypop_buffer_state YYFARGS0(void)", | 
|---|
| 2355 | "%endif", | 
|---|
| 2356 | "%if-c++-only", | 
|---|
| 2357 | "void yyFlexLexer::yypop_buffer_state (void)", | 
|---|
| 2358 | "%endif", | 
|---|
| 2359 | "{", | 
|---|
| 2360 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2361 | "     if (!YY_CURRENT_BUFFER)", | 
|---|
| 2362 | "             return;", | 
|---|
| 2363 | "", | 
|---|
| 2364 | "     yy_delete_buffer(YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG);", | 
|---|
| 2365 | "     YY_CURRENT_BUFFER_LVALUE = NULL;", | 
|---|
| 2366 | "     if (YY_G(yy_buffer_stack_top) > 0)", | 
|---|
| 2367 | "             --YY_G(yy_buffer_stack_top);", | 
|---|
| 2368 | "", | 
|---|
| 2369 | "     if (YY_CURRENT_BUFFER) {", | 
|---|
| 2370 | "             yy_load_buffer_state( M4_YY_CALL_ONLY_ARG );", | 
|---|
| 2371 | "             YY_G(yy_did_buffer_switch_on_eof) = 1;", | 
|---|
| 2372 | "     }", | 
|---|
| 2373 | "}", | 
|---|
| 2374 | "%endif", | 
|---|
| 2375 | "", | 
|---|
| 2376 | "", | 
|---|
| 2377 | "%if-c-or-c++", | 
|---|
| 2378 | "/* Allocates the stack if it does not exist.", | 
|---|
| 2379 | " *  Guarantees space for at least one push.", | 
|---|
| 2380 | " */", | 
|---|
| 2381 | "%if-c-only", | 
|---|
| 2382 | "static void yyensure_buffer_stack YYFARGS0(void)", | 
|---|
| 2383 | "%endif", | 
|---|
| 2384 | "%if-c++-only", | 
|---|
| 2385 | "void yyFlexLexer::yyensure_buffer_stack(void)", | 
|---|
| 2386 | "%endif", | 
|---|
| 2387 | "{", | 
|---|
| 2388 | "     int num_to_alloc;", | 
|---|
| 2389 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2390 | "", | 
|---|
| 2391 | "     if (!YY_G(yy_buffer_stack)) {", | 
|---|
| 2392 | "", | 
|---|
| 2393 | "             /* First allocation is just for 2 elements, since we don't know if this", | 
|---|
| 2394 | "              * scanner will even need a stack. We use 2 instead of 1 to avoid an", | 
|---|
| 2395 | "              * immediate realloc on the next call.", | 
|---|
| 2396 | "         */", | 
|---|
| 2397 | "             num_to_alloc = 1;", | 
|---|
| 2398 | "             YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc", | 
|---|
| 2399 | "                                                             (num_to_alloc * sizeof(struct yy_buffer_state*)", | 
|---|
| 2400 | "                                                             M4_YY_CALL_LAST_ARG);", | 
|---|
| 2401 | "             ", | 
|---|
| 2402 | "             memset(YY_G(yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));", | 
|---|
| 2403 | "                             ", | 
|---|
| 2404 | "             YY_G(yy_buffer_stack_max) = num_to_alloc;", | 
|---|
| 2405 | "             YY_G(yy_buffer_stack_top) = 0;", | 
|---|
| 2406 | "             return;", | 
|---|
| 2407 | "     }", | 
|---|
| 2408 | "", | 
|---|
| 2409 | "     if (YY_G(yy_buffer_stack_top) >= (YY_G(yy_buffer_stack_max)) - 1){", | 
|---|
| 2410 | "", | 
|---|
| 2411 | "             /* Increase the buffer to prepare for a possible push. */", | 
|---|
| 2412 | "             int grow_size = 8 /* arbitrary grow size */;", | 
|---|
| 2413 | "", | 
|---|
| 2414 | "             num_to_alloc = YY_G(yy_buffer_stack_max) + grow_size;", | 
|---|
| 2415 | "             YY_G(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc", | 
|---|
| 2416 | "                                                             (YY_G(yy_buffer_stack),", | 
|---|
| 2417 | "                                                             num_to_alloc * sizeof(struct yy_buffer_state*)", | 
|---|
| 2418 | "                                                             M4_YY_CALL_LAST_ARG);", | 
|---|
| 2419 | "", | 
|---|
| 2420 | "             /* zero only the new slots.*/", | 
|---|
| 2421 | "             memset(YY_G(yy_buffer_stack) + YY_G(yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));", | 
|---|
| 2422 | "             YY_G(yy_buffer_stack_max) = num_to_alloc;", | 
|---|
| 2423 | "     }", | 
|---|
| 2424 | "}", | 
|---|
| 2425 | "%endif", | 
|---|
| 2426 | "", | 
|---|
| 2427 | "", | 
|---|
| 2428 | "", | 
|---|
| 2429 | "", | 
|---|
| 2430 | "m4_ifdef( [[M4_YY_NO_SCAN_BUFFER]],,", | 
|---|
| 2431 | "[[", | 
|---|
| 2432 | "%if-c-only", | 
|---|
| 2433 | "/** Setup the input buffer state to scan directly from a user-specified character buffer.", | 
|---|
| 2434 | " * @param base the character buffer", | 
|---|
| 2435 | " * @param size the size in bytes of the character buffer", | 
|---|
| 2436 | " * M4_YY_DOC_PARAM", | 
|---|
| 2437 | " * @return the newly allocated buffer state object. ", | 
|---|
| 2438 | " */", | 
|---|
| 2439 | "YY_BUFFER_STATE yy_scan_buffer  YYFARGS2( char *,base, yy_size_t ,size)", | 
|---|
| 2440 | "{", | 
|---|
| 2441 | "     YY_BUFFER_STATE b;", | 
|---|
| 2442 | "    m4_dnl M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2443 | "", | 
|---|
| 2444 | "     if ( size < 2 ||", | 
|---|
| 2445 | "          base[size-2] != YY_END_OF_BUFFER_CHAR ||", | 
|---|
| 2446 | "          base[size-1] != YY_END_OF_BUFFER_CHAR )", | 
|---|
| 2447 | "             /* They forgot to leave room for the EOB's. */", | 
|---|
| 2448 | "             return 0;", | 
|---|
| 2449 | "", | 
|---|
| 2450 | "     b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) M4_YY_CALL_LAST_ARG );", | 
|---|
| 2451 | "     if ( ! b )", | 
|---|
| 2452 | "             YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_buffer()\" );", | 
|---|
| 2453 | "", | 
|---|
| 2454 | "     b->yy_buf_size = size - 2;      /* \"- 2\" to take care of EOB's */", | 
|---|
| 2455 | "     b->yy_buf_pos = b->yy_ch_buf = base;", | 
|---|
| 2456 | "     b->yy_is_our_buffer = 0;", | 
|---|
| 2457 | "     b->yy_input_file = 0;", | 
|---|
| 2458 | "     b->yy_n_chars = b->yy_buf_size;", | 
|---|
| 2459 | "     b->yy_is_interactive = 0;", | 
|---|
| 2460 | "     b->yy_at_bol = 1;", | 
|---|
| 2461 | "     b->yy_fill_buffer = 0;", | 
|---|
| 2462 | "     b->yy_buffer_status = YY_BUFFER_NEW;", | 
|---|
| 2463 | "", | 
|---|
| 2464 | "     yy_switch_to_buffer( b M4_YY_CALL_LAST_ARG );", | 
|---|
| 2465 | "", | 
|---|
| 2466 | "     return b;", | 
|---|
| 2467 | "}", | 
|---|
| 2468 | "%endif", | 
|---|
| 2469 | "]])", | 
|---|
| 2470 | "", | 
|---|
| 2471 | "", | 
|---|
| 2472 | "m4_ifdef( [[M4_YY_NO_SCAN_STRING]],,", | 
|---|
| 2473 | "[[", | 
|---|
| 2474 | "%if-c-only", | 
|---|
| 2475 | "/** Setup the input buffer state to scan a string. The next call to yylex() will", | 
|---|
| 2476 | " * scan from a @e copy of @a str.", | 
|---|
| 2477 | " * @param str a NUL-terminated string to scan", | 
|---|
| 2478 | " * M4_YY_DOC_PARAM", | 
|---|
| 2479 | " * @return the newly allocated buffer state object.", | 
|---|
| 2480 | " * @note If you want to scan bytes that may contain NUL values, then use", | 
|---|
| 2481 | " *       yy_scan_bytes() instead.", | 
|---|
| 2482 | " */", | 
|---|
| 2483 | "YY_BUFFER_STATE yy_scan_string YYFARGS1( yyconst char *, yystr)", | 
|---|
| 2484 | "{", | 
|---|
| 2485 | "    m4_dnl M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2486 | "", | 
|---|
| 2487 | "     return yy_scan_bytes( yystr, strlen(yystr) M4_YY_CALL_LAST_ARG);", | 
|---|
| 2488 | "}", | 
|---|
| 2489 | "%endif", | 
|---|
| 2490 | "]])", | 
|---|
| 2491 | "", | 
|---|
| 2492 | "", | 
|---|
| 2493 | "m4_ifdef( [[M4_YY_NO_SCAN_BYTES]],,", | 
|---|
| 2494 | "[[", | 
|---|
| 2495 | "%if-c-only", | 
|---|
| 2496 | "/** Setup the input buffer state to scan the given bytes. The next call to yylex() will", | 
|---|
| 2497 | " * scan from a @e copy of @a bytes.", | 
|---|
| 2498 | " * @param bytes the byte buffer to scan", | 
|---|
| 2499 | " * @param len the number of bytes in the buffer pointed to by @a bytes.", | 
|---|
| 2500 | " * M4_YY_DOC_PARAM", | 
|---|
| 2501 | " * @return the newly allocated buffer state object.", | 
|---|
| 2502 | " */", | 
|---|
| 2503 | "YY_BUFFER_STATE yy_scan_bytes  YYFARGS2( yyconst char *,yybytes, int ,_yybytes_len)", | 
|---|
| 2504 | "{", | 
|---|
| 2505 | "     YY_BUFFER_STATE b;", | 
|---|
| 2506 | "     char *buf;", | 
|---|
| 2507 | "     yy_size_t n;", | 
|---|
| 2508 | "     int i;", | 
|---|
| 2509 | "    m4_dnl M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2510 | "", | 
|---|
| 2511 | "     /* Get memory for full buffer, including space for trailing EOB's. */", | 
|---|
| 2512 | "     n = _yybytes_len + 2;", | 
|---|
| 2513 | "     buf = (char *) yyalloc( n M4_YY_CALL_LAST_ARG );", | 
|---|
| 2514 | "     if ( ! buf )", | 
|---|
| 2515 | "             YY_FATAL_ERROR( \"out of dynamic memory in yy_scan_bytes()\" );", | 
|---|
| 2516 | "", | 
|---|
| 2517 | "     for ( i = 0; i < _yybytes_len; ++i )", | 
|---|
| 2518 | "             buf[i] = yybytes[i];", | 
|---|
| 2519 | "", | 
|---|
| 2520 | "     buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;", | 
|---|
| 2521 | "", | 
|---|
| 2522 | "     b = yy_scan_buffer( buf, n M4_YY_CALL_LAST_ARG);", | 
|---|
| 2523 | "     if ( ! b )", | 
|---|
| 2524 | "             YY_FATAL_ERROR( \"bad buffer in yy_scan_bytes()\" );", | 
|---|
| 2525 | "", | 
|---|
| 2526 | "     /* It's okay to grow etc. this buffer, and we should throw it", | 
|---|
| 2527 | "      * away when we're done.", | 
|---|
| 2528 | "      */", | 
|---|
| 2529 | "     b->yy_is_our_buffer = 1;", | 
|---|
| 2530 | "", | 
|---|
| 2531 | "     return b;", | 
|---|
| 2532 | "}", | 
|---|
| 2533 | "%endif", | 
|---|
| 2534 | "]])", | 
|---|
| 2535 | "", | 
|---|
| 2536 | "", | 
|---|
| 2537 | "m4_ifdef( [[M4_YY_NO_PUSH_STATE]],,", | 
|---|
| 2538 | "[[", | 
|---|
| 2539 | "%if-c-only", | 
|---|
| 2540 | "    static void yy_push_state YYFARGS1( int ,new_state)", | 
|---|
| 2541 | "%endif", | 
|---|
| 2542 | "%if-c++-only", | 
|---|
| 2543 | "    void yyFlexLexer::yy_push_state( int new_state )", | 
|---|
| 2544 | "%endif", | 
|---|
| 2545 | "{", | 
|---|
| 2546 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2547 | "     if ( YY_G(yy_start_stack_ptr) >= YY_G(yy_start_stack_depth) )", | 
|---|
| 2548 | "             {", | 
|---|
| 2549 | "             yy_size_t new_size;", | 
|---|
| 2550 | "", | 
|---|
| 2551 | "             YY_G(yy_start_stack_depth) += YY_START_STACK_INCR;", | 
|---|
| 2552 | "             new_size = YY_G(yy_start_stack_depth) * sizeof( int );", | 
|---|
| 2553 | "", | 
|---|
| 2554 | "             if ( ! YY_G(yy_start_stack) )", | 
|---|
| 2555 | "                     YY_G(yy_start_stack) = (int *) yyalloc( new_size M4_YY_CALL_LAST_ARG );", | 
|---|
| 2556 | "", | 
|---|
| 2557 | "             else", | 
|---|
| 2558 | "                     YY_G(yy_start_stack) = (int *) yyrealloc(", | 
|---|
| 2559 | "                                     (void *) YY_G(yy_start_stack), new_size M4_YY_CALL_LAST_ARG );", | 
|---|
| 2560 | "", | 
|---|
| 2561 | "             if ( ! YY_G(yy_start_stack) )", | 
|---|
| 2562 | "                     YY_FATAL_ERROR(", | 
|---|
| 2563 | "                     \"out of memory expanding start-condition stack\" );", | 
|---|
| 2564 | "             }", | 
|---|
| 2565 | "", | 
|---|
| 2566 | "     YY_G(yy_start_stack)[YY_G(yy_start_stack_ptr)++] = YY_START;", | 
|---|
| 2567 | "", | 
|---|
| 2568 | "     BEGIN(new_state);", | 
|---|
| 2569 | "}", | 
|---|
| 2570 | "]])", | 
|---|
| 2571 | "", | 
|---|
| 2572 | "", | 
|---|
| 2573 | "m4_ifdef( [[M4_YY_NO_POP_STATE]],,", | 
|---|
| 2574 | "[[", | 
|---|
| 2575 | "%if-c-only", | 
|---|
| 2576 | "    static void yy_pop_state  YYFARGS0(void)", | 
|---|
| 2577 | "%endif", | 
|---|
| 2578 | "%if-c++-only", | 
|---|
| 2579 | "    void yyFlexLexer::yy_pop_state()", | 
|---|
| 2580 | "%endif", | 
|---|
| 2581 | "{", | 
|---|
| 2582 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2583 | "     if ( --YY_G(yy_start_stack_ptr) < 0 )", | 
|---|
| 2584 | "             YY_FATAL_ERROR( \"start-condition stack underflow\" );", | 
|---|
| 2585 | "", | 
|---|
| 2586 | "     BEGIN(YY_G(yy_start_stack)[YY_G(yy_start_stack_ptr)]);", | 
|---|
| 2587 | "}", | 
|---|
| 2588 | "]])", | 
|---|
| 2589 | "", | 
|---|
| 2590 | "", | 
|---|
| 2591 | "m4_ifdef( [[M4_YY_NO_TOP_STATE]],,", | 
|---|
| 2592 | "[[", | 
|---|
| 2593 | "%if-c-only", | 
|---|
| 2594 | "    static int yy_top_state  YYFARGS0(void)", | 
|---|
| 2595 | "%endif", | 
|---|
| 2596 | "%if-c++-only", | 
|---|
| 2597 | "    int yyFlexLexer::yy_top_state()", | 
|---|
| 2598 | "%endif", | 
|---|
| 2599 | "{", | 
|---|
| 2600 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2601 | "     return YY_G(yy_start_stack)[YY_G(yy_start_stack_ptr) - 1];", | 
|---|
| 2602 | "}", | 
|---|
| 2603 | "]])", | 
|---|
| 2604 | "", | 
|---|
| 2605 | "#ifndef YY_EXIT_FAILURE", | 
|---|
| 2606 | "#define YY_EXIT_FAILURE 2", | 
|---|
| 2607 | "#endif", | 
|---|
| 2608 | "", | 
|---|
| 2609 | "%if-c-only", | 
|---|
| 2610 | "static void yy_fatal_error YYFARGS1(yyconst char*, msg)", | 
|---|
| 2611 | "{", | 
|---|
| 2612 | "    m4_dnl M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2613 | "     (void) fprintf( stderr, \"%s\\n\", msg );", | 
|---|
| 2614 | "     exit( YY_EXIT_FAILURE );", | 
|---|
| 2615 | "}", | 
|---|
| 2616 | "%endif", | 
|---|
| 2617 | "%if-c++-only", | 
|---|
| 2618 | "void yyFlexLexer::LexerError( yyconst char msg[] )", | 
|---|
| 2619 | "{", | 
|---|
| 2620 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2621 | "     std::cerr << msg << std::endl;", | 
|---|
| 2622 | "     exit( YY_EXIT_FAILURE );", | 
|---|
| 2623 | "}", | 
|---|
| 2624 | "%endif", | 
|---|
| 2625 | "", | 
|---|
| 2626 | "/* Redefine yyless() so it works in section 3 code. */", | 
|---|
| 2627 | "", | 
|---|
| 2628 | "#undef yyless", | 
|---|
| 2629 | "#define yyless(n) \\", | 
|---|
| 2630 | "     do \\", | 
|---|
| 2631 | "             { \\", | 
|---|
| 2632 | "             /* Undo effects of setting up yytext. */ \\", | 
|---|
| 2633 | "        int yyless_macro_arg = (n); \\", | 
|---|
| 2634 | "        YY_LESS_LINENO(yyless_macro_arg);\\", | 
|---|
| 2635 | "             yytext[yyleng] = YY_G(yy_hold_char); \\", | 
|---|
| 2636 | "             YY_G(yy_c_buf_p) = yytext + yyless_macro_arg; \\", | 
|---|
| 2637 | "             YY_G(yy_hold_char) = *YY_G(yy_c_buf_p); \\", | 
|---|
| 2638 | "             *YY_G(yy_c_buf_p) = '\\0'; \\", | 
|---|
| 2639 | "             yyleng = yyless_macro_arg; \\", | 
|---|
| 2640 | "             } \\", | 
|---|
| 2641 | "     while ( 0 )", | 
|---|
| 2642 | "", | 
|---|
| 2643 | "", | 
|---|
| 2644 | "", | 
|---|
| 2645 | "/* Accessor  methods (get/set functions) to struct members. */", | 
|---|
| 2646 | "", | 
|---|
| 2647 | "%if-c-only", | 
|---|
| 2648 | "%if-reentrant", | 
|---|
| 2649 | "m4_ifdef( [[M4_YY_NO_GET_EXTRA]],,", | 
|---|
| 2650 | "[[", | 
|---|
| 2651 | "/** Get the user-defined data for this scanner.", | 
|---|
| 2652 | " * M4_YY_DOC_PARAM", | 
|---|
| 2653 | " */", | 
|---|
| 2654 | "YY_EXTRA_TYPE yyget_extra  YYFARGS0(void)", | 
|---|
| 2655 | "{", | 
|---|
| 2656 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2657 | "    return yyextra;", | 
|---|
| 2658 | "}", | 
|---|
| 2659 | "]])", | 
|---|
| 2660 | "%endif", | 
|---|
| 2661 | "", | 
|---|
| 2662 | "m4_ifdef( [[M4_YY_NO_GET_LINENO]],,", | 
|---|
| 2663 | "[[", | 
|---|
| 2664 | "/** Get the current line number.", | 
|---|
| 2665 | " * M4_YY_DOC_PARAM", | 
|---|
| 2666 | " */", | 
|---|
| 2667 | "int yyget_lineno  YYFARGS0(void)", | 
|---|
| 2668 | "{", | 
|---|
| 2669 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2670 | "    ", | 
|---|
| 2671 | "    m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2672 | "    [[", | 
|---|
| 2673 | "        if (! YY_CURRENT_BUFFER)", | 
|---|
| 2674 | "            return 0;", | 
|---|
| 2675 | "    ]])", | 
|---|
| 2676 | "    return yylineno;", | 
|---|
| 2677 | "}", | 
|---|
| 2678 | "]])", | 
|---|
| 2679 | "", | 
|---|
| 2680 | "m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2681 | "[[", | 
|---|
| 2682 | "m4_ifdef( [[M4_YY_NO_GET_COLUMN]],,", | 
|---|
| 2683 | "[[", | 
|---|
| 2684 | "/** Get the current column number.", | 
|---|
| 2685 | " * M4_YY_DOC_PARAM", | 
|---|
| 2686 | " */", | 
|---|
| 2687 | "int yyget_column  YYFARGS0(void)", | 
|---|
| 2688 | "{", | 
|---|
| 2689 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2690 | "    ", | 
|---|
| 2691 | "    m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2692 | "    [[", | 
|---|
| 2693 | "        if (! YY_CURRENT_BUFFER)", | 
|---|
| 2694 | "            return 0;", | 
|---|
| 2695 | "    ]])", | 
|---|
| 2696 | "    return yycolumn;", | 
|---|
| 2697 | "}", | 
|---|
| 2698 | "]])", | 
|---|
| 2699 | "]])", | 
|---|
| 2700 | "", | 
|---|
| 2701 | "m4_ifdef( [[M4_YY_NO_GET_IN]],,", | 
|---|
| 2702 | "[[", | 
|---|
| 2703 | "/** Get the input stream.", | 
|---|
| 2704 | " * M4_YY_DOC_PARAM", | 
|---|
| 2705 | " */", | 
|---|
| 2706 | "FILE *yyget_in  YYFARGS0(void)", | 
|---|
| 2707 | "{", | 
|---|
| 2708 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2709 | "    return yyin;", | 
|---|
| 2710 | "}", | 
|---|
| 2711 | "]])", | 
|---|
| 2712 | "", | 
|---|
| 2713 | "m4_ifdef( [[M4_YY_NO_GET_OUT]],,", | 
|---|
| 2714 | "[[", | 
|---|
| 2715 | "/** Get the output stream.", | 
|---|
| 2716 | " * M4_YY_DOC_PARAM", | 
|---|
| 2717 | " */", | 
|---|
| 2718 | "FILE *yyget_out  YYFARGS0(void)", | 
|---|
| 2719 | "{", | 
|---|
| 2720 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2721 | "    return yyout;", | 
|---|
| 2722 | "}", | 
|---|
| 2723 | "]])", | 
|---|
| 2724 | "", | 
|---|
| 2725 | "m4_ifdef( [[M4_YY_NO_GET_LENG]],,", | 
|---|
| 2726 | "[[", | 
|---|
| 2727 | "/** Get the length of the current token.", | 
|---|
| 2728 | " * M4_YY_DOC_PARAM", | 
|---|
| 2729 | " */", | 
|---|
| 2730 | "int yyget_leng  YYFARGS0(void)", | 
|---|
| 2731 | "{", | 
|---|
| 2732 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2733 | "    return yyleng;", | 
|---|
| 2734 | "}", | 
|---|
| 2735 | "]])", | 
|---|
| 2736 | "", | 
|---|
| 2737 | "/** Get the current token.", | 
|---|
| 2738 | " * M4_YY_DOC_PARAM", | 
|---|
| 2739 | " */", | 
|---|
| 2740 | "m4_ifdef( [[M4_YY_NO_GET_TEXT]],,", | 
|---|
| 2741 | "[[", | 
|---|
| 2742 | "char *yyget_text  YYFARGS0(void)", | 
|---|
| 2743 | "{", | 
|---|
| 2744 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2745 | "    return yytext;", | 
|---|
| 2746 | "}", | 
|---|
| 2747 | "]])", | 
|---|
| 2748 | "", | 
|---|
| 2749 | "%if-reentrant", | 
|---|
| 2750 | "m4_ifdef( [[M4_YY_NO_SET_EXTRA]],,", | 
|---|
| 2751 | "[[", | 
|---|
| 2752 | "/** Set the user-defined data. This data is never touched by the scanner.", | 
|---|
| 2753 | " * @param user_defined The data to be associated with this scanner.", | 
|---|
| 2754 | " * M4_YY_DOC_PARAM", | 
|---|
| 2755 | " */", | 
|---|
| 2756 | "void yyset_extra YYFARGS1( YY_EXTRA_TYPE ,user_defined)", | 
|---|
| 2757 | "{", | 
|---|
| 2758 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2759 | "    yyextra = user_defined ;", | 
|---|
| 2760 | "}", | 
|---|
| 2761 | "]])", | 
|---|
| 2762 | "%endif", | 
|---|
| 2763 | "", | 
|---|
| 2764 | "m4_ifdef( [[M4_YY_NO_SET_LINENO]],,", | 
|---|
| 2765 | "[[", | 
|---|
| 2766 | "/** Set the current line number.", | 
|---|
| 2767 | " * @param line_number", | 
|---|
| 2768 | " * M4_YY_DOC_PARAM", | 
|---|
| 2769 | " */", | 
|---|
| 2770 | "void yyset_lineno YYFARGS1( int ,line_number)", | 
|---|
| 2771 | "{", | 
|---|
| 2772 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2773 | "", | 
|---|
| 2774 | "    m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2775 | "    [[", | 
|---|
| 2776 | "        /* lineno is only valid if an input buffer exists. */", | 
|---|
| 2777 | "        if (! YY_CURRENT_BUFFER )", | 
|---|
| 2778 | "           yy_fatal_error( \"yyset_lineno called with no buffer\" M4_YY_CALL_LAST_ARG); ", | 
|---|
| 2779 | "    ]])", | 
|---|
| 2780 | "    yylineno = line_number;", | 
|---|
| 2781 | "}", | 
|---|
| 2782 | "]])", | 
|---|
| 2783 | "", | 
|---|
| 2784 | "m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2785 | "[[", | 
|---|
| 2786 | "m4_ifdef( [[M4_YY_NO_SET_COLUMN]],,", | 
|---|
| 2787 | "[[", | 
|---|
| 2788 | "/** Set the current column.", | 
|---|
| 2789 | " * @param line_number", | 
|---|
| 2790 | " * M4_YY_DOC_PARAM", | 
|---|
| 2791 | " */", | 
|---|
| 2792 | "void yyset_column YYFARGS1( int , column_no)", | 
|---|
| 2793 | "{", | 
|---|
| 2794 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2795 | "", | 
|---|
| 2796 | "    m4_ifdef( [[M4_YY_REENTRANT]],", | 
|---|
| 2797 | "    [[", | 
|---|
| 2798 | "        /* column is only valid if an input buffer exists. */", | 
|---|
| 2799 | "        if (! YY_CURRENT_BUFFER )", | 
|---|
| 2800 | "           yy_fatal_error( \"yyset_column called with no buffer\" M4_YY_CALL_LAST_ARG); ", | 
|---|
| 2801 | "    ]])", | 
|---|
| 2802 | "    yycolumn = column_no;", | 
|---|
| 2803 | "}", | 
|---|
| 2804 | "]])", | 
|---|
| 2805 | "]])", | 
|---|
| 2806 | "", | 
|---|
| 2807 | "", | 
|---|
| 2808 | "m4_ifdef( [[M4_YY_NO_SET_IN]],,", | 
|---|
| 2809 | "[[", | 
|---|
| 2810 | "/** Set the input stream. This does not discard the current", | 
|---|
| 2811 | " * input buffer.", | 
|---|
| 2812 | " * @param in_str A readable stream.", | 
|---|
| 2813 | " * M4_YY_DOC_PARAM", | 
|---|
| 2814 | " * @see yy_switch_to_buffer", | 
|---|
| 2815 | " */", | 
|---|
| 2816 | "void yyset_in YYFARGS1( FILE * ,in_str)", | 
|---|
| 2817 | "{", | 
|---|
| 2818 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2819 | "    yyin = in_str ;", | 
|---|
| 2820 | "}", | 
|---|
| 2821 | "]])", | 
|---|
| 2822 | "", | 
|---|
| 2823 | "m4_ifdef( [[M4_YY_NO_SET_OUT]],,", | 
|---|
| 2824 | "[[", | 
|---|
| 2825 | "void yyset_out YYFARGS1( FILE * ,out_str)", | 
|---|
| 2826 | "{", | 
|---|
| 2827 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2828 | "    yyout = out_str ;", | 
|---|
| 2829 | "}", | 
|---|
| 2830 | "]])", | 
|---|
| 2831 | "", | 
|---|
| 2832 | "", | 
|---|
| 2833 | "m4_ifdef( [[M4_YY_NO_GET_DEBUG]],,", | 
|---|
| 2834 | "[[", | 
|---|
| 2835 | "int yyget_debug  YYFARGS0(void)", | 
|---|
| 2836 | "{", | 
|---|
| 2837 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2838 | "    return yy_flex_debug;", | 
|---|
| 2839 | "}", | 
|---|
| 2840 | "]])", | 
|---|
| 2841 | "", | 
|---|
| 2842 | "m4_ifdef( [[M4_YY_NO_SET_DEBUG]],,", | 
|---|
| 2843 | "[[", | 
|---|
| 2844 | "void yyset_debug YYFARGS1( int ,bdebug)", | 
|---|
| 2845 | "{", | 
|---|
| 2846 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2847 | "    yy_flex_debug = bdebug ;", | 
|---|
| 2848 | "}", | 
|---|
| 2849 | "]])", | 
|---|
| 2850 | "%endif", | 
|---|
| 2851 | "", | 
|---|
| 2852 | "%if-reentrant", | 
|---|
| 2853 | "/* Accessor methods for yylval and yylloc */", | 
|---|
| 2854 | "", | 
|---|
| 2855 | "%if-bison-bridge", | 
|---|
| 2856 | "m4_ifdef( [[M4_YY_NO_GET_LVAL]],,", | 
|---|
| 2857 | "[[", | 
|---|
| 2858 | "YYSTYPE * yyget_lval  YYFARGS0(void)", | 
|---|
| 2859 | "{", | 
|---|
| 2860 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2861 | "    return yylval;", | 
|---|
| 2862 | "}", | 
|---|
| 2863 | "]])", | 
|---|
| 2864 | "", | 
|---|
| 2865 | "m4_ifdef( [[M4_YY_NO_SET_LVAL]],,", | 
|---|
| 2866 | "[[", | 
|---|
| 2867 | "void yyset_lval YYFARGS1( YYSTYPE * ,yylval_param)", | 
|---|
| 2868 | "{", | 
|---|
| 2869 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2870 | "    yylval = yylval_param;", | 
|---|
| 2871 | "}", | 
|---|
| 2872 | "]])", | 
|---|
| 2873 | "", | 
|---|
| 2874 | "m4_ifdef( [[<M4_YY_BISON_LLOC>]],", | 
|---|
| 2875 | "[[", | 
|---|
| 2876 | "    m4_ifdef( [[M4_YY_NO_GET_LLOC]],,", | 
|---|
| 2877 | "    [[", | 
|---|
| 2878 | "YYLTYPE *yyget_lloc  YYFARGS0(void)", | 
|---|
| 2879 | "{", | 
|---|
| 2880 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2881 | "    return yylloc;", | 
|---|
| 2882 | "}", | 
|---|
| 2883 | "    ]])", | 
|---|
| 2884 | "", | 
|---|
| 2885 | "    m4_ifdef( [[M4_YY_NO_SET_LLOC]],,", | 
|---|
| 2886 | "    [[", | 
|---|
| 2887 | "void yyset_lloc YYFARGS1( YYLTYPE * ,yylloc_param)", | 
|---|
| 2888 | "{", | 
|---|
| 2889 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2890 | "    yylloc = yylloc_param;", | 
|---|
| 2891 | "}", | 
|---|
| 2892 | "    ]])", | 
|---|
| 2893 | "]])", | 
|---|
| 2894 | "", | 
|---|
| 2895 | "%endif", | 
|---|
| 2896 | "", | 
|---|
| 2897 | "", | 
|---|
| 2898 | "/* User-visible API */", | 
|---|
| 2899 | "", | 
|---|
| 2900 | "/* yylex_init is special because it creates the scanner itself, so it is", | 
|---|
| 2901 | " * the ONLY reentrant function that doesn't take the scanner as the last argument.", | 
|---|
| 2902 | " * That's why we explicitly handle the declaration, instead of using our macros.", | 
|---|
| 2903 | " */", | 
|---|
| 2904 | "m4_ifdef( [[M4_YY_NO_ANSI_FUNC_DEFS]],", | 
|---|
| 2905 | "[[", | 
|---|
| 2906 | "int yylex_init( ptr_yy_globals )", | 
|---|
| 2907 | "    yyscan_t* ptr_yy_globals;", | 
|---|
| 2908 | "]],", | 
|---|
| 2909 | "[[", | 
|---|
| 2910 | "int yylex_init(yyscan_t* ptr_yy_globals)", | 
|---|
| 2911 | "]])", | 
|---|
| 2912 | "{", | 
|---|
| 2913 | "    if (ptr_yy_globals == NULL){", | 
|---|
| 2914 | "        errno = EINVAL;", | 
|---|
| 2915 | "        return 1;", | 
|---|
| 2916 | "    }", | 
|---|
| 2917 | "", | 
|---|
| 2918 | "    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );", | 
|---|
| 2919 | "", | 
|---|
| 2920 | "    if (*ptr_yy_globals == NULL){", | 
|---|
| 2921 | "        errno = ENOMEM;", | 
|---|
| 2922 | "        return 1;", | 
|---|
| 2923 | "    }", | 
|---|
| 2924 | "", | 
|---|
| 2925 | "    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */", | 
|---|
| 2926 | "    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));", | 
|---|
| 2927 | "", | 
|---|
| 2928 | "    return yy_init_globals ( *ptr_yy_globals );", | 
|---|
| 2929 | "}", | 
|---|
| 2930 | "", | 
|---|
| 2931 | "%endif", | 
|---|
| 2932 | "", | 
|---|
| 2933 | "%if-c-only", | 
|---|
| 2934 | "static int yy_init_globals YYFARGS0(void)", | 
|---|
| 2935 | "{", | 
|---|
| 2936 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 2937 | "    /* Initialization is the same as for the non-reentrant scanner.", | 
|---|
| 2938 | "     * This function is called from yylex_destroy(), so don't allocate here.", | 
|---|
| 2939 | "     */", | 
|---|
| 2940 | "", | 
|---|
| 2941 | "m4_ifdef( [[M4_YY_USE_LINENO]],", | 
|---|
| 2942 | "[[", | 
|---|
| 2943 | "    m4_ifdef( [[M4_YY_NOT_REENTRANT]],", | 
|---|
| 2944 | "    [[", | 
|---|
| 2945 | "    /* We do not touch yylineno unless the option is enabled. */", | 
|---|
| 2946 | "    yylineno =  1;", | 
|---|
| 2947 | "    ]])", | 
|---|
| 2948 | "]])", | 
|---|
| 2949 | "    YY_G(yy_buffer_stack) = 0;", | 
|---|
| 2950 | "    YY_G(yy_buffer_stack_top) = 0;", | 
|---|
| 2951 | "    YY_G(yy_buffer_stack_max) = 0;", | 
|---|
| 2952 | "    YY_G(yy_c_buf_p) = (char *) 0;", | 
|---|
| 2953 | "    YY_G(yy_init) = 0;", | 
|---|
| 2954 | "    YY_G(yy_start) = 0;", | 
|---|
| 2955 | "", | 
|---|
| 2956 | "m4_ifdef( [[M4_YY_HAS_START_STACK_VARS]],", | 
|---|
| 2957 | "[[", | 
|---|
| 2958 | "    YY_G(yy_start_stack_ptr) = 0;", | 
|---|
| 2959 | "    YY_G(yy_start_stack_depth) = 0;", | 
|---|
| 2960 | "    YY_G(yy_start_stack) =  NULL;", | 
|---|
| 2961 | "]])", | 
|---|
| 2962 | "", | 
|---|
| 2963 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 2964 | "[[", | 
|---|
| 2965 | "    YY_G(yy_state_buf) = 0;", | 
|---|
| 2966 | "    YY_G(yy_state_ptr) = 0;", | 
|---|
| 2967 | "    YY_G(yy_full_match) = 0;", | 
|---|
| 2968 | "    YY_G(yy_lp) = 0;", | 
|---|
| 2969 | "]])", | 
|---|
| 2970 | "", | 
|---|
| 2971 | "m4_ifdef( [[M4_YY_TEXT_IS_ARRAY]],", | 
|---|
| 2972 | "[[", | 
|---|
| 2973 | "    YY_G(yytext_ptr) = 0;", | 
|---|
| 2974 | "    YY_G(yy_more_offset) = 0;", | 
|---|
| 2975 | "    YY_G(yy_prev_more_offset) = 0;", | 
|---|
| 2976 | "]])", | 
|---|
| 2977 | "", | 
|---|
| 2978 | "/* Defined in main.c */", | 
|---|
| 2979 | "#ifdef YY_STDINIT", | 
|---|
| 2980 | "    yyin = stdin;", | 
|---|
| 2981 | "    yyout = stdout;", | 
|---|
| 2982 | "#else", | 
|---|
| 2983 | "    yyin = (FILE *) 0;", | 
|---|
| 2984 | "    yyout = (FILE *) 0;", | 
|---|
| 2985 | "#endif", | 
|---|
| 2986 | "", | 
|---|
| 2987 | "    /* For future reference: Set errno on error, since we are called by", | 
|---|
| 2988 | "     * yylex_init()", | 
|---|
| 2989 | "     */", | 
|---|
| 2990 | "    return 0;", | 
|---|
| 2991 | "}", | 
|---|
| 2992 | "%endif", | 
|---|
| 2993 | "", | 
|---|
| 2994 | "", | 
|---|
| 2995 | "%if-c-only SNIP! this currently causes conflicts with the c++ scanner", | 
|---|
| 2996 | "/* yylex_destroy is for both reentrant and non-reentrant scanners. */", | 
|---|
| 2997 | "int yylex_destroy  YYFARGS0(void)", | 
|---|
| 2998 | "{", | 
|---|
| 2999 | "    M4_YY_DECL_GUTS_VAR();", | 
|---|
| 3000 | "", | 
|---|
| 3001 | "    /* Pop the buffer stack, destroying each element. */", | 
|---|
| 3002 | "     while(YY_CURRENT_BUFFER){", | 
|---|
| 3003 | "             yy_delete_buffer( YY_CURRENT_BUFFER M4_YY_CALL_LAST_ARG );", | 
|---|
| 3004 | "             YY_CURRENT_BUFFER_LVALUE = NULL;", | 
|---|
| 3005 | "             yypop_buffer_state(M4_YY_CALL_ONLY_ARG);", | 
|---|
| 3006 | "     }", | 
|---|
| 3007 | "", | 
|---|
| 3008 | "     /* Destroy the stack itself. */", | 
|---|
| 3009 | "     yyfree(YY_G(yy_buffer_stack) M4_YY_CALL_LAST_ARG);", | 
|---|
| 3010 | "     YY_G(yy_buffer_stack) = NULL;", | 
|---|
| 3011 | "", | 
|---|
| 3012 | "m4_ifdef( [[M4_YY_HAS_START_STACK_VARS]],", | 
|---|
| 3013 | "[[", | 
|---|
| 3014 | "    /* Destroy the start condition stack. */", | 
|---|
| 3015 | "        yyfree( YY_G(yy_start_stack) M4_YY_CALL_LAST_ARG );", | 
|---|
| 3016 | "        YY_G(yy_start_stack) = NULL;", | 
|---|
| 3017 | "]])", | 
|---|
| 3018 | "", | 
|---|
| 3019 | "m4_ifdef( [[M4_YY_USES_REJECT]],", | 
|---|
| 3020 | "[[", | 
|---|
| 3021 | "    yyfree ( YY_G(yy_state_buf) M4_YY_CALL_LAST_ARG);", | 
|---|
| 3022 | "    YY_G(yy_state_buf)  = NULL;", | 
|---|
| 3023 | "]])", | 
|---|
| 3024 | "", | 
|---|
| 3025 | "    /* Reset the globals. This is important in a non-reentrant scanner so the next time", | 
|---|
| 3026 | "     * yylex() is called, initialization will occur. */", | 
|---|
| 3027 | "    yy_init_globals( M4_YY_CALL_ONLY_ARG);", | 
|---|
| 3028 | "", | 
|---|
| 3029 | "%if-reentrant", | 
|---|
| 3030 | "    /* Destroy the main struct (reentrant only). */", | 
|---|
| 3031 | "    yyfree ( yyscanner M4_YY_CALL_LAST_ARG );", | 
|---|
| 3032 | "    yyscanner = NULL;", | 
|---|
| 3033 | "%endif", | 
|---|
| 3034 | "    return 0;", | 
|---|
| 3035 | "}", | 
|---|
| 3036 | "%endif", | 
|---|
| 3037 | "", | 
|---|
| 3038 | "", | 
|---|
| 3039 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 3040 | "[[", | 
|---|
| 3041 | "/*", | 
|---|
| 3042 | " * Internal utility routines.", | 
|---|
| 3043 | " */", | 
|---|
| 3044 | "]])", | 
|---|
| 3045 | "", | 
|---|
| 3046 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 3047 | "[[", | 
|---|
| 3048 | "#ifndef yytext_ptr", | 
|---|
| 3049 | "static void yy_flex_strncpy YYFARGS3( char*,s1, yyconst char *,s2, int,n)", | 
|---|
| 3050 | "{", | 
|---|
| 3051 | "     register int i;", | 
|---|
| 3052 | "     for ( i = 0; i < n; ++i )", | 
|---|
| 3053 | "             s1[i] = s2[i];", | 
|---|
| 3054 | "}", | 
|---|
| 3055 | "#endif", | 
|---|
| 3056 | "]])", | 
|---|
| 3057 | "", | 
|---|
| 3058 | "m4_ifdef( [[M4_YY_NOT_IN_HEADER]],", | 
|---|
| 3059 | "[[", | 
|---|
| 3060 | "#ifdef YY_NEED_STRLEN", | 
|---|
| 3061 | "static int yy_flex_strlen YYFARGS1( yyconst char *,s)", | 
|---|
| 3062 | "{", | 
|---|
| 3063 | "     register int n;", | 
|---|
| 3064 | "     for ( n = 0; s[n]; ++n )", | 
|---|
| 3065 | "             ;", | 
|---|
| 3066 | "", | 
|---|
| 3067 | "     return n;", | 
|---|
| 3068 | "}", | 
|---|
| 3069 | "#endif", | 
|---|
| 3070 | "]])", | 
|---|
| 3071 | "", | 
|---|
| 3072 | "m4_ifdef( [[M4_YY_NO_FLEX_ALLOC]],,", | 
|---|
| 3073 | "[[", | 
|---|
| 3074 | "void *yyalloc YYFARGS1( yy_size_t ,size)", | 
|---|
| 3075 | "{", | 
|---|
| 3076 | "     return (void *) malloc( size );", | 
|---|
| 3077 | "}", | 
|---|
| 3078 | "]])", | 
|---|
| 3079 | "", | 
|---|
| 3080 | "m4_ifdef( [[M4_YY_NO_FLEX_REALLOC]],,", | 
|---|
| 3081 | "[[", | 
|---|
| 3082 | "void *yyrealloc  YYFARGS2( void *,ptr, yy_size_t ,size)", | 
|---|
| 3083 | "{", | 
|---|
| 3084 | "     /* The cast to (char *) in the following accommodates both", | 
|---|
| 3085 | "      * implementations that use char* generic pointers, and those", | 
|---|
| 3086 | "      * that use void* generic pointers.  It works with the latter", | 
|---|
| 3087 | "      * because both ANSI C and C++ allow castless assignment from", | 
|---|
| 3088 | "      * any pointer type to void*, and deal with argument conversions", | 
|---|
| 3089 | "      * as though doing an assignment.", | 
|---|
| 3090 | "      */", | 
|---|
| 3091 | "     return (void *) realloc( (char *) ptr, size );", | 
|---|
| 3092 | "}", | 
|---|
| 3093 | "]])", | 
|---|
| 3094 | "", | 
|---|
| 3095 | "m4_ifdef( [[M4_YY_NO_FLEX_FREE]],,", | 
|---|
| 3096 | "[[", | 
|---|
| 3097 | "void yyfree YYFARGS1( void *,ptr)", | 
|---|
| 3098 | "{", | 
|---|
| 3099 | "     free( (char *) ptr );   /* see yyrealloc() for (char *) cast */", | 
|---|
| 3100 | "}", | 
|---|
| 3101 | "]])", | 
|---|
| 3102 | "", | 
|---|
| 3103 | "%if-tables-serialization definitions", | 
|---|
| 3104 | "#ifdef FLEX_SCANNER", | 
|---|
| 3105 | "/*", | 
|---|
| 3106 | "dnl   tables_shared.c - tables serialization code", | 
|---|
| 3107 | "dnl ", | 
|---|
| 3108 | "dnl   Copyright (c) 1990 The Regents of the University of California.", | 
|---|
| 3109 | "dnl   All rights reserved.", | 
|---|
| 3110 | "dnl ", | 
|---|
| 3111 | "dnl   This code is derived from software contributed to Berkeley by", | 
|---|
| 3112 | "dnl   Vern Paxson.", | 
|---|
| 3113 | "dnl ", | 
|---|
| 3114 | "dnl   The United States Government has rights in this work pursuant", | 
|---|
| 3115 | "dnl   to contract no. DE-AC03-76SF00098 between the United States", | 
|---|
| 3116 | "dnl   Department of Energy and the University of California.", | 
|---|
| 3117 | "dnl ", | 
|---|
| 3118 | "dnl   This file is part of flex.", | 
|---|
| 3119 | "dnl ", | 
|---|
| 3120 | "dnl   Redistribution and use in source and binary forms, with or without", | 
|---|
| 3121 | "dnl   modification, are permitted provided that the following conditions", | 
|---|
| 3122 | "dnl   are met:", | 
|---|
| 3123 | "dnl ", | 
|---|
| 3124 | "dnl   1. Redistributions of source code must retain the above copyright", | 
|---|
| 3125 | "dnl      notice, this list of conditions and the following disclaimer.", | 
|---|
| 3126 | "dnl   2. Redistributions in binary form must reproduce the above copyright", | 
|---|
| 3127 | "dnl      notice, this list of conditions and the following disclaimer in the", | 
|---|
| 3128 | "dnl      documentation and/or other materials provided with the distribution.", | 
|---|
| 3129 | "dnl ", | 
|---|
| 3130 | "dnl   Neither the name of the University nor the names of its contributors", | 
|---|
| 3131 | "dnl   may be used to endorse or promote products derived from this software", | 
|---|
| 3132 | "dnl   without specific prior written permission.", | 
|---|
| 3133 | "dnl ", | 
|---|
| 3134 | "dnl   THIS SOFTWARE IS PROVIDED `AS IS' AND WITHOUT ANY EXPRESS OR", | 
|---|
| 3135 | "dnl   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED", | 
|---|
| 3136 | "dnl   WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR", | 
|---|
| 3137 | "dnl   PURPOSE.", | 
|---|
| 3138 | "dnl ", | 
|---|
| 3139 | "*/", | 
|---|
| 3140 | " | 
|---|
| 3141 | ", | 
|---|
| 3142 | "/* This file is meant to be included in both the skeleton and the actual", | 
|---|
| 3143 | " * flex code (hence the name \"_shared\"). ", | 
|---|
| 3144 | " */", | 
|---|
| 3145 | "#ifndef yyskel_static", | 
|---|
| 3146 | "#define yyskel_static static", | 
|---|
| 3147 | "#endif", | 
|---|
| 3148 | "#else", | 
|---|
| 3149 | "#include \"flexdef.h\"", | 
|---|
| 3150 | "#include \"tables.h\"", | 
|---|
| 3151 | "#ifndef yyskel_static", | 
|---|
| 3152 | "#define yyskel_static", | 
|---|
| 3153 | "#endif", | 
|---|
| 3154 | "#endif", | 
|---|
| 3155 | "", | 
|---|
| 3156 | "", | 
|---|
| 3157 | "/** Get the number of integers in this table. This is NOT the", | 
|---|
| 3158 | " *  same thing as the number of elements.", | 
|---|
| 3159 | " *  @param td the table ", | 
|---|
| 3160 | " *  @return the number of integers in the table", | 
|---|
| 3161 | " */", | 
|---|
| 3162 | "yyskel_static flex_int32_t yytbl_calc_total_len (const struct yytbl_data *tbl)", | 
|---|
| 3163 | "{", | 
|---|
| 3164 | "     flex_int32_t n;", | 
|---|
| 3165 | "", | 
|---|
| 3166 | "     /* total number of ints */", | 
|---|
| 3167 | "     n = tbl->td_lolen;", | 
|---|
| 3168 | "     if (tbl->td_hilen > 0)", | 
|---|
| 3169 | "             n *= tbl->td_hilen;", | 
|---|
| 3170 | "", | 
|---|
| 3171 | "     if (tbl->td_id == YYTD_ID_TRANSITION)", | 
|---|
| 3172 | "             n *= 2;", | 
|---|
| 3173 | "     return n;", | 
|---|
| 3174 | "}", | 
|---|
| 3175 | "", | 
|---|
| 3176 | "", | 
|---|
| 3177 | "static int yytbl_read8 (void *v, struct yytbl_reader * rd)", | 
|---|
| 3178 | "{", | 
|---|
| 3179 | "    errno = 0;", | 
|---|
| 3180 | "    if (fread (v, sizeof (flex_uint8_t), 1, rd->fp) != 1){", | 
|---|
| 3181 | "        errno = EIO;", | 
|---|
| 3182 | "        return -1;", | 
|---|
| 3183 | "    }", | 
|---|
| 3184 | "    rd->bread += sizeof(flex_uint8_t);", | 
|---|
| 3185 | "    return 0;", | 
|---|
| 3186 | "}", | 
|---|
| 3187 | "", | 
|---|
| 3188 | "static int yytbl_read16 (void *v, struct yytbl_reader * rd)", | 
|---|
| 3189 | "{", | 
|---|
| 3190 | "    errno = 0;", | 
|---|
| 3191 | "    if (fread (v, sizeof (flex_uint16_t), 1, rd->fp) != 1){", | 
|---|
| 3192 | "        errno = EIO;", | 
|---|
| 3193 | "        return -1;", | 
|---|
| 3194 | "    }", | 
|---|
| 3195 | "    *((flex_uint16_t *) v) = ntohs (*((flex_uint16_t *) v));", | 
|---|
| 3196 | "    rd->bread += sizeof(flex_uint16_t);", | 
|---|
| 3197 | "    return 0;", | 
|---|
| 3198 | "}", | 
|---|
| 3199 | "", | 
|---|
| 3200 | "static int yytbl_read32 (void *v, struct yytbl_reader * rd)", | 
|---|
| 3201 | "{", | 
|---|
| 3202 | "    errno = 0;", | 
|---|
| 3203 | "    if (fread (v, sizeof (flex_uint32_t), 1, rd->fp) != 1){", | 
|---|
| 3204 | "        errno = EIO;", | 
|---|
| 3205 | "        return -1;", | 
|---|
| 3206 | "    }", | 
|---|
| 3207 | "    *((flex_uint32_t *) v) = ntohl (*((flex_uint32_t *) v));", | 
|---|
| 3208 | "    rd->bread += sizeof(flex_uint32_t);", | 
|---|
| 3209 | "    return 0;", | 
|---|
| 3210 | "}", | 
|---|
| 3211 | "", | 
|---|
| 3212 | "/** Read the header */", | 
|---|
| 3213 | "static int yytbl_hdr_read YYFARGS2(struct yytbl_hdr *, th, struct yytbl_reader *, rd)", | 
|---|
| 3214 | "{", | 
|---|
| 3215 | "    int     bytes;", | 
|---|
| 3216 | "    memset (th, 0, sizeof (struct yytbl_hdr));", | 
|---|
| 3217 | "", | 
|---|
| 3218 | "    if (yytbl_read32 (&(th->th_magic), rd) != 0)", | 
|---|
| 3219 | "        return -1;", | 
|---|
| 3220 | "", | 
|---|
| 3221 | "    if (th->th_magic != YYTBL_MAGIC){", | 
|---|
| 3222 | "        yy_fatal_error(\"bad magic number\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3223 | "        return -1;", | 
|---|
| 3224 | "    }", | 
|---|
| 3225 | "", | 
|---|
| 3226 | "    if (yytbl_read32 (&(th->th_hsize), rd) != 0", | 
|---|
| 3227 | "        || yytbl_read32 (&(th->th_ssize), rd) != 0", | 
|---|
| 3228 | "        || yytbl_read16 (&(th->th_flags), rd) != 0)", | 
|---|
| 3229 | "        return -1;", | 
|---|
| 3230 | "", | 
|---|
| 3231 | "    /* Sanity check on header size. Greater than 1k suggests some funny business. */", | 
|---|
| 3232 | "    if (th->th_hsize < 16 || th->th_hsize > 1024){", | 
|---|
| 3233 | "        yy_fatal_error(\"insane header size detected\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3234 | "        return -1;", | 
|---|
| 3235 | "    }", | 
|---|
| 3236 | "", | 
|---|
| 3237 | "    /* Allocate enough space for the version and name fields */", | 
|---|
| 3238 | "    bytes = th->th_hsize - 14;", | 
|---|
| 3239 | "    th->th_version = (char *) yyalloc (bytes M4_YY_CALL_LAST_ARG);", | 
|---|
| 3240 | "", | 
|---|
| 3241 | "    /* we read it all into th_version, and point th_name into that data */", | 
|---|
| 3242 | "    if (fread (th->th_version, 1, bytes, rd->fp) != bytes){", | 
|---|
| 3243 | "        errno = EIO;", | 
|---|
| 3244 | "        yyfree(th->th_version M4_YY_CALL_LAST_ARG);", | 
|---|
| 3245 | "        th->th_version = NULL;", | 
|---|
| 3246 | "        return -1;", | 
|---|
| 3247 | "    }", | 
|---|
| 3248 | "    else", | 
|---|
| 3249 | "        rd->bread += bytes;", | 
|---|
| 3250 | "", | 
|---|
| 3251 | "    th->th_name = th->th_version + strlen (th->th_version) + 1;", | 
|---|
| 3252 | "    return 0;", | 
|---|
| 3253 | "}", | 
|---|
| 3254 | "", | 
|---|
| 3255 | "/** lookup id in the dmap list.", | 
|---|
| 3256 | " *  @param dmap pointer to first element in list", | 
|---|
| 3257 | " *  @return NULL if not found.", | 
|---|
| 3258 | " */", | 
|---|
| 3259 | "static struct yytbl_dmap *yytbl_dmap_lookup YYFARGS2(struct yytbl_dmap *, dmap,", | 
|---|
| 3260 | "                                                      int, id)", | 
|---|
| 3261 | "{", | 
|---|
| 3262 | "    while (dmap->dm_id)", | 
|---|
| 3263 | "        if (dmap->dm_id == id)", | 
|---|
| 3264 | "            return dmap;", | 
|---|
| 3265 | "        else", | 
|---|
| 3266 | "            dmap++;", | 
|---|
| 3267 | "    return NULL;", | 
|---|
| 3268 | "}", | 
|---|
| 3269 | "", | 
|---|
| 3270 | "/** Read a table while mapping its contents to the local array. ", | 
|---|
| 3271 | " *  @param dmap used to performing mapping", | 
|---|
| 3272 | " *  @return 0 on success", | 
|---|
| 3273 | " */", | 
|---|
| 3274 | "static int yytbl_data_load YYFARGS2(struct yytbl_dmap *, dmap, struct yytbl_reader*, rd)", | 
|---|
| 3275 | "{", | 
|---|
| 3276 | "    struct yytbl_data td;", | 
|---|
| 3277 | "    struct yytbl_dmap *transdmap=0;", | 
|---|
| 3278 | "    int     len, i, rv, inner_loop_count;", | 
|---|
| 3279 | "    void   *p=0;", | 
|---|
| 3280 | "", | 
|---|
| 3281 | "    memset (&td, 0, sizeof (struct yytbl_data));", | 
|---|
| 3282 | "", | 
|---|
| 3283 | "    if (yytbl_read16 (&td.td_id, rd) != 0", | 
|---|
| 3284 | "        || yytbl_read16 (&td.td_flags, rd) != 0", | 
|---|
| 3285 | "        || yytbl_read32 (&td.td_hilen, rd) != 0", | 
|---|
| 3286 | "        || yytbl_read32 (&td.td_lolen, rd) != 0)", | 
|---|
| 3287 | "        return -1;", | 
|---|
| 3288 | "", | 
|---|
| 3289 | "    /* Lookup the map for the transition table so we have it in case we need it", | 
|---|
| 3290 | "     * inside the loop below. This scanner might not even have a transition", | 
|---|
| 3291 | "     * table, which is ok.", | 
|---|
| 3292 | "     */", | 
|---|
| 3293 | "    transdmap = yytbl_dmap_lookup (dmap, YYTD_ID_TRANSITION M4_YY_CALL_LAST_ARG);", | 
|---|
| 3294 | "", | 
|---|
| 3295 | "    if ((dmap = yytbl_dmap_lookup (dmap, td.td_id M4_YY_CALL_LAST_ARG)) == NULL){", | 
|---|
| 3296 | "        yy_fatal_error(\"table id not found in map.\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3297 | "        return -1;", | 
|---|
| 3298 | "    }", | 
|---|
| 3299 | "", | 
|---|
| 3300 | "    /* Allocate space for table.", | 
|---|
| 3301 | "     * The --full yy_transition table is a special case, since we", | 
|---|
| 3302 | "     * need the dmap.dm_sz entry to tell us the sizeof the individual", | 
|---|
| 3303 | "     * struct members.", | 
|---|
| 3304 | "     */", | 
|---|
| 3305 | "    {", | 
|---|
| 3306 | "    size_t  bytes;", | 
|---|
| 3307 | "", | 
|---|
| 3308 | "    if ((td.td_flags & YYTD_STRUCT))", | 
|---|
| 3309 | "        bytes = sizeof(struct yy_trans_info) * td.td_lolen * (td.td_hilen ? td.td_hilen : 1);", | 
|---|
| 3310 | "    else", | 
|---|
| 3311 | "        bytes = td.td_lolen * (td.td_hilen ? td.td_hilen : 1) * dmap->dm_sz;", | 
|---|
| 3312 | "", | 
|---|
| 3313 | "    if(M4_YY_TABLES_VERIFY)", | 
|---|
| 3314 | "        /* We point to the array itself */", | 
|---|
| 3315 | "        p = dmap->dm_arr; ", | 
|---|
| 3316 | "    else", | 
|---|
| 3317 | "        /* We point to the address of a pointer. */", | 
|---|
| 3318 | "        *dmap->dm_arr = p = (void *) yyalloc (bytes M4_YY_CALL_LAST_ARG);", | 
|---|
| 3319 | "    }", | 
|---|
| 3320 | "", | 
|---|
| 3321 | "    /* If it's a struct, we read 2 integers to get one element */", | 
|---|
| 3322 | "    if ((td.td_flags & YYTD_STRUCT) != 0)", | 
|---|
| 3323 | "        inner_loop_count = 2;", | 
|---|
| 3324 | "    else", | 
|---|
| 3325 | "        inner_loop_count = 1;", | 
|---|
| 3326 | "", | 
|---|
| 3327 | "    /* read and map each element.", | 
|---|
| 3328 | "     * This loop iterates once for each element of the td_data array.", | 
|---|
| 3329 | "     * Notice that we increment 'i' in the inner loop.", | 
|---|
| 3330 | "     */", | 
|---|
| 3331 | "    len = yytbl_calc_total_len (&td);", | 
|---|
| 3332 | "    for (i = 0; i < len; ){", | 
|---|
| 3333 | "        int    j;", | 
|---|
| 3334 | "", | 
|---|
| 3335 | "", | 
|---|
| 3336 | "        /* This loop really executes exactly 1 or 2 times.", | 
|---|
| 3337 | "         * The second time is to handle the second member of the", | 
|---|
| 3338 | "         * YYTD_STRUCT for the yy_transition array.", | 
|---|
| 3339 | "         */", | 
|---|
| 3340 | "        for (j = 0; j < inner_loop_count; j++, i++) {", | 
|---|
| 3341 | "            flex_int32_t t32;", | 
|---|
| 3342 | "", | 
|---|
| 3343 | "            /* read into t32 no matter what the real size is. */", | 
|---|
| 3344 | "            {", | 
|---|
| 3345 | "            flex_int16_t t16;", | 
|---|
| 3346 | "            flex_int8_t  t8;", | 
|---|
| 3347 | "", | 
|---|
| 3348 | "            switch (YYTDFLAGS2BYTES (td.td_flags)) {", | 
|---|
| 3349 | "            case sizeof (flex_int32_t):", | 
|---|
| 3350 | "                rv = yytbl_read32 (&t32, rd);", | 
|---|
| 3351 | "                break;", | 
|---|
| 3352 | "            case sizeof (flex_int16_t):", | 
|---|
| 3353 | "                rv = yytbl_read16 (&t16, rd);", | 
|---|
| 3354 | "                t32 = t16;", | 
|---|
| 3355 | "                break;", | 
|---|
| 3356 | "            case sizeof (flex_int8_t):", | 
|---|
| 3357 | "                rv = yytbl_read8 (&t8, rd);", | 
|---|
| 3358 | "                t32 = t8;", | 
|---|
| 3359 | "                break;", | 
|---|
| 3360 | "            default: ", | 
|---|
| 3361 | "                yy_fatal_error(\"invalid td_flags\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3362 | "                return -1;", | 
|---|
| 3363 | "            }", | 
|---|
| 3364 | "            }", | 
|---|
| 3365 | "            if (rv != 0)", | 
|---|
| 3366 | "                return -1;", | 
|---|
| 3367 | "", | 
|---|
| 3368 | "            /* copy into the deserialized array... */", | 
|---|
| 3369 | "", | 
|---|
| 3370 | "            if ((td.td_flags & YYTD_STRUCT)) {", | 
|---|
| 3371 | "                /* t32 is the j'th member of a two-element struct. */", | 
|---|
| 3372 | "                void   *v;", | 
|---|
| 3373 | "", | 
|---|
| 3374 | "                v = j == 0 ? &(((struct yy_trans_info *) p)->yy_verify)", | 
|---|
| 3375 | "                    : &(((struct yy_trans_info *) p)->yy_nxt);", | 
|---|
| 3376 | "", | 
|---|
| 3377 | "                switch (dmap->dm_sz) {", | 
|---|
| 3378 | "                case sizeof (flex_int32_t):", | 
|---|
| 3379 | "                    if (M4_YY_TABLES_VERIFY){", | 
|---|
| 3380 | "                        if( ((flex_int32_t *) v)[0] != (flex_int32_t) t32)", | 
|---|
| 3381 | "                           yy_fatal_error(\"tables verification failed at YYTD_STRUCT flex_int32_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3382 | "                    }else", | 
|---|
| 3383 | "                        ((flex_int32_t *) v)[0] = (flex_int32_t) t32;", | 
|---|
| 3384 | "                    break;", | 
|---|
| 3385 | "                case sizeof (flex_int16_t):", | 
|---|
| 3386 | "                    if (M4_YY_TABLES_VERIFY ){", | 
|---|
| 3387 | "                        if(((flex_int16_t *) v)[0] != (flex_int16_t) t32)", | 
|---|
| 3388 | "                        yy_fatal_error(\"tables verification failed at YYTD_STRUCT flex_int16_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3389 | "                    }else", | 
|---|
| 3390 | "                        ((flex_int16_t *) v)[0] = (flex_int16_t) t32;", | 
|---|
| 3391 | "                    break;", | 
|---|
| 3392 | "                case sizeof(flex_int8_t):", | 
|---|
| 3393 | "                    if (M4_YY_TABLES_VERIFY ){", | 
|---|
| 3394 | "                         if( ((flex_int8_t *) v)[0] != (flex_int8_t) t32)", | 
|---|
| 3395 | "                        yy_fatal_error(\"tables verification failed at YYTD_STRUCT flex_int8_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3396 | "                    }else", | 
|---|
| 3397 | "                        ((flex_int8_t *) v)[0] = (flex_int8_t) t32;", | 
|---|
| 3398 | "                    break;", | 
|---|
| 3399 | "                default:", | 
|---|
| 3400 | "                    yy_fatal_error(\"invalid dmap->dm_sz for struct\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3401 | "                    return -1;", | 
|---|
| 3402 | "                }", | 
|---|
| 3403 | "", | 
|---|
| 3404 | "                /* if we're done with j, increment p */", | 
|---|
| 3405 | "                if (j == 1)", | 
|---|
| 3406 | "                    p = (struct yy_trans_info *) p + 1;", | 
|---|
| 3407 | "            }", | 
|---|
| 3408 | "            else if ((td.td_flags & YYTD_PTRANS)) {", | 
|---|
| 3409 | "                /* t32 is an index into the transition array. */", | 
|---|
| 3410 | "                struct yy_trans_info *v;", | 
|---|
| 3411 | "", | 
|---|
| 3412 | "", | 
|---|
| 3413 | "                if (!transdmap){", | 
|---|
| 3414 | "                    yy_fatal_error(\"transition table not found\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3415 | "                    return -1;", | 
|---|
| 3416 | "                }", | 
|---|
| 3417 | "                ", | 
|---|
| 3418 | "                if( M4_YY_TABLES_VERIFY)", | 
|---|
| 3419 | "                    v = &(((struct yy_trans_info *) (transdmap->dm_arr))[t32]);", | 
|---|
| 3420 | "                else", | 
|---|
| 3421 | "                    v = &((*((struct yy_trans_info **) (transdmap->dm_arr)))[t32]);", | 
|---|
| 3422 | "", | 
|---|
| 3423 | "                if(M4_YY_TABLES_VERIFY ){", | 
|---|
| 3424 | "                    if( ((struct yy_trans_info **) p)[0] != v)", | 
|---|
| 3425 | "                        yy_fatal_error(\"tables verification failed at YYTD_PTRANS\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3426 | "                }else", | 
|---|
| 3427 | "                    ((struct yy_trans_info **) p)[0] = v;", | 
|---|
| 3428 | "                ", | 
|---|
| 3429 | "                /* increment p */", | 
|---|
| 3430 | "                p = (struct yy_trans_info **) p + 1;", | 
|---|
| 3431 | "            }", | 
|---|
| 3432 | "            else {", | 
|---|
| 3433 | "                /* t32 is a plain int. copy data, then incrememnt p. */", | 
|---|
| 3434 | "                switch (dmap->dm_sz) {", | 
|---|
| 3435 | "                case sizeof (flex_int32_t):", | 
|---|
| 3436 | "                    if(M4_YY_TABLES_VERIFY ){", | 
|---|
| 3437 | "                        if( ((flex_int32_t *) p)[0] != (flex_int32_t) t32)", | 
|---|
| 3438 | "                        yy_fatal_error(\"tables verification failed at flex_int32_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3439 | "                    }else", | 
|---|
| 3440 | "                        ((flex_int32_t *) p)[0] = (flex_int32_t) t32;", | 
|---|
| 3441 | "                    p = ((flex_int32_t *) p) + 1;", | 
|---|
| 3442 | "                    break;", | 
|---|
| 3443 | "                case sizeof (flex_int16_t):", | 
|---|
| 3444 | "                    if(M4_YY_TABLES_VERIFY ){", | 
|---|
| 3445 | "                        if( ((flex_int16_t *) p)[0] != (flex_int16_t) t32)", | 
|---|
| 3446 | "                        yy_fatal_error(\"tables verification failed at flex_int16_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3447 | "                    }else", | 
|---|
| 3448 | "                        ((flex_int16_t *) p)[0] = (flex_int16_t) t32;", | 
|---|
| 3449 | "                    p = ((flex_int16_t *) p) + 1;", | 
|---|
| 3450 | "                    break;", | 
|---|
| 3451 | "                case sizeof (flex_int8_t):", | 
|---|
| 3452 | "                    if(M4_YY_TABLES_VERIFY ){", | 
|---|
| 3453 | "                        if( ((flex_int8_t *) p)[0] != (flex_int8_t) t32)", | 
|---|
| 3454 | "                        yy_fatal_error(\"tables verification failed at flex_int8_t\" M4_YY_CALL_LAST_ARG);", | 
|---|
| 3455 | "                    }else", | 
|---|
| 3456 | "                        ((flex_int8_t *) p)[0] = (flex_int8_t) t32;", | 
|---|
| 3457 | "                    p = ((flex_int8_t *) p) + 1;", | 
|---|
| 3458 | "                    break;", | 
|---|
| 3459 | "                default:", | 
|---|
| 3460 | "                    yy_fatal_error(\"invalid dmap->dm_sz for plain int\" /*TODO: not fatal.*/ M4_YY_CALL_LAST_ARG);", | 
|---|
| 3461 | "                    return -1;", | 
|---|
| 3462 | "                }", | 
|---|
| 3463 | "            }", | 
|---|
| 3464 | "        }", | 
|---|
| 3465 | "", | 
|---|
| 3466 | "    }", | 
|---|
| 3467 | "", | 
|---|
| 3468 | "    /* Now eat padding. */", | 
|---|
| 3469 | "    {", | 
|---|
| 3470 | "        int pad;", | 
|---|
| 3471 | "        pad = yypad64(rd->bread);", | 
|---|
| 3472 | "        while(--pad >= 0){", | 
|---|
| 3473 | "            flex_int8_t t8;", | 
|---|
| 3474 | "            if(yytbl_read8(&t8,rd) != 0)", | 
|---|
| 3475 | "                return -1;", | 
|---|
| 3476 | "        }", | 
|---|
| 3477 | "    }", | 
|---|
| 3478 | "", | 
|---|
| 3479 | "    return 0;", | 
|---|
| 3480 | "}", | 
|---|
| 3481 | "", | 
|---|
| 3482 | "%define-yytables   The name for this specific scanner's tables.", | 
|---|
| 3483 | "", | 
|---|
| 3484 | "/* Find the key and load the DFA tables from the given stream.  */", | 
|---|
| 3485 | "static int yytbl_fload YYFARGS2(FILE *, fp, const char *, key)", | 
|---|
| 3486 | "{", | 
|---|
| 3487 | "    int rv=0;", | 
|---|
| 3488 | "    struct yytbl_hdr th;", | 
|---|
| 3489 | "    struct yytbl_reader rd;", | 
|---|
| 3490 | "", | 
|---|
| 3491 | "    rd.fp = fp;", | 
|---|
| 3492 | "    th.th_version = NULL;", | 
|---|
| 3493 | "", | 
|---|
| 3494 | "    /* Keep trying until we find the right set of tables or end of file. */", | 
|---|
| 3495 | "    while (!feof(rd.fp)) {", | 
|---|
| 3496 | "        rd.bread = 0;", | 
|---|
| 3497 | "        if (yytbl_hdr_read (&th, &rd M4_YY_CALL_LAST_ARG) != 0){", | 
|---|
| 3498 | "            rv = -1;", | 
|---|
| 3499 | "            goto return_rv;", | 
|---|
| 3500 | "        }", | 
|---|
| 3501 | "", | 
|---|
| 3502 | "        /* A NULL key means choose the first set of tables. */", | 
|---|
| 3503 | "        if (key == NULL)", | 
|---|
| 3504 | "            break;", | 
|---|
| 3505 | "", | 
|---|
| 3506 | "        if (strcmp(th.th_name,key) != 0){", | 
|---|
| 3507 | "            /* Skip ahead to next set */", | 
|---|
| 3508 | "            fseek(rd.fp, th.th_ssize - th.th_hsize, SEEK_CUR);", | 
|---|
| 3509 | "            yyfree(th.th_version M4_YY_CALL_LAST_ARG);", | 
|---|
| 3510 | "            th.th_version = NULL;", | 
|---|
| 3511 | "        }", | 
|---|
| 3512 | "        else", | 
|---|
| 3513 | "            break;", | 
|---|
| 3514 | "    }", | 
|---|
| 3515 | "", | 
|---|
| 3516 | "    while (rd.bread < th.th_ssize){", | 
|---|
| 3517 | "        /* Load the data tables */", | 
|---|
| 3518 | "        if(yytbl_data_load (yydmap,&rd M4_YY_CALL_LAST_ARG) != 0){", | 
|---|
| 3519 | "            rv = -1;", | 
|---|
| 3520 | "            goto return_rv;", | 
|---|
| 3521 | "        }", | 
|---|
| 3522 | "    }", | 
|---|
| 3523 | "", | 
|---|
| 3524 | "return_rv:", | 
|---|
| 3525 | "    if(th.th_version){", | 
|---|
| 3526 | "        yyfree(th.th_version M4_YY_CALL_LAST_ARG);", | 
|---|
| 3527 | "        th.th_version = NULL;", | 
|---|
| 3528 | "    }", | 
|---|
| 3529 | "", | 
|---|
| 3530 | "    return rv;", | 
|---|
| 3531 | "}", | 
|---|
| 3532 | "", | 
|---|
| 3533 | "/** Load the DFA tables for this scanner from the given stream.  */", | 
|---|
| 3534 | "int yytables_fload YYFARGS1(FILE *, fp)", | 
|---|
| 3535 | "{", | 
|---|
| 3536 | "", | 
|---|
| 3537 | "    if( yytbl_fload(fp, YYTABLES_NAME M4_YY_CALL_LAST_ARG) != 0)", | 
|---|
| 3538 | "        return -1;", | 
|---|
| 3539 | "    return 0;", | 
|---|
| 3540 | "}", | 
|---|
| 3541 | "", | 
|---|
| 3542 | "/** Destroy the loaded tables, freeing memory, etc.. */", | 
|---|
| 3543 | "int yytables_destroy YYFARGS0(void)", | 
|---|
| 3544 | "{   ", | 
|---|
| 3545 | "    struct yytbl_dmap *dmap=0;", | 
|---|
| 3546 | "", | 
|---|
| 3547 | "    if(!M4_YY_TABLES_VERIFY){", | 
|---|
| 3548 | "        /* Walk the dmap, freeing the pointers */", | 
|---|
| 3549 | "        for(dmap=yydmap; dmap->dm_id; dmap++) {", | 
|---|
| 3550 | "            void * v;", | 
|---|
| 3551 | "            v = dmap->dm_arr;", | 
|---|
| 3552 | "            if(v && *(char**)v){", | 
|---|
| 3553 | "                    yyfree(*(char**)v M4_YY_CALL_LAST_ARG);", | 
|---|
| 3554 | "                    *(char**)v = NULL;", | 
|---|
| 3555 | "            }", | 
|---|
| 3556 | "        }", | 
|---|
| 3557 | "    }", | 
|---|
| 3558 | "", | 
|---|
| 3559 | "    return 0;", | 
|---|
| 3560 | "}", | 
|---|
| 3561 | "", | 
|---|
| 3562 | "/* end table serialization code definitions */", | 
|---|
| 3563 | "%endif", | 
|---|
| 3564 | "", | 
|---|
| 3565 | "", | 
|---|
| 3566 | "m4_ifdef([[M4_YY_MAIN]], [[", | 
|---|
| 3567 | "int main M4_YY_PARAMS(void);", | 
|---|
| 3568 | "", | 
|---|
| 3569 | "int main ()", | 
|---|
| 3570 | "{", | 
|---|
| 3571 | "", | 
|---|
| 3572 | "%if-reentrant", | 
|---|
| 3573 | "    yyscan_t lexer;", | 
|---|
| 3574 | "    yylex_init(&lexer);", | 
|---|
| 3575 | "    yylex( lexer );", | 
|---|
| 3576 | "    yylex_destroy( lexer);", | 
|---|
| 3577 | "", | 
|---|
| 3578 | "%endif", | 
|---|
| 3579 | "%if-not-reentrant", | 
|---|
| 3580 | "     yylex();", | 
|---|
| 3581 | "%endif", | 
|---|
| 3582 | "", | 
|---|
| 3583 | "     return 0;", | 
|---|
| 3584 | "}", | 
|---|
| 3585 | "]])", | 
|---|
| 3586 | "", | 
|---|
| 3587 | "%ok-for-header", | 
|---|
| 3588 | "m4_ifdef( [[M4_YY_IN_HEADER]],", | 
|---|
| 3589 | "[[", | 
|---|
| 3590 | "#undef YY_NEW_FILE", | 
|---|
| 3591 | "#undef YY_FLUSH_BUFFER", | 
|---|
| 3592 | "#undef yy_set_bol", | 
|---|
| 3593 | "#undef yy_new_buffer", | 
|---|
| 3594 | "#undef yy_set_interactive", | 
|---|
| 3595 | "#undef YY_DO_BEFORE_ACTION", | 
|---|
| 3596 | "", | 
|---|
| 3597 | "#ifdef YY_DECL_IS_OURS", | 
|---|
| 3598 | "#undef YY_DECL_IS_OURS", | 
|---|
| 3599 | "#undef YY_DECL", | 
|---|
| 3600 | "#endif", | 
|---|
| 3601 | "]])", | 
|---|
| 3602 | 0 | 
|---|
| 3603 | }; | 
|---|