re2c-0.13.5/0002777000076500007660000000000011016276441007457 500000000000000re2c-0.13.5/bootstrap/0002777000076500007660000000000011016276441011474 500000000000000re2c-0.13.5/bootstrap/parser.cc0000664000076500007660000017152011016275320013214 00000000000000/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CLOSESIZE = 258, CLOSE = 259, STAR = 260, NOCOND = 261, ID = 262, CODE = 263, RANGE = 264, STRING = 265, CONFIG = 266, VALUE = 267, NUMBER = 268, SETUP = 269, FID = 270 }; #endif /* Tokens. */ #define CLOSESIZE 258 #define CLOSE 259 #define STAR 260 #define NOCOND 261 #define ID 262 #define CODE 263 #define RANGE 264 #define STRING 265 #define CONFIG 266 #define VALUE 267 #define NUMBER 268 #define SETUP 269 #define FID 270 /* Copy the first part of user declarations. */ #line 1 "parser.y" /* $Id: parser.y 858 2008-04-03 20:53:44Z helly $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include "globals.h" #include "parser.h" #include "basics.h" #include "dfa.h" #define YYMALLOC malloc #define YYFREE free using namespace re2c; extern "C" { int yylex(); void yyerror(const char*); } static re2c::uint accept; static re2c::RegExpMap specMap; static RegExp *spec = NULL, *specNone = NULL; static RuleOpList specStar; static Scanner *in = NULL; static Scanner::ParseMode parseMode; static SetupMap ruleSetupMap; static bool foundRules; /* Bison version 1.875 emits a definition that is not working * with several g++ version. Hence we disable it here. */ #if defined(__GNUC__) #define __attribute__(x) #endif /* strdup() isn't standard C, so if we don't have it, we'll create our * own version */ #if !defined(HAVE_STRDUP) static char* strdup(const char* s) { char* rv = (char*)malloc(strlen(s) + 1); if (rv == NULL) { return NULL; } strcpy(rv, s); return rv; } #endif void context_check(CondList *clist) { if (!cFlag) { delete clist; in->fatal("conditions are only allowed when using -c switch"); } } void context_none(CondList *clist) { delete clist; context_check(NULL); in->fatal("no expression specified"); } void context_rule(CondList *clist, RegExp *expr, RegExp *look, Str *newcond, Token *code) { context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { //Str *condcpy = newcond ? new Str(*newcond) : newcond; Token *token = new Token(code, sourceFileInfo, newcond);//condcpy); RuleOp *rule = new RuleOp(expr, look, token, accept++); RegExpMap::iterator itRE = specMap.find(*it); if (itRE != specMap.end()) { itRE->second.second = mkAlt(itRE->second.second, rule); } else { size_t nIndex = specMap.size() + 1; // 0 is reserved for "0"-spec specMap[*it] = std::make_pair(nIndex, rule); } } delete clist; delete newcond; delete code; } void setup_rule(CondList *clist, Token *code) { assert(clist); assert(code); context_check(clist); if (bFirstPass) { for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (ruleSetupMap.find(*it) != ruleSetupMap.end()) { in->fatalf_at(code->line, "code to setup rule '%s' is already defined", it->c_str()); } ruleSetupMap[*it] = std::make_pair(code->line, code->text.to_string()); } } delete clist; delete code; } /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 131 "parser.y" { re2c::Symbol *symbol; re2c::RegExp *regexp; re2c::Token *token; char op; int number; re2c::ExtOp extop; re2c::Str *str; re2c::CondList *clist; } /* Line 187 of yacc.c. */ #line 265 "parser.cc" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 216 of yacc.c. */ #line 278 "parser.cc" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int i) #else static int YYID (i) int i; #endif { return i; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 96 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 27 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 14 /* YYNRULES -- Number of rules. */ #define YYNRULES 48 /* YYNRULES -- Number of states. */ #define YYNSTATES 91 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 270 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 25, 26, 2, 2, 22, 2, 2, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 21, 17, 19, 16, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 24, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 4, 7, 10, 15, 18, 23, 27, 32, 37, 41, 49, 57, 64, 71, 79, 87, 94, 101, 105, 109, 114, 119, 120, 122, 124, 128, 129, 133, 134, 137, 139, 143, 145, 149, 151, 154, 156, 159, 162, 164, 166, 169, 172, 174, 176, 178 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 28, 0, -1, -1, 28, 30, -1, 28, 29, -1, 7, 16, 35, 17, -1, 15, 35, -1, 7, 16, 35, 18, -1, 15, 35, 18, -1, 11, 16, 12, 17, -1, 11, 16, 13, 17, -1, 35, 34, 8, -1, 19, 31, 20, 35, 34, 33, 8, -1, 19, 31, 20, 35, 34, 21, 33, -1, 19, 31, 20, 34, 33, 8, -1, 19, 31, 20, 34, 21, 33, -1, 19, 5, 20, 35, 34, 33, 8, -1, 19, 5, 20, 35, 34, 21, 33, -1, 19, 5, 20, 34, 33, 8, -1, 19, 5, 20, 34, 21, 33, -1, 6, 33, 8, -1, 6, 21, 33, -1, 14, 5, 20, 8, -1, 14, 31, 20, 8, -1, -1, 32, -1, 7, -1, 32, 22, 7, -1, -1, 16, 20, 7, -1, -1, 18, 35, -1, 36, -1, 35, 23, 36, -1, 37, -1, 36, 24, 37, -1, 38, -1, 37, 38, -1, 40, -1, 40, 39, -1, 40, 3, -1, 4, -1, 5, -1, 39, 4, -1, 39, 5, -1, 7, -1, 9, -1, 10, -1, 25, 35, 26, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 160, 160, 162, 166, 170, 178, 186, 190, 194, 200, 208, 217, 221, 226, 231, 237, 245, 253, 258, 264, 276, 288, 294, 302, 305, 312, 317, 326, 329, 337, 340, 347, 351, 358, 362, 373, 377, 384, 388, 403, 410, 414, 418, 422, 429, 437, 441, 445 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "CLOSESIZE", "CLOSE", "STAR", "NOCOND", "ID", "CODE", "RANGE", "STRING", "CONFIG", "VALUE", "NUMBER", "SETUP", "FID", "'='", "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'", "'('", "')'", "$accept", "spec", "decl", "rule", "cond", "clist", "newcond", "look", "expr", "diff", "term", "factor", "close", "primary", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 61, 59, 47, 60, 62, 58, 44, 124, 92, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 27, 28, 28, 28, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 2, 4, 2, 4, 3, 4, 4, 3, 7, 7, 6, 6, 7, 7, 6, 6, 3, 3, 4, 4, 0, 1, 1, 3, 0, 3, 0, 2, 1, 3, 1, 3, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 2, 0, 1, 28, 45, 46, 47, 0, 24, 0, 24, 0, 4, 3, 30, 32, 34, 36, 38, 0, 28, 0, 0, 0, 0, 26, 0, 25, 45, 6, 0, 0, 0, 0, 0, 0, 0, 37, 40, 41, 42, 39, 0, 21, 20, 0, 0, 0, 0, 0, 0, 8, 30, 30, 48, 31, 33, 11, 35, 43, 44, 29, 5, 7, 9, 10, 22, 23, 27, 28, 30, 28, 30, 28, 0, 28, 28, 0, 28, 19, 18, 28, 0, 15, 14, 28, 0, 17, 16, 13, 12 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 1, 12, 13, 26, 27, 21, 35, 14, 15, 16, 17, 41, 18 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -47 static const yytype_int8 yypact[] = { -47, 2, -47, -11, -1, -47, -47, 27, 64, 23, 65, 23, -47, -47, 17, 15, 23, -47, 63, 30, 48, 67, 23, 6, 56, -47, 57, 58, -47, 18, 59, 61, 37, 23, 23, 70, 23, -47, -47, -47, -47, 69, 75, -47, -47, 11, 66, 68, 76, 78, 80, -47, 13, 13, -47, 71, 15, -47, 23, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, 21, 17, 31, 17, 48, 81, 38, 48, 82, 41, -47, -47, 48, 83, -47, -47, 48, 84, -47, -47, -47, -47 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -47, -47, -47, -47, 85, -47, -20, -46, -8, 54, 60, -12, -47, -47 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 43, 29, 2, 32, 37, 19, 69, 71, 3, 4, 20, 5, 6, 7, 45, 22, 8, 9, 46, 47, 28, 10, 5, 6, 75, 55, 78, 11, 62, 63, 28, 33, 5, 6, 34, 33, 51, 19, 11, 36, 34, 34, 73, 23, 70, 72, 37, 19, 11, 74, 42, 77, 76, 79, 19, 82, 83, 19, 86, 81, 34, 87, 85, 54, 19, 89, 38, 39, 40, 24, 30, 25, 25, 59, 60, 44, 48, 49, 57, 52, 50, 53, 61, 64, 66, 65, 67, 68, 56, 80, 84, 88, 90, 0, 34, 31, 58 }; static const yytype_int8 yycheck[] = { 20, 9, 0, 11, 16, 16, 52, 53, 6, 7, 21, 9, 10, 11, 22, 16, 14, 15, 12, 13, 7, 19, 9, 10, 70, 33, 72, 25, 17, 18, 7, 18, 9, 10, 23, 18, 18, 16, 25, 24, 23, 23, 21, 16, 52, 53, 58, 16, 25, 69, 20, 71, 21, 73, 16, 75, 76, 16, 78, 21, 23, 81, 21, 26, 16, 85, 3, 4, 5, 5, 5, 7, 7, 4, 5, 8, 20, 20, 8, 20, 22, 20, 7, 17, 8, 17, 8, 7, 34, 8, 8, 8, 8, -1, 23, 10, 36 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 28, 0, 6, 7, 9, 10, 11, 14, 15, 19, 25, 29, 30, 35, 36, 37, 38, 40, 16, 21, 33, 16, 16, 5, 7, 31, 32, 7, 35, 5, 31, 35, 18, 23, 34, 24, 38, 3, 4, 5, 39, 20, 33, 8, 35, 12, 13, 20, 20, 22, 18, 20, 20, 26, 35, 36, 8, 37, 4, 5, 7, 17, 18, 17, 17, 8, 8, 7, 34, 35, 34, 35, 21, 33, 34, 21, 33, 34, 33, 8, 21, 33, 33, 8, 21, 33, 33, 8, 33, 8 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (YYLEX_PARAM) #else # define YYLEX yylex () #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) #else static void yy_stack_print (bottom, top) yytype_int16 *bottom; yytype_int16 *top; #endif { YYFPRINTF (stderr, "Stack now"); for (; bottom <= top; ++bottom) YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule) #else static void yy_reduce_print (yyvsp, yyrule) YYSTYPE *yyvsp; int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); fprintf (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /* The look-ahead symbol. */ int yychar; /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () #endif #endif { int yystate; int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss = yyssa; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp; #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a look-ahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a look-ahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: #line 160 "parser.y" { } break; case 3: #line 163 "parser.y" { foundRules = true; } break; case 5: #line 171 "parser.y" { if ((yyvsp[(1) - (4)].symbol)->re) { in->fatal("sym already defined"); } (yyvsp[(1) - (4)].symbol)->re = (yyvsp[(3) - (4)].regexp); } break; case 6: #line 179 "parser.y" { if ((yyvsp[(1) - (2)].symbol)->re) { in->fatal("sym already defined"); } (yyvsp[(1) - (2)].symbol)->re = (yyvsp[(2) - (2)].regexp); } break; case 7: #line 187 "parser.y" { in->fatal("trailing contexts are not allowed in named definitions"); } break; case 8: #line 191 "parser.y" { in->fatal("trailing contexts are not allowed in named definitions"); } break; case 9: #line 195 "parser.y" { in->config(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].str)); delete (yyvsp[(1) - (4)].str); delete (yyvsp[(3) - (4)].str); } break; case 10: #line 201 "parser.y" { in->config(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].number)); delete (yyvsp[(1) - (4)].str); } break; case 11: #line 209 "parser.y" { if (cFlag) { in->fatal("condition or '<*>' required when using -c switch"); } (yyval.regexp) = new RuleOp((yyvsp[(1) - (3)].regexp), (yyvsp[(2) - (3)].regexp), (yyvsp[(3) - (3)].token), accept++); spec = spec? mkAlt(spec, (yyval.regexp)) : (yyval.regexp); } break; case 12: #line 218 "parser.y" { context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(6) - (7)].str), (yyvsp[(7) - (7)].token)); } break; case 13: #line 222 "parser.y" { assert((yyvsp[(7) - (7)].str)); context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(7) - (7)].str), NULL); } break; case 14: #line 227 "parser.y" { context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(5) - (6)].str); } break; case 15: #line 232 "parser.y" { assert((yyvsp[(6) - (6)].str)); context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(6) - (6)].str); } break; case 16: #line 238 "parser.y" { context_check(NULL); Token *token = new Token((yyvsp[(7) - (7)].token), (yyvsp[(7) - (7)].token)->source, (yyvsp[(7) - (7)].token)->line, (yyvsp[(6) - (7)].str)); delete (yyvsp[(7) - (7)].token); delete (yyvsp[(6) - (7)].str); specStar.push_back(new RuleOp((yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), token, accept++)); } break; case 17: #line 246 "parser.y" { assert((yyvsp[(7) - (7)].str)); context_check(NULL); Token *token = new Token(NULL, sourceFileInfo, (yyvsp[(7) - (7)].str)); delete (yyvsp[(7) - (7)].str); specStar.push_back(new RuleOp((yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), token, accept++)); } break; case 18: #line 254 "parser.y" { context_none(NULL); delete (yyvsp[(5) - (6)].str); } break; case 19: #line 259 "parser.y" { assert((yyvsp[(6) - (6)].str)); context_none(NULL); delete (yyvsp[(6) - (6)].str); } break; case 20: #line 265 "parser.y" { context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token((yyvsp[(3) - (3)].token), (yyvsp[(3) - (3)].token)->source, (yyvsp[(3) - (3)].token)->line, (yyvsp[(2) - (3)].str)); delete (yyvsp[(2) - (3)].str); delete (yyvsp[(3) - (3)].token); (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } break; case 21: #line 277 "parser.y" { assert((yyvsp[(3) - (3)].str)); context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token(NULL, sourceFileInfo, (yyvsp[(3) - (3)].str)); delete (yyvsp[(3) - (3)].str); (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } break; case 22: #line 289 "parser.y" { CondList *clist = new CondList(); clist->insert("*"); setup_rule(clist, (yyvsp[(4) - (4)].token)); } break; case 23: #line 295 "parser.y" { setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].token)); } break; case 24: #line 302 "parser.y" { in->fatal("unnamed condition not supported"); } break; case 25: #line 306 "parser.y" { (yyval.clist) = (yyvsp[(1) - (1)].clist); } break; case 26: #line 313 "parser.y" { (yyval.clist) = new CondList(); (yyval.clist)->insert((yyvsp[(1) - (1)].symbol)->GetName().to_string()); } break; case 27: #line 318 "parser.y" { (yyvsp[(1) - (3)].clist)->insert((yyvsp[(3) - (3)].symbol)->GetName().to_string()); (yyval.clist) = (yyvsp[(1) - (3)].clist); } break; case 28: #line 326 "parser.y" { (yyval.str) = NULL; } break; case 29: #line 330 "parser.y" { (yyval.str) = new Str((yyvsp[(3) - (3)].symbol)->GetName().to_string().c_str()); } break; case 30: #line 337 "parser.y" { (yyval.regexp) = new NullOp; } break; case 31: #line 341 "parser.y" { (yyval.regexp) = (yyvsp[(2) - (2)].regexp); } break; case 32: #line 348 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 33: #line 352 "parser.y" { (yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); } break; case 34: #line 359 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 35: #line 363 "parser.y" { (yyval.regexp) = mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); if(!(yyval.regexp)) { in->fatal("can only difference char sets"); } } break; case 36: #line 374 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 37: #line 378 "parser.y" { (yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp)); } break; case 38: #line 385 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 39: #line 389 "parser.y" { switch((yyvsp[(2) - (2)].op)) { case '*': (yyval.regexp) = mkAlt(new CloseOp((yyvsp[(1) - (2)].regexp)), new NullOp()); break; case '+': (yyval.regexp) = new CloseOp((yyvsp[(1) - (2)].regexp)); break; case '?': (yyval.regexp) = mkAlt((yyvsp[(1) - (2)].regexp), new NullOp()); break; } } break; case 40: #line 404 "parser.y" { (yyval.regexp) = new CloseVOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).minsize, (yyvsp[(2) - (2)].extop).maxsize); } break; case 41: #line 411 "parser.y" { (yyval.op) = (yyvsp[(1) - (1)].op); } break; case 42: #line 415 "parser.y" { (yyval.op) = (yyvsp[(1) - (1)].op); } break; case 43: #line 419 "parser.y" { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; } break; case 44: #line 423 "parser.y" { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; } break; case 45: #line 430 "parser.y" { if(!(yyvsp[(1) - (1)].symbol)->re) { in->fatal("can't find symbol"); } (yyval.regexp) = (yyvsp[(1) - (1)].symbol)->re; } break; case 46: #line 438 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 47: #line 442 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 48: #line 446 "parser.y" { (yyval.regexp) = (yyvsp[(2) - (3)].regexp); } break; /* Line 1267 of yacc.c. */ #line 1936 "parser.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (yymsg); } else { yyerror (YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEOF && yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } #line 451 "parser.y" extern "C" { void yyerror(const char* s) { in->fatal(s); } int yylex(){ return in ? in->scan() : 0; } } // end extern "C" namespace re2c { void parse(Scanner& i, std::ostream& o, std::ostream* h) { std::map dfa_map; ScannerState rules_state; in = &i; o << "/* Generated by re2c " PACKAGE_VERSION; if (!bNoGenerationDate) { o << " on "; time_t now = time(&now); o.write(ctime(&now), 24); } o << " */\n"; o << sourceFileInfo; bool uFlagOld = uFlag; bool wFlagOld = wFlag; uint nRealCharsOld = nRealChars; while ((parseMode = i.echo()) != Scanner::Stop) { bool bPrologBrace = false; ScannerState curr_state; i.save_state(curr_state); foundRules = false; if (rFlag && parseMode == Scanner::Rules && dfa_map.size()) { in->fatal("cannot have a second 'rules:re2c' block"); } if (parseMode == Scanner::Reuse) { if (dfa_map.empty()) { in->fatal("got 'use:re2c' without 'rules:re2c'"); } } else if (parseMode == Scanner::Rules) { i.save_state(rules_state); } else { dfa_map.clear(); } accept = 0; spec = NULL; in->set_in_parse(true); yyparse(); in->set_in_parse(false); if (rFlag && parseMode == Scanner::Reuse) { uint nRealCharsLast = nRealChars; if (uFlag) { nRealChars = 0x110000; // 17 times w-Flag } else if (wFlag) { nRealChars = (1<<16); // 0x10000 } else { nRealChars = (1<<8); // 0x100 } if (foundRules || nRealCharsLast != nRealChars) { // Re-parse rules parseMode = Scanner::Parse; i.restore_state(rules_state); i.reuse(); dfa_map.clear(); parse_cleanup(); spec = NULL; accept = 0; in->set_in_parse(true); yyparse(); in->set_in_parse(false); // Now append potential new rules i.restore_state(curr_state); parseMode = Scanner::Parse; in->set_in_parse(true); yyparse(); in->set_in_parse(false); } uFlagOld = uFlag; wFlagOld = wFlag; nRealCharsOld = nRealChars; } if (cFlag) { RegExpMap::iterator it; SetupMap::const_iterator itRuleSetup; if (parseMode != Scanner::Reuse) { if (!specStar.empty()) { for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { it->second.second = mkAlt((*itOp)->copy(accept++), it->second.second); } } } if (specNone) { // After merging star rules merge none code to specmap // this simplifies some stuff. // Note that "0" inserts first, which is important. specMap["0"] = std::make_pair(0, specNone); } else { // We reserved 0 for specNone but it is not present, // so we can decrease all specs. for (it = specMap.begin(); it != specMap.end(); ++it) { it->second.first--; } } } size_t nCount = specMap.size(); for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); if (parseMode != Scanner::Reuse) { itRuleSetup = ruleSetupMap.find(it->first); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { yySetupRule = ""; } } dfa_map[it->first] = genCode(it->second.second); dfa_map[it->first]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end()) { dfa_map[it->first]->emit(o, topIndent, &specMap, it->first, !--nCount, bPrologBrace); } } if (!h && !bTypesDone) { genTypes(typesInline, 0, specMap); } } else if (spec || !dfa_map.empty()) { if (parseMode != Scanner::Reuse) { dfa_map[""] = genCode(spec); dfa_map[""]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end()) { dfa_map[""]->emit(o, topIndent, NULL, "", 0, bPrologBrace); } } o << sourceFileInfo; /* restore original char handling mode*/ uFlag = uFlagOld; wFlag = wFlagOld; nRealChars = nRealCharsOld; } if (cFlag) { SetupMap::const_iterator itRuleSetup; for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup) { if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end()) { in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str()); } } if (specMap.size() < ruleSetupMap.size()) { uint line = in->get_cline(); itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { line = itRuleSetup->second.first; } in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly"); } } if (h) { genHeader(*h, 0, specMap); } parse_cleanup(); in = NULL; } void parse_cleanup() { RegExp::vFreeList.clear(); Range::vFreeList.clear(); Symbol::ClearTable(); specMap.clear(); specStar.clear(); specNone = NULL; } } // end namespace re2c re2c-0.13.5/bootstrap/scanner.cc0000664000076500007660000014135611016275320013355 00000000000000/* Generated by re2c 0.13.4.dev on Sat Apr 5 15:54:36 2008 */ /* $Id: scanner.cc 859 2008-04-05 15:09:33Z helly $ */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define YYCTYPE unsigned char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYCTXMARKER ctx #define YYFILL(n) {cursor = fill(cursor, n);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::ParseMode Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; int ignore_cnt = 0; if (eof && cursor == eof) // Catch EOF { return Stop; } tok = cursor; echo: { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16); yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x00) goto yy7; if (yych == '\n') goto yy5; goto yy9; } else { if (yych <= '*') goto yy4; if (yych != '/') goto yy9; } yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy37; yy3: { goto echo; } yy4: yych = *++YYCURSOR; if (yych == '/') goto yy32; goto yy3; yy5: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy10; } if (yych == '#') goto yy13; yy6: { if (ignore_eoc) { ignore_cnt++; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; cline++; goto echo; } yy7: ++YYCURSOR; { if (!ignore_eoc && !DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 } if(cursor == eof) { RETURN(Stop); } } yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy10; } if (yych == '#') goto yy13; yy12: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy6; } } else { goto yy33; } yy13: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy13; goto yy12; } else { if (yych <= ' ') goto yy13; if (yych != 'l') goto yy12; } yych = *++YYCURSOR; if (yych != 'i') goto yy12; yych = *++YYCURSOR; if (yych != 'n') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych <= '0') goto yy20; if (yych <= '9') goto yy12; goto yy20; yy19: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy20: if (yych <= 0x1F) { if (yych == '\t') goto yy19; goto yy12; } else { if (yych <= ' ') goto yy19; if (yych <= '0') goto yy12; if (yych >= ':') goto yy12; } yy21: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy21; } if (yych <= '\f') { if (yych <= 0x08) goto yy12; if (yych <= '\t') goto yy23; if (yych <= '\n') goto yy25; goto yy12; } else { if (yych <= '\r') goto yy27; if (yych != ' ') goto yy12; } yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy23; goto yy12; } else { if (yych <= ' ') goto yy23; if (yych == '"') goto yy28; goto yy12; } yy25: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto echo; } yy27: yych = *++YYCURSOR; if (yych == '\n') goto yy25; goto yy12; yy28: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy28; } if (yych <= '!') goto yy12; if (yych <= '"') goto yy31; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy12; goto yy28; yy31: yych = *++YYCURSOR; if (yych == '\n') goto yy25; if (yych == '\r') goto yy27; goto yy12; yy32: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy35; if (yych == '\r') goto yy34; yy33: { if (ignore_eoc) { if (ignore_cnt) { out << "\n" << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } yy34: yych = *++YYCURSOR; if (yych != '\n') goto yy12; yy35: ++YYCURSOR; { cline++; if (ignore_eoc) { if (ignore_cnt) { out << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } yy37: yych = *++YYCURSOR; if (yych != '!') goto yy12; yych = *++YYCURSOR; switch (yych) { case 'g': goto yy41; case 'i': goto yy40; case 'm': goto yy42; case 'r': goto yy44; case 't': goto yy39; case 'u': goto yy43; default: goto yy12; } yy39: yych = *++YYCURSOR; if (yych == 'y') goto yy99; goto yy12; yy40: yych = *++YYCURSOR; if (yych == 'g') goto yy88; goto yy12; yy41: yych = *++YYCURSOR; if (yych == 'e') goto yy75; goto yy12; yy42: yych = *++YYCURSOR; if (yych == 'a') goto yy67; goto yy12; yy43: yych = *++YYCURSOR; if (yych == 's') goto yy59; goto yy12; yy44: yych = *++YYCURSOR; if (yych == 'e') goto yy45; if (yych == 'u') goto yy46; goto yy12; yy45: yych = *++YYCURSOR; if (yych == '2') goto yy56; goto yy12; yy46: yych = *++YYCURSOR; if (yych != 'l') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (rFlag) { mapCodeName.clear(); } else { fatal("found 'reules:re2c' block without -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } tok = cursor; RETURN(Rules); } yy56: yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (rFlag) { fatal("found standard 're2c' block while using -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); } tok = cursor; RETURN(Parse); } yy59: yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (!rFlag) { fatal("found 'use:re2c' block without -r flag"); } reuse(); if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-11]) - (const char*)(tok)); } tok = cursor; RETURN(Reuse); } yy67: yych = *++YYCURSOR; if (yych != 'x') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (bUsedYYMaxFill) { fatal("cannot generate YYMAXFILL twice"); } if (!DFlag) { out << "#define YYMAXFILL " << maxFill << std::endl; } tok = pos = cursor; ignore_eoc = true; bUsedYYMaxFill = true; goto echo; } yy75: yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 'a') goto yy12; yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { tok = pos = cursor; genGetStateGoto(out, topIndent, 0); ignore_eoc = true; goto echo; } yy88: yych = *++YYCURSOR; if (yych != 'n') goto yy12; yych = *++YYCURSOR; if (yych != 'o') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { tok = pos = cursor; ignore_eoc = true; goto echo; } yy99: yych = *++YYCURSOR; if (yych != 'p') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (bSinglePass) { fatal("cannot generate types inline in single pass mode"); } tok = pos = cursor; ignore_eoc = true; if (bLastPass && !DFlag) { out << outputFileInfo; out << "\n"; out << typesInline; out << "\n"; out << sourceFileInfo; } goto echo; } } } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 208, 192, 208, 208, 208, 208, 80, 208, 208, 208, 208, 208, 208, 208, 208, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 208, 208, 208, 208, 208, 208, 208, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 208, 0, 144, 208, 240, 208, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, }; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '/') { if (yych <= '"') { if (yych <= '\f') { if (yych <= 0x08) goto yy138; if (yych <= '\t') goto yy133; if (yych <= '\n') goto yy135; goto yy138; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy137; goto yy138; } else { if (yych <= ' ') goto yy133; if (yych <= '!') goto yy138; goto yy119; } } } else { if (yych <= '*') { if (yych <= '&') goto yy138; if (yych <= '\'') goto yy121; if (yych <= ')') goto yy126; goto yy117; } else { if (yych <= ',') { if (yych <= '+') goto yy127; goto yy126; } else { if (yych <= '-') goto yy138; if (yych <= '.') goto yy131; goto yy115; } } } } else { if (yych <= '[') { if (yych <= '<') { if (yych <= '9') goto yy138; if (yych <= ':') goto yy113; if (yych <= ';') goto yy126; goto yy125; } else { if (yych <= '?') { if (yych <= '>') goto yy126; goto yy127; } else { if (yych <= '@') goto yy138; if (yych <= 'Z') goto yy130; goto yy123; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= '\\') goto yy126; goto yy138; } else { if (yych == '`') goto yy138; goto yy130; } } else { if (yych <= 'z') { if (yych <= 'r') goto yy129; goto yy130; } else { if (yych <= '{') goto yy111; if (yych <= '|') goto yy126; goto yy138; } } } } yy111: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') { if (yych == ',') goto yy229; } else { if (yych <= '0') goto yy226; if (yych <= '9') goto yy227; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy224; if (yych >= '_') goto yy224; } else { if (yych <= '`') goto yy112; if (yych <= 'z') goto yy224; } } yy112: { depth = 1; goto code; } yy113: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy220; yy114: { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } yy115: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy218; yy116: { RETURN(*tok); } yy117: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy216; { yylval.op = *tok; RETURN(STAR); } yy119: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy212; yy120: { fatal("unterminated string constant (missing \")"); } yy121: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy207; yy122: { fatal("unterminated string constant (missing ')"); } yy123: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy124; if (yych == '^') goto yy198; goto yy197; yy124: { fatal("unterminated range (missing ])"); } yy125: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == '!') goto yy187; if (yych == '>') goto yy189; goto yy116; yy126: yych = *++YYCURSOR; goto yy116; yy127: ++YYCURSOR; { yylval.op = *tok; RETURN(CLOSE); } yy129: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych == 'e') goto yy176; goto yy165; yy130: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; goto yy165; yy131: ++YYCURSOR; { cur = cursor; yylval.regexp = mkDot(); return RANGE; } yy133: ++YYCURSOR; yych = *YYCURSOR; goto yy163; yy134: { goto scan; } yy135: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; yy136: { if (cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } yy137: yych = *++YYCURSOR; if (yych == '\n') goto yy139; goto yy114; yy138: yych = *++YYCURSOR; goto yy114; yy139: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; goto yy136; yy140: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; yy142: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy112; } else { goto yy120; } } else { if (yyaccept <= 2) { goto yy122; } else { goto yy124; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy116; } else { goto yy136; } } else { if (yyaccept <= 6) { goto yy182; } else { goto yy230; } } } yy143: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy143; goto yy142; } else { if (yych <= ' ') goto yy143; if (yych != 'l') goto yy142; } yych = *++YYCURSOR; if (yych != 'i') goto yy142; yych = *++YYCURSOR; if (yych != 'n') goto yy142; yych = *++YYCURSOR; if (yych != 'e') goto yy142; yych = *++YYCURSOR; if (yych <= '0') goto yy150; if (yych <= '9') goto yy142; goto yy150; yy149: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy150: if (yych <= 0x1F) { if (yych == '\t') goto yy149; goto yy142; } else { if (yych <= ' ') goto yy149; if (yych <= '0') goto yy142; if (yych >= ':') goto yy142; } yy151: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 8) { goto yy151; } if (yych <= '\f') { if (yych <= 0x08) goto yy142; if (yych <= '\t') goto yy153; if (yych <= '\n') goto yy155; goto yy142; } else { if (yych <= '\r') goto yy157; if (yych != ' ') goto yy142; } yy153: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy153; goto yy142; } else { if (yych <= ' ') goto yy153; if (yych == '"') goto yy158; goto yy142; } yy155: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto scan; } yy157: yych = *++YYCURSOR; if (yych == '\n') goto yy155; goto yy142; yy158: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy158; } if (yych <= '!') goto yy142; if (yych <= '"') goto yy161; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy158; yy161: yych = *++YYCURSOR; if (yych == '\n') goto yy155; if (yych == '\r') goto yy157; goto yy142; yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy163: if (yych == '\t') goto yy162; if (yych == ' ') goto yy162; goto yy134; yy164: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy165: if (yybm[0+yych] & 32) { goto yy164; } if (yych <= ' ') { if (yych == '\t') goto yy168; if (yych <= 0x1F) goto yy167; goto yy168; } else { if (yych <= ',') { if (yych <= '+') goto yy167; goto yy169; } else { if (yych <= '<') goto yy167; if (yych <= '>') goto yy169; goto yy167; } } yy166: YYCURSOR = YYCTXMARKER; { if (!FFlag) { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } else { /* Add one char in front and one behind instead of 's or "s */ cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(raw_token("\"")); } else { yylval.regexp = strToRE(raw_token("\"")); } return STRING; } } yy167: yych = *++YYCURSOR; goto yy166; yy168: yych = *++YYCURSOR; goto yy174; yy169: ++YYCURSOR; yy170: YYCURSOR = YYCTXMARKER; { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return ID; } yy171: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return FFlag ? FID : ID; } yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy174: if (yych <= ' ') { if (yych == '\t') goto yy173; if (yych <= 0x1F) goto yy171; goto yy173; } else { if (yych <= ',') { if (yych <= '+') goto yy171; } else { if (yych <= '<') goto yy171; if (yych >= '?') goto yy171; } } yych = *++YYCURSOR; goto yy170; yy176: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != '2') goto yy165; YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != 'c') goto yy165; YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != ':') goto yy165; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy166; if (yych >= '[') goto yy166; } else { if (yych == '`') goto yy166; if (yych >= '{') goto yy166; } yy180: yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '9') { if (yych >= '0') goto yy180; } else { if (yych <= ':') goto yy184; if (yych >= '@') goto yy183; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy180; if (yych >= '_') goto yy180; } else { if (yych <= '`') goto yy182; if (yych <= 'z') goto yy180; } } yy182: { cur = cursor; tok += 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } yy183: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy185; goto yy142; } else { if (yych == '`') goto yy142; if (yych <= 'z') goto yy185; goto yy142; } yy184: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy180; goto yy142; } else { if (yych == '`') goto yy142; if (yych <= 'z') goto yy180; goto yy142; } yy185: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy182; if (yych <= '9') goto yy185; if (yych <= '@') goto yy182; goto yy185; } else { if (yych <= '_') { if (yych <= '^') goto yy182; goto yy185; } else { if (yych <= '`') goto yy182; if (yych <= 'z') goto yy185; goto yy182; } } yy187: ++YYCURSOR; { RETURN(SETUP); } yy189: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; goto yy191; yy190: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy191: if (yych <= '9') { if (yych <= '\t') { if (yych <= 0x08) goto yy142; goto yy190; } else { if (yych == ' ') goto yy190; goto yy142; } } else { if (yych <= '=') { if (yych <= ':') goto yy195; if (yych <= '<') goto yy142; goto yy194; } else { if (yych != '{') goto yy142; } } yy192: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { RETURN(NOCOND); } yy194: yych = *++YYCURSOR; if (yych == '>') goto yy192; goto yy142; yy195: yych = *++YYCURSOR; if (yych == '=') goto yy192; goto yy142; yy196: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy197: if (yybm[0+yych] & 64) { goto yy196; } if (yych <= '[') goto yy142; if (yych <= '\\') goto yy200; goto yy201; yy198: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '[') { if (yych == '\n') goto yy142; goto yy198; } else { if (yych <= '\\') goto yy203; if (yych <= ']') goto yy204; goto yy198; } yy200: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy196; yy201: ++YYCURSOR; { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } yy203: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy198; yy204: ++YYCURSOR; { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } yy206: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy207: if (yybm[0+yych] & 128) { goto yy206; } if (yych <= '&') goto yy142; if (yych <= '\'') goto yy209; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy206; yy209: ++YYCURSOR; { cur = cursor; if (bCaseInverted) { yylval.regexp = strToRE(token()); } else { yylval.regexp = strToCaseInsensitiveRE(token()); } return STRING; } yy211: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy212: if (yych <= '!') { if (yych == '\n') goto yy142; goto yy211; } else { if (yych <= '"') goto yy214; if (yych != '\\') goto yy211; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy211; yy214: ++YYCURSOR; { cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(token()); } else { yylval.regexp = strToRE(token()); } return STRING; } yy216: ++YYCURSOR; { tok = cursor; RETURN(0); } yy218: ++YYCURSOR; { depth = 1; goto comment; } yy220: ++YYCURSOR; if ((yych = *YYCURSOR) == '>') goto yy222; { cur = cursor; tok += 2; /* skip ":=" */ depth = 0; goto code; } yy222: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { RETURN(*tok); } yy224: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych <= '9') { if (yych <= '/') goto yy142; goto yy224; } else { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy224; goto yy142; } } else { if (yych <= 'z') { if (yych == '`') goto yy142; goto yy224; } else { if (yych == '}') goto yy243; goto yy142; } } yy226: yych = *++YYCURSOR; if (yych == ',') goto yy240; goto yy228; yy227: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy228: if (yych <= '/') { if (yych == ',') goto yy233; goto yy142; } else { if (yych <= '9') goto yy227; if (yych == '}') goto yy231; goto yy142; } yy229: ++YYCURSOR; yy230: { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } yy231: ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } yy233: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy230; if (yych <= '9') goto yy236; if (yych != '}') goto yy230; ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } yy236: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy142; if (yych <= '9') goto yy236; if (yych != '}') goto yy142; ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } yy240: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy230; if (yych <= '9') goto yy236; if (yych != '}') goto yy230; ++YYCURSOR; { yylval.op = '*'; RETURN(CLOSE); } yy243: ++YYCURSOR; { if (!FFlag) { fatal("curly braces for names only allowed with -F switch"); } cur = cursor; yylval.symbol = Symbol::find(token(1, cur - tok - 2)); return ID; } } code: { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 112, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 112, 48, 16, 48, 48, 48, 48, 32, 48, 48, 48, 48, 48, 48, 48, 48, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, }; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= 0x00) goto yy253; if (yych <= '\t') goto yy255; goto yy251; } else { if (yych == '"') goto yy257; goto yy255; } } else { if (yych <= '{') { if (yych <= '\'') goto yy258; if (yych <= 'z') goto yy255; goto yy249; } else { if (yych != '}') goto yy255; } } ++YYCURSOR; { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else if (--depth == 0) { cur = cursor; yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } goto code; } yy249: ++YYCURSOR; { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else { ++depth; } goto code; } yy251: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\r') { if (yych <= '\t') { if (yych >= '\t') goto yy266; } else { if (yych <= '\n') goto yy268; if (yych >= '\r') goto yy268; } } else { if (yych <= ' ') { if (yych >= ' ') goto yy266; } else { if (yych == '#') goto yy269; } } yy252: { if (depth == 0) { cur = cursor; tok += strspn(tok, " \t\r\n"); while (cur > tok && strchr(" \t\r\n", cur[-1])) { --cur; } yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } yy253: ++YYCURSOR; { if (cursor == eof) { if (depth) { fatal("missing '}'"); } RETURN(0); } goto code; } yy255: ++YYCURSOR; yy256: { goto code; } yy257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy256; goto yy264; yy258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy256; goto yy260; yy259: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy260: if (yybm[0+yych] & 16) { goto yy259; } if (yych <= '&') goto yy261; if (yych <= '\'') goto yy255; goto yy262; yy261: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy252; } else { goto yy256; } } else { goto yy267; } yy262: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy259; yy263: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy264: if (yybm[0+yych] & 32) { goto yy263; } if (yych <= '!') goto yy261; if (yych <= '"') goto yy255; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy263; yy266: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy288; } else { if (yych <= ' ') goto yy288; if (yych == '#') goto yy269; } yy267: YYCURSOR = YYCTXMARKER; { if (depth == 0) { goto code; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } yy268: yych = *++YYCURSOR; goto yy267; yy269: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy269; } if (yych != 'l') goto yy261; yych = *++YYCURSOR; if (yych != 'i') goto yy261; yych = *++YYCURSOR; if (yych != 'n') goto yy261; yych = *++YYCURSOR; if (yych != 'e') goto yy261; yych = *++YYCURSOR; if (yych <= '0') goto yy276; if (yych <= '9') goto yy261; goto yy276; yy275: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy276: if (yych <= 0x1F) { if (yych == '\t') goto yy275; goto yy261; } else { if (yych <= ' ') goto yy275; if (yych <= '0') goto yy261; if (yych >= ':') goto yy261; } yy277: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy277; } if (yych <= '\f') { if (yych <= 0x08) goto yy261; if (yych <= '\t') goto yy279; if (yych <= '\n') goto yy281; goto yy261; } else { if (yych <= '\r') goto yy283; if (yych != ' ') goto yy261; } yy279: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy279; goto yy261; } else { if (yych <= ' ') goto yy279; if (yych == '"') goto yy284; goto yy261; } yy281: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto code; } yy283: yych = *++YYCURSOR; if (yych == '\n') goto yy281; goto yy261; yy284: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy261; goto yy284; } else { if (yych <= '"') goto yy287; if (yych != '\\') goto yy284; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy284; yy287: yych = *++YYCURSOR; if (yych == '\n') goto yy281; if (yych == '\r') goto yy283; goto yy261; yy288: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy288; goto yy261; } else { if (yych <= ' ') goto yy288; if (yych == '#') goto yy269; goto yy261; } } comment: { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy295; goto yy297; } else { if (yych <= '*') goto yy292; if (yych == '/') goto yy294; goto yy297; } yy292: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy322; yy293: { if (cursor == eof) { RETURN(0); } goto comment; } yy294: yych = *++YYCURSOR; if (yych == '*') goto yy320; goto yy293; yy295: yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy298; } if (yych == '#') goto yy301; yy296: { if (cursor == eof) { RETURN(0); } tok = pos = cursor; cline++; goto comment; } yy297: yych = *++YYCURSOR; goto yy293; yy298: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy298; } if (yych == '#') goto yy301; yy300: YYCURSOR = YYMARKER; goto yy296; yy301: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy301; goto yy300; } else { if (yych <= ' ') goto yy301; if (yych != 'l') goto yy300; } yych = *++YYCURSOR; if (yych != 'i') goto yy300; yych = *++YYCURSOR; if (yych != 'n') goto yy300; yych = *++YYCURSOR; if (yych != 'e') goto yy300; yych = *++YYCURSOR; if (yych <= '0') goto yy308; if (yych <= '9') goto yy300; goto yy308; yy307: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy308: if (yych <= 0x1F) { if (yych == '\t') goto yy307; goto yy300; } else { if (yych <= ' ') goto yy307; if (yych <= '0') goto yy300; if (yych >= ':') goto yy300; } yy309: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy309; } if (yych <= '\f') { if (yych <= 0x08) goto yy300; if (yych <= '\t') goto yy311; if (yych <= '\n') goto yy313; goto yy300; } else { if (yych <= '\r') goto yy315; if (yych != ' ') goto yy300; } yy311: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy311; goto yy300; } else { if (yych <= ' ') goto yy311; if (yych == '"') goto yy316; goto yy300; } yy313: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto comment; } yy315: yych = *++YYCURSOR; if (yych == '\n') goto yy313; goto yy300; yy316: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy316; } if (yych <= '!') goto yy300; if (yych <= '"') goto yy319; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy300; goto yy316; yy319: yych = *++YYCURSOR; if (yych == '\n') goto yy313; if (yych == '\r') goto yy315; goto yy300; yy320: ++YYCURSOR; { ++depth; fatal("ambiguous /* found"); goto comment; } yy322: ++YYCURSOR; { if (--depth == 0) { goto scan; } else { goto comment; } } } config: { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych != '\t') goto yy330; } else { if (yych <= ' ') goto yy326; if (yych == '=') goto yy328; goto yy330; } yy326: ++YYCURSOR; yych = *YYCURSOR; goto yy335; yy327: { goto config; } yy328: ++YYCURSOR; yych = *YYCURSOR; goto yy333; yy329: { iscfg = 2; cur = cursor; RETURN('='); } yy330: ++YYCURSOR; { fatal("missing '='"); } yy332: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy333: if (yybm[0+yych] & 128) { goto yy332; } goto yy329; yy334: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy335: if (yych == '\t') goto yy334; if (yych == ' ') goto yy334; goto yy327; } value: { YYCTYPE yych; static const unsigned char yybm[] = { 248, 248, 248, 248, 248, 248, 248, 248, 248, 192, 0, 248, 248, 192, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 192, 248, 104, 248, 248, 248, 248, 152, 248, 248, 248, 248, 248, 248, 248, 248, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 248, 192, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 8, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy344; if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy344; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy344; } else { if (yych == '"') goto yy346; goto yy344; } } } else { if (yych <= '/') { if (yych <= '\'') goto yy348; if (yych == '-') goto yy341; goto yy344; } else { if (yych <= '9') { if (yych <= '0') goto yy339; goto yy342; } else { if (yych != ';') goto yy344; } } } yy338: { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } yy339: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { goto yy344; } yy340: { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } yy341: yych = *++YYCURSOR; if (yych <= '0') goto yy345; if (yych >= ':') goto yy345; yy342: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy342; } if (yych <= '\r') { if (yych <= 0x08) goto yy344; if (yych <= '\n') goto yy340; if (yych >= '\r') goto yy340; } else { if (yych <= ' ') { if (yych >= ' ') goto yy340; } else { if (yych == ';') goto yy340; } } yy344: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy345: if (yybm[0+yych] & 8) { goto yy344; } goto yy338; yy346: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy346; } if (yych <= '!') { if (yych == '\n') goto yy338; goto yy356; } else { if (yych <= '"') goto yy344; if (yych <= '[') goto yy356; goto yy358; } yy348: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy348; } if (yych <= '&') { if (yych == '\n') goto yy338; } else { if (yych <= '\'') goto yy344; if (yych >= '\\') goto yy353; } yy350: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy350; } if (yych <= '&') goto yy352; if (yych <= '\'') goto yy354; goto yy355; yy352: YYCURSOR = YYMARKER; goto yy338; yy353: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy348; goto yy350; } else { if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy348; goto yy350; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy348; goto yy350; } else { if (yych == ';') goto yy350; goto yy348; } } yy354: yych = *++YYCURSOR; goto yy338; yy355: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy352; goto yy350; yy356: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy356; } if (yych <= '!') goto yy352; if (yych <= '"') goto yy354; goto yy359; yy358: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy346; goto yy356; } else { if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy346; goto yy356; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy346; goto yy356; } else { if (yych == ';') goto yy356; goto yy346; } } yy359: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy352; goto yy356; } } void Scanner::set_sourceline(char *& cursor) { sourceline: tok = cursor; { YYCTYPE yych; static const unsigned char yybm[] = { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy366; goto yy368; } else { if (yych <= '"') goto yy364; if (yych <= '0') goto yy368; if (yych >= ':') goto yy368; } ++YYCURSOR; yych = *YYCURSOR; goto yy376; yy363: { cur = cursor; cline = atoi(token().to_string().c_str()); goto sourceline; } yy364: yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy370; yy365: { goto sourceline; } yy366: ++YYCURSOR; { if (cursor == eof) { --cursor; } else { pos = cursor; } tok = cursor; return; } yy368: yych = *++YYCURSOR; goto yy365; yy369: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy370: if (yybm[0+yych] & 64) { goto yy369; } if (yych <= '!') goto yy371; if (yych <= '"') goto yy373; goto yy372; yy371: YYCURSOR = YYMARKER; goto yy365; yy372: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy371; goto yy369; yy373: ++YYCURSOR; { cur = cursor; sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string()); goto sourceline; } yy375: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy376: if (yybm[0+yych] & 128) { goto yy375; } goto yy363; } } } // end namespace re2c re2c-0.13.5/bootstrap/y.tab.h0000664000076500007660000000534311016275320012576 00000000000000/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CLOSESIZE = 258, CLOSE = 259, STAR = 260, NOCOND = 261, ID = 262, CODE = 263, RANGE = 264, STRING = 265, CONFIG = 266, VALUE = 267, NUMBER = 268, SETUP = 269, FID = 270 }; #endif /* Tokens. */ #define CLOSESIZE 258 #define CLOSE 259 #define STAR 260 #define NOCOND 261 #define ID 262 #define CODE 263 #define RANGE 264 #define STRING 265 #define CONFIG 266 #define VALUE 267 #define NUMBER 268 #define SETUP 269 #define FID 270 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 131 "parser.y" { re2c::Symbol *symbol; re2c::RegExp *regexp; re2c::Token *token; char op; int number; re2c::ExtOp extop; re2c::Str *str; re2c::CondList *clist; } /* Line 1489 of yacc.c. */ #line 90 "y.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; re2c-0.13.5/htdocs/0002777000076500007660000000000011016276441010743 500000000000000re2c-0.13.5/htdocs/manual.html.in0000775000076500007660000011245411016275331013436 00000000000000 Manpage of RE2C

RE2C

Section: User Commands (1)
Updated: @PACKAGE_DATE@
Index
 

NAME

re2c - convert regular expressions to C/C++

 

SYNOPSIS

re2c [-bdefFghisuvVw1] [-o output] [-c [-t header]] file

 

DESCRIPTION

re2c is a preprocessor that generates C-based recognizers from regular expressions. The input to re2c consists of C/C++ source interleaved with comments of the form /*!re2c ... */ which contain scanner specifications. In the output these comments are replaced with code that, when executed, will find the next input token and then execute some user-supplied token-specific code.

For example, given the following code

char *scan(char *p)
{
/*!re2c
        re2c:define:YYCTYPE  = "unsigned char";
        re2c:define:YYCURSOR = p;
        re2c:yyfill:enable   = 0;
        re2c:yych:conversion = 1;
        re2c:indent:top      = 1;
        [0-9]+          {return p;}
        [^]             {return (char*)0;}
*/
}


re2c -is will generate

/* Generated by re2c on Sat Apr 16 11:40:58 1994 */
char *scan(char *p)
{
    {
        unsigned char yych;

        yych = (unsigned char)*p;
        if(yych <= '/') goto yy4;
        if(yych >= ':') goto yy4;
        ++p;
        yych = (unsigned char)*p;
        goto yy7;
yy3:
        {return p;}
yy4:
        ++p;
        yych = (unsigned char)*p;
        {return char*)0;}
yy6:
        ++p;
        yych = (unsigned char)*p;
yy7:
        if(yych <= '/') goto yy3;
        if(yych <= '9') goto yy6;
        goto yy3;
    }

}


You can place one /*!max:re2c */ comment that will output a "#define YYMAXFILL <n>" line that holds the maximum number of characters required to parse the input. That is the maximum value YYFILL(n) will receive. If -1 is in effect then YYMAXFILL can be triggered once after the last /*!re2c */.

You can also use /*!ignore:re2c */ blocks that allows to document the scanner code and will not be part of the output.

 

OPTIONS

re2c provides the following options:

-?
-h Invoke a short help.

-b
Implies -s. Use bit vectors as well in the attempt to coax better code out of the compiler. Most useful for specifications with more than a few keywords (e.g. for most programming languages).

-c
Used to support (f)lex-like condition support.

-d
Creates a parser that dumps information about the current position and in which state the parser is while parsing the input. This is useful to debug parser issues and states. If you use this switch you need to define a macro YYDEBUG that is called like a function with two parameters: void YYDEBUG(int state, char current). The first parameter receives the state or -1 and the second parameter receives the input at the current cursor.

-D
Emit Graphviz dot data. It can then be processed with e.g. "dot -Tpng input.dot > output.png". Please note that scanners with many states may crash dot.

-e
Cross-compile from an ASCII platform to an EBCDIC one.

-f
Generate a scanner with support for storable state. For details see below at SCANNER WITH STORABLE STATES.

-F
Partial support for flex syntax. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon. Instead names are treated as direct double quoted strings.

-g
Generate a scanner that utilizes GCC's computed goto feature. That is re2c generates jump tables whenever a decision is of a certain complexity (e.g. a lot of if conditions are otherwise necessary). This is only useable with GCC and produces output that cannot be compiled with any other compiler. Note that this implies -b and that the complexity threshold can be configured using the inplace configuration "cgoto:threshold".
-i
Do not output #line information. This is usefull when you want use a CMS tool with the re2c output which you might want if you do not require your users to have re2c themselves when building from your source. -o output Specify the output file.

-r
Allows reuse of scanner definitions with '/*!use:re2c' after '/*!rules:re2c'. In this mode no '/*!re2c' block and exactly one '/*!use:re2c' must be present. The rules are being saved and used by every '/*!repeat:re2c' block that follows. These blocks can contain inplace configurations, especially 're2c:flags:w' and 're2c:flags:u'. That way it is possible to create the same scanner multiple times for different character types, different input mechanisms or different output mechanisms. The '/*!use:re2c' blocks can also contain additional rules that will be appended to the set of rules in '/*!rules:re2c'.

-s
Generate nested ifs for some switches. Many compilers need this assist to generate better code.

-t
Create a header file that contains types for the (f)lex-like condition support. This can only be activated when -c is in use.

-u
Generate a parser that supports Unicode chars (UTF-32). This means the generated code can deal with any valid Unicode character up to 0x10FFFF. When UTF-8 or UTF-16 needs to be supported you need to convert the incoming stream to UTF-32 upon input yourself.

-v
Show version information.

-V
Show the version as a number XXYYZZ.

-w
Create a parser that supports wide chars (UCS-2). This implies -s and cannot be used together with -e switch.

-1
Force single pass generation, this cannot be combined with -f and disables YYMAXFILL generation prior to last re2c block.

--no-generation-date
Suppress date output in the generated output so that it only shows the re2c version.

--case-insensitive
All strings are case insensitive, so all "-expressions are treated in the same way '-expressions are.

--case-inverted
Invert the meaning of single and double quoted strings. With this switch single quotes are case sensitive and double quotes are case insensitive.



 

INTERFACE CODE

Unlike other scanner generators, re2c does not generate complete scanners: the user must supply some interface code. In particular, the user must define the following macros or use the corresponding inplace configurations:

YYCONDTYPE
In -c mode you can use -t to generate a file that contains the enumeration used as conditions. Each of the values refers to a condition of a rule set.
YYCTXMARKER
l-expression of type *YYCTYPE. The generated code saves context backtracking information in YYCTXMARKER. The user only needs to define this macro if a scanner specification uses trailing context in one or more of its regular expressions.

YYCTYPE
Type used to hold an input symbol. Usually char or unsigned char.

YYCURSOR
l-expression of type *YYCTYPE that points to the current input symbol. The generated code advances YYCURSOR as symbols are matched. On entry, YYCURSOR is assumed to point to the first character of the current token. On exit, YYCURSOR will point to the first character of the following token.

YYDEBUG(state,current)
This is only needed if the -d flag was specified. It allows to easily debug the generated parser by calling a user defined function for every state. The function should have the following signature: void YYDEBUG(int state, char current). The first parameter receives the state or -1 and the second parameter receives the input at the current cursor.

YYFILL(n)
The generated code "calls" YYFILL(n) when the buffer needs (re)filling: at least n additional characters should be provided. YYFILL(n) should adjust YYCURSOR, YYLIMIT, YYMARKER and YYCTXMARKER as needed. Note that for typical programming languages n will be the length of the longest keyword plus one. The user can place a comment of the form /*!max:re2c */ once to insert a YYMAXFILL definition that is set to the maximum length value. If -1 switch is used then YYMAXFILL can be triggered only once after the last /*!re2c */ block.

YYGETCONDITION()
This define is used to get the condition prior to entering the scanner code when using -c switch. The value must be initialized with a value from the enumeration YYCONDTYPE type.
YYGETSTATE()
The user only needs to define this macro if the -f flag was specified. In that case, the generated code "calls" YYGETSTATE() at the very beginning of the scanner in order to obtain the saved state. YYGETSTATE() must return a signed integer. The value must be either -1, indicating that the scanner is entered for the first time, or a value previously saved by YYSETSTATE(s). In the second case, the scanner will resume operations right after where the last YYFILL(n) was called.

YYLIMIT
Expression of type *YYCTYPE that marks the end of the buffer (YYLIMIT[-1] is the last character in the buffer). The generated code repeatedly compares YYCURSOR to YYLIMIT to determine when the buffer needs (re)filling.

YYMARKER
l-expression of type *YYCTYPE. The generated code saves backtracking information in YYMARKER. Some easy scanners might not use this.

YYMAXFILL
This will be automatically defined by /*!max:re2c */ blocks as explained above.

YYSETCONDITION(c)
This define is used to set the condition in transition rules. This is only being used when -c is active and transition rules are being used.

YYSETSTATE(s)
The user only needs to define this macro if the -f flag was specified. In that case, the generated code "calls" YYSETSTATE just before calling YYFILL(n). The parameter to YYSETSTATE(s) is a signed integer that uniquely identifies the specific instance of YYFILL(n) that is about to be called. Should the user wish to save the state of the scanner and have YYFILL(n) return to the caller, all he has to do is store that unique identifer in a variable. Later, when the scanner is called again, it will call YYGETSTATE() and resume execution right where it left off. The generated code will contain both YYSETSTATE(s) and YYGETSTATE() even if YYFILL(n) is being disabled.



 

SCANNER WITH STORABLE STATES

When the -f flag is specified, re2c generates a scanner that can store its current state, return to the caller, and later resume operations exactly where it left off.

The default operation of re2c is a "pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner" the parsing loop, and that may not always be convenient.

Typically, if there is a preprocessor ahead of the scanner in the stream, or for that matter any other procedural source of data, the scanner cannot "ask" for more data unless both scanner and source live in a separate threads.

The -f flag is useful for just this situation : it lets users design scanners that work in a "push" model, i.e. where data is fed to the scanner chunk by chunk. When the scanner runs out of data to consume, it just stores its state, and return to the caller. When more input data is fed to the scanner, it resumes operations exactly where it left off.

When using the -f option re2c does not accept stdin because it has to do the full generation process twice which means it has to read the input twice. That means re2c would fail in case it cannot open the input twice or reading the input for the first time influences the second read attempt.

Changes needed compared to the "pull" model.

1. User has to supply macros YYSETSTATE() and YYGETSTATE(state)

2. The -f option inhibits declaration of yych and yyaccept. So the user has to declare these. Also the user has to save and restore these. In the example examples/push.re these are declared as fields of the (C++) class of which the scanner is a method, so they do not need to be saved/restored explicitly. For C they could e.g. be made macros that select fields from a structure passed in as parameter. Alternatively, they could be declared as local variables, saved with YYFILL(n) when it decides to return and restored at entry to the function. Also, it could be more efficient to save the state from YYFILL(n) because YYSETSTATE(state) is called unconditionally. YYFILL(n) however does not get state as parameter, so we would have to store state in a local variable by YYSETSTATE(state).

3. Modify YYFILL(n) to return (from the function calling it) if more input is needed.

4. Modify caller to recognise "more input is needed" and respond appropriately.

5.The generated code will contain a switch block that is used to restores the last state by jumping behind the corrspoding YYFILL(n) call. This code is automatically generated in the epilog of the first "/*!re2c */" block. It is possible to trigger generation of the YYGETSTATE() block earlier by placing a "/*!getstate:re2c */" comment. This is especially useful when the scanner code should be wrapped inside a loop.

Please see examples/push.re for push-model scanner. The generated code can be tweaked using inplace configurations "state:abort" and "state:nextlabel".

 

SCANNER WITH CONDITION SUPPORT

You can preceed regular-expressions with a list of condition names when using the -c switch. In this case re2c generates scanner blocks for each conditon. Where each of the generated scanners has its own precondition. The precondition is given by the interface define YYGETCONDITON and must be of type YYCONDTYPE.

There are two special rule types. First, the rules of the condition '*' are merged to all conditions. And second the empty condition list allows to provide a code block that does not have a scanner part. Meaning it does not allow any regular expression. The condition value referring to this special block is always the one with the enumeration value 0. This way the code of this special rule can be used to initialize a scanner. It is in no way necessary to have these rules: but sometimes it is helpful to have a dedicated uninitialized condition state.

Non empty rules allow to specify the new condition, which makes them transition rules. Besides generating calls for the define YYSETCONDTITION no other special code is generated.

There is another kind of special rules that allow to prepend code to any code block of all rules of a certain set of conditions or to all code blocks to all rules. This can be helpful when some operation is common among rules. For instance this can be used to store the length of the scanned string. These special setup rules start with an exclamation mark followed by either a list of conditions <! condition, ... > or a star <!*>. When re2c generates the code for a rule whose state does not have a setup rule and a star'd setup rule is present, than that code will be used as setup code.

 

SCANNER SPECIFICATIONS

Each scanner specification consists of a set of rules, named definitions and configurations.

Rules consist of a regular expression along with a block of C/C++ code that is to be executed when the associated regular expression is matched. You can either start the code with an opening curly brace or the sequence ':='. When the code with a curly brace then re2c counts the brace depth and stops looking for code automatically. Otherwise curly braces are not allowed and re2c stops looking for code at the first line that does not begin with whitespace.

regular-expression { C/C++ code }
regular-expression := C/C++ code

If -c is active then each regular expression is preceeded by a list of comma separated condition names. Besides normal naming rules there are two special cases. A rule may contain the single condition name '*' and no contition name at all. In the latter case the rule cannot have a regular expression. Non empty rules may further more specify the new condition. In that case re2c will generated the necessary code to chnage the condition automatically. Just as above code can be started with a curly brace of the sequence ':='. Further more rules can use ':=>' as a shortcut to automatically generate code that not only sets the new condition state but also continues execution with the new state. A shortcut rule should not be used in a loop where there is code between the start of the loop and the re2c block unless re2c:cond:goto is changed to 'continue;'. If code is necessary before all rule (though not simple jumps) you can doso by using <! pseudo-rules.

<condition-list> regular-expression { C/C++ code }
<condition-list> regular-expression := C/C++ code
<condition-list> regular-expression => condition { C/C++ code }
<condition-list> regular-expression => condition := C/C++ code
<condition-list> regular-expression :=> condition
<*> regular-expression { C/C++ code }
<*> regular-expression := C/C++ code
<*> regular-expression => condition { C/C++ code }
<*> regular-expression => condition := C/C++ code
<*> regular-expression :=> condition
<> { C/C++ code }
<> := C/C++ code
<> => condition { C/C++ code }
<> => condition := C/C++ code
<> :=> condition
<!condition-list> { C/C++ code }
<!condition-list> := C/C++ code
<!*> { C/C++ code }
<!*> := C/C++ code

Named definitions are of the form:

name = regular expression;

When -F is active, then named definitions are also of the form:

name regular expression

Configurations look like named definitions whose names start with "re2c:":

re2c:name = value;
re2c:name = "value";
 

SUMMARY OF RE2C REGULAR EXPRESSIONS

"foo"
the literal string foo. ANSI-C escape sequences can be used.
'foo'
the literal string foo (characters [a-zA-Z] treated case-insensitive). ANSI-C escape sequences can be used.
[xyz]
a "character class"; in this case, the regular expression matches either an 'x', a 'y', or a 'z'.
[abj-oZ]
a "character class" with a range in it; matches an 'a', a 'b', any letter from 'j' through 'o', or a 'Z'.
[^class]
an inverted "character class".
r\s
match any r which isn't an s. r and s must be regular expressions which can be expressed as character classes.
r*
zero or more r's, where r is any regular expression
r+
one or more r's
r?
zero or one r's (that is, "an optional r")
name
the expansion of the "named definition" (see above)
(r)
an r; parentheses are used to override precedence (see below)
rs
an r followed by an s ("concatenation")
r|s
either an r or an s
r/s
an r but only if it is followed by an s. The s is not part of the matched text. This type of regular expression is called "trailing context". A trailing context can only be the end of a rule and not part of a named definition.
r{n}
matches r exactly n times.
r{n,}
matches r at least n times.
r{n,m}
matches r at least n but not more than m times.
.
match any character except newline (\n).
def
matches named definition as specified by def only if -F is off. If the switch -F is active then this behaves like it was enclosed in double quotes and matches the string def.


Character classes and string literals may contain octoal or hexadecimal character definitions and the following set of escape sequences (\n,
\t, \v, \b, \r, \f, \a, \\). An octal character is defined by a backslash followed by its three octal digits and a hexadecimal character is defined by backslash, a lower cased 'x' and its two hexadecimal digits or a backslash, an upper cased X and its four hexadecimal digits.

re2c further more supports the c/c++ unicode notation. That is a backslash followed by either a lowercased u and its four hexadecimal digits or an uppercased U and its eight hexadecimal digits. However only in \fB-u\fP mode the generated code can deal with any valid Unicode character up to 0x10FFFF.

Since characters greater \X00FF are not allowed in non unicode mode, the only portable "any" rules are (.|"\n") and [^].

The regular expressions listed above are grouped according to precedence, from highest precedence at the top to lowest at the bottom. Those grouped together have equal precedence.

 

INPLACE CONFIGURATION

It is possible to configure code generation inside re2c blocks. The following lists the available configurations:

re2c:cond:divider = "/* *********************************** */" ;
Allows to customize the devider for condition blocks. You can use '@@' to put the name of the condition or ustomize the plaeholder using re2c:cond:divider@cond.
re2c:cond:divider@cond = @@ ;
Specify the placeholder that will be replaced with the condition name in re2c:cond:divider\fP.
re2c:cond:goto = "goto @@;" ;
Allows to customize the condition goto statements used with ':=>' style rules. You can use '@@' to put the name of the condition or ustomize the plaeholder using re2c:cond:goto@cond. You can also change this to 'continue;', which would allow you to continue with the next loop cycle including any code between loop start and re2c block.
re2c:cond:goto@cond = @@ ;
Spcifies the placeholder that will be replaced with the condition label in re2c:cond:goto.
re2c:indent:top = 0 ;
Specifies the minimum number of indendation to use. Requires a numeric value greater than or equal zero.
re2c:condprefix = yyc_ ;
Allows to specify the prefix used for condition labels. That is this text is prepended to any condition label in the generated output file.
re2c:condenumprefix = yyc ;
Allows to specify the prefix used for condition values. That is this text is prepended to any condition enum value in the generated output file.
re2c:indent:string = "\t" ;
Specifies the string to use for indendation. Requires a string that should contain only whitespace unless you need this for external tools. The easiest way to specify spaces is to enclude them in single or double quotes. If you do not want any indendation at all you can simply set this to "".
re2c:yych:conversion = 0 ;
When this setting is non zero, then \*(re automatically generates conversion code whenever yych gets read. In this case the type must be defined using re2c:define:YYCTYPE.
re2c:yych:emit = 1 ;
Generation of \fByych\fP can be suppressed by setting this to 0.
re2c:yybm:hex = 0 ;
If set to zero then a decimal table is being used else a hexadecimal table will be generated.
re2c:yyfill:enable = 1 ;
Set this to zero to suppress generation of YYFILL(n). When using this be sure to verify that the generated scanner does not read behind input. Allowing this behavior might introduce sever security issues to you programs.
re2c:yyfill:check = 1 ;
This can be set 0 to suppress output of the pre condition using YYCURSOR and YYLIMIT which becomes usefull when YYLIMIT + max(YYFILL) is always accessible.
re2c:yyfill:parameter = 1 ;
Allows to suppress parameter passing to YYFILL calls. If set to zero then no parameter is passed to YYFILL. However define:YYFILL@LEN allows to specify a replacement string for the actual length value. If set to a non zero value then YYFILL usage will be followed by the number of requested characters in braces unless re2c:define:YYFILL:naked is set. Also look at re2c:define:YYFILL:naked and re2c:define:YYFILL@LEN.
re2c:startlabel = 0 ;
If set to a non zero integer then the start label of the next scanner blocks will be generated even if not used by the scanner itself. Otherwise the normal yy0 like start label is only being generated if needed. If set to a text value then a label with that text will be generated regardless of whether the normal start label is being used or not. This setting is being reset to 0 after a start label has been generated.
re2c:labelprefix = yy ;
Allows to change the prefix of numbered labels. The default is \fByy\fP and can be set any string that is a valid label.
re2c:state:abort = 0 ;
When not zero and switch -f is active then the YYGETSTATE block will contain a default case that aborts and a -1 case is used for initialization.
re2c:state:nextlabel = 0 ;
Used when -f is active to control whether the YYGETSTATE block is followed by a yyNext: label line. Instead of using yyNext you can usually also use configuration startlabel to force a specific start label or default to yy0 as start label. Instead of using a dedicated label it is often better to separate the YYGETSTATE code from the actual scanner code by placing a "/*!getstate:re2c */" comment.
re2c:cgoto:threshold = 9 ;
When -g is active this value specifies the complexity threshold that triggers generation of jump tables rather than using nested if's and decision bitfields. The threshold is compared against a calculated estimation of if-s needed where every used bitmap divides the threshold by 2.
re2c:yych:conversion = 0 ;
When the input uses signed characters and -s or -b switches are in effect re2c allows to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from YYCTYPE. If that is given by an inplace configuration that value is being used. Otherwise it will be (YYCTYPE) and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a char* buffer and you are using above mentioned switches you can set YYCTYPE to unsigned char and this setting to either 1 or "(unsigned char)".
re2c:define:define:YYCONDTYPE = YYCONDTYPE ;
Enumeration used for condition support with -c mode.
re2c:define:YYCTXMARKER = YYCTXMARKER ;
Allows to overwrite the define YYCTXMARKER and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYCTYPE = YYCTYPE ;
Allows to overwrite the define YYCTYPE and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYCURSOR = YYCURSOR ;
Allows to overwrite the define YYCURSOR and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYDEBUG = YYDEBUG ;
Allows to overwrite the define \fBYYDEBUG\fP and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYFILL = YYFILL ;
Allows to overwrite the define \fBYYFILL\fP and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYFILL:naked = 0 ;
When set to 1 neither braces, parameter nor semicolon gets emitted.
re2c:define:YYFILL@LEN = @@ ;
When using re2c:define:YYFILL and re2c:yyfill:parameter is 0 then any occurence of this text inside YYFILL will be replaced with the actual length value.
re2c:define:YYGETCONDITION = YYGETCONDITION ;
Allows to overwrite the define YYGETCONDITION.
re2c:define:YYGETCONDITION:naked = 0 ;
When set to 1 neither braces, parameter nor semicolon gets emitted.
re2c:define:YYGETSTATE = YYGETSTATE ;
Allows to overwrite the define YYGETSTATE and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYGETSTATE:naked = 0 ;
When set to 1 neither braces, parameter nor semicolon gets emitted.
re2c:define:YYLIMIT = YYLIMIT ;
Allows to overwrite the define YYLIMIT and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYMARKER = YYMARKER ;
Allows to overwrite the define YYMARKER and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYSETCONDITION = YYSETCONDITION ;
Allows to overwrite the define YYSETCONDITION.
re2c:define:YYSETCONDITION@cond = @@ ;
When using re2c:define:YYSETCONDITION then any occurence of this text inside YYSETCONDITION will be replaced with the actual new condition value.
re2c:define:YYSETSTATE = YYSETSTATE ;
Allows to overwrite the define YYSETSTATE and thus avoiding it by setting the value to the actual code needed.
re2c:define:YYSETSTATE:naked = 0 ;
When set to 1 neither braces, parameter nor semicolon gets emitted.
re2c:define:YYSETSTATE@state = @@ ;
When using re2c:define:YYSETSTATE then any occurence of this text inside YYSETSTATE will be replaced with the actual new state value.
re2c:label:yyFillLabel = yyFillLabel ;
Allows to overwrite the name of the label yyFillLabel.
re2c:label:yyNext = yyNext ;
Allows to overwrite the name of the label yyNext.
re2c:variable:yyaccept = yyaccept ;
Allows to overwrite the name of the variable yyaccept.
re2c:variable:yybm = yybm ;
Allows to overwrite the name of the variable yybm.
re2c:variable:yych = yych ;
Allows to overwrite the name of the variable yych.
re2c:variable:yyctable = yyctable ;
When both -c and -g are active then re2c uses this variable to generate a static jump table for YYGETCONDITION.
re2c:variable:yystable = yystable ;
When both -f and -g are active then re2c uses this variable to generate a static jump table for YYGETSTATE.
re2c:variable:yytarget = yytarget ;
Allows to overwrite the name of the variable yytarget.
 

UNDERSTANDING RE2C

The subdirectory lessons of the re2c distribution contains a few step by step lessons to get you started with re2c. All examples in the lessons subdirectory can be compiled and actually work.

 

FEATURES

re2c does not provide a default action: the generated code assumes that the input will consist of a sequence of tokens. Typically this can be dealt with by adding a rule such as the one for unexpected characters in the example above.

The user must arrange for a sentinel token to appear at the end of input (and provide a rule for matching it): re2c does not provide an <<EOF>> expression. If the source is from a null-byte terminated string, a rule matching a null character will suffice. If the source is from a file then you could pad the input with a newline (or some other character that cannot appear within another token); upon recognizing such a character check to see if it is the sentinel and act accordingly. And you can also use YYFILL(n) to end the scanner in case not enough characters are available which is nothing else then e detection of end of data/file.

 

BUGS

Difference only works for character sets.

The re2c internal algorithms need documentation.

 

SEE ALSO

flex(1), lex(1). More information on re2c can be found here: http://re2c.org/

 

AUTHORS



 

VERSION INFORMATION

This manpage describes re2c, version @PACKAGE_VERSION@.


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
INTERFACE CODE
SCANNER WITH STORABLE STATES
SCANNER WITH CONDITION SUPPORT
SCANNER SPECIFICATIONS
SUMMARY OF RE2C REGULAR EXPRESSIONS
INPLACE CONFIGURATION
UNDERSTANDING RE2C
FEATURES
BUGS
SEE ALSO
AUTHORS
VERSION INFORMATION



This document was created by man2html, using the manual pages.
Date: @PACKAGE_DATE@

re2c-0.13.5/README0000664000076500007660000001617611016275373010271 00000000000000re2c Version 0.13.5 ------------------ Originally written by Peter Bumbulis (peter@csg.uwaterloo.ca) Currently maintained by: Dan Nuffer Marcus Boerger Hartmut Kaiser The re2c distribution can be found at: http://sourceforge.net/projects/re2c/ re2c has been developed and tested with the following compilers on various platforms in 32 bit and 64 bit mode: - GCC 3.3 ... 4.1 - Microsoft VC 7, 7.1, 8 - Intel 9.0 - Sun C++ 5.8 (CXXFLAGS='-library=stlport4') - MIPSpro Compilers: Version 7.4.4m GCC 2.x and Microsoft VC 6 are not capable of compiling re2c. Building re2c on unix like platforms requires autoconf 2.57 and bison (tested with 1.875 and later). Under windows you don't need autoconf or bison and can use the pregenerated files. You can build this software by simply typing the following commands: ./configure make The above version will be based on the pregenerated scanner.cc file. If you want to build that file yourself (recommended when installing re2c) you need the following steps: ./configure make rm -f scanner.cc make install Or you can create a rpm package and install it by the following commands: ./configure make rpm rpm -Uhv /re2c-0.13.5-1.rpm If you want to build from CVS then the first thing you should do is regenerating all build files using the following command: ./autogen.sh and then continue with one of the above described build methods. Or if you need to generate RPM packages for cvs builds use these commands: ./autogen.sh ./configure ./makerpm rpm -Uhv /re2c-0.13.5-.rpm Here should be a number like 1. And must equal the directory where the makerpm step has written the generated rpm to. If you are on a debian system you can use the tool 'alien' to convert rpms to debian packages. When building with native SUN compilers you need to set the following compiler flags: CXXFLAGS='-g -compat5 -library=stlport4'. If you want to build re2c on a windows system you can either use cygwin and one of the methods described above or use Microsoft Visual C .NET 2002 or later with the solution files provided (re2c.sln for 2002/2003 and re2c-2005.sln for version 2005). re2c cannot be built with Microsoft Visual C 6.0 or earlier. Using Visual Studio 2005 you can automate handling of .re files by adding the custom build rules file (re2c.rules) to your project. Just load your Visual C++ project in Visual Studio, select "Custom Build Rules..." from its context menu, and add re2c.rules to the list with the "Find Existing..." button. Activate the check mark, and you are done! Any .re files you add to the project will now automatically be built with re2c. Of course, re2c.exe also has to be available in your environment for this to work. With the rules active Visual Studio will automatically recognize .re files and compile then with re2c. The output file has the same name as the input file but with the .cpp extension. This, and all other re2c compiler settings, are fully configurable from within the Visual Studio IDE. Just right-click on the .re file in Visual Studio, go to the properties dialog, and pick your options. re2c is a great tool for writing fast and flexible lexers. It has served many people well for many years. re2c is on the order of 2-3 times faster than a flex based scanner, and its input model is much more flexible. For an introduction to re2c refer to the lessons sub directory. Peter's original version 0.5 ANNOUNCE and README follows. -- re2c is a tool for generating C-based recognizers from regular expressions. re2c-based scanners are efficient: for programming languages, given similar specifications, an re2c-based scanner is typically almost twice as fast as a flex-based scanner with little or no increase in size (possibly a decrease on cisc architectures). Indeed, re2c-based scanners are quite competitive with hand-crafted ones. Unlike flex, re2c does not generate complete scanners: the user must supply some interface code. While this code is not bulky (about 50-100 lines for a flex-like scanner; see the man page and examples in the distribution) careful coding is required for efficiency (and correctness). One advantage of this arrangement is that the generated code is not tied to any particular input model. For example, re2c generated code can be used to scan data from a null-byte terminated buffer as illustrated below. Given the following source #define NULL ((char*) 0) char *scan(char *p) { #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYFILL(n) /*!re2c [0-9]+ {return YYCURSOR;} [\000-\377] {return NULL;} */ } re2c will generate /* Generated by re2c on Sat Apr 16 11:40:58 1994 */ #line 1 "simple.re" #define NULL ((char*) 0) char *scan(char *p) { #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYFILL(n) { YYCTYPE yych; unsigned int yyaccept; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '/') goto yy4; if(yych >= ':') goto yy4; yy2: yych = *++YYCURSOR; goto yy7; yy3: #line 9 {return YYCURSOR;} yy4: yych = *++YYCURSOR; yy5: #line 10 {return NULL;} yy6: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } #line 11 } Note that most compilers will perform dead-code elimination to remove all YYCURSOR, YYLIMIT comparisions. re2c was developed for a particular project (constructing a fast REXX scanner of all things!) and so while it has some rough edges, it should be quite usable. More information about re2c can be found in the (admittedly skimpy) man page; the algorithms and heuristics used are described in an upcoming LOPLAS article (included in the distribution). Probably the best way to find out more about re2c is to try the supplied examples. re2c is written in C++, and is currently being developed under Linux using gcc 2.5.8. Peter -- re2c is distributed with no warranty whatever. The code is certain to contain errors. Neither the author nor any contributor takes responsibility for any consequences of its use. re2c is in the public domain. The data structures and algorithms used in re2c are all either taken from documents available to the general public or are inventions of the author. Programs generated by re2c may be distributed freely. re2c itself may be distributed freely, in source or binary, unchanged or modified. Distributors may charge whatever fees they can obtain for re2c. If you do make use of re2c, or incorporate it into a larger project an acknowledgement somewhere (documentation, research report, etc.) would be appreciated. Please send bug reports and feedback (including suggestions for improving the distribution) to peter@csg.uwaterloo.ca Include a small example and the banner from parser.y with bug reports. re2c-0.13.5/configure.in0000764000076500007660000000272511016275332011711 00000000000000AC_PREREQ([2.57]) AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net) AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION) AC_CONFIG_SRCDIR(actions.cc) AM_CONFIG_HEADER(config.h) AC_SUBST(PACKAGE_DATE, `date +'%d %b %Y'`) AC_SUBST(PACKAGE_VERSION) AC_SUBST(PACKAGE_NAME) AC_SUBST(PACKAGE_TARNAME) AC_SUBST(PACKAGE_RELEASE, ${PACKAGE_RELEASE:-1}) AC_SUBST(WINBUILDDIR, Release-2005) # Checks for programs. AC_PROG_YACC AC_PROG_CXX AC_PROG_CC AC_PROG_INSTALL if test "$GCC" = "yes"; then AC_MSG_CHECKING([Testing GCC version]) GCCVERSION=`$CXX -dumpversion 2>/dev/null` if test -z "$GCCVERSION"; then AC_MSG_ERROR([GCC version 3 or above required]) fi AC_MSG_RESULT([found version $GCCVERSION]) fi # Checks for libraries. # Checks for header files. AC_HEADER_STDC # We only rely on standard C/C++ headers. If we ever have a pressing need # for something non-standard, we should add a check for it here. # AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STDBOOL AC_C_CONST AC_C_INLINE AC_TYPE_SIZE_T AC_C_VOLATILE # Checks for library functions. AC_FUNC_MEMCMP AC_FUNC_MMAP AC_CHECK_FUNCS([memset munmap strdup strndup]) AC_CHECK_SIZEOF([char]) AC_CHECK_SIZEOF([short]) AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([long]) AC_CONFIG_FILES([\ Makefile \ README \ makerpm \ re2c.1 \ re2c.spec \ run_tests.sh \ config_w32.h \ htdocs/manual.html \ ]) AC_OUTPUT_COMMANDS([chmod +x makerpm run_tests.sh]) AC_OUTPUT re2c-0.13.5/aclocal.m40000664000076500007660000007701211016275332011240 00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR re2c-0.13.5/Makefile.am0000775000076500007660000000733411016275332011437 00000000000000# $Id: Makefile.am 863 2008-05-25 14:38:16Z helly $ bin_PROGRAMS = re2c win_BINARIES = $(WINBUILDDIR)/re2c.exe re2c_SOURCES = code.cc dfa.cc main.cc parser.cc actions.cc scanner.re substr.cc\ translate.cc scanner.cc mbo_getopt.cc \ basics.h dfa.h globals.h ins.h parser.h re.h scanner.h \ substr.h token.h mbo_getopt.h code.h stream_lc.h code_names.h BUILT_SOURCES = parser.cc scanner.cc man_MANS = re2c.1 #CXXFLAGS = -O2 -Wall -Wno-unused -Wno-parentheses -Wno-deprecated #CXXFLAGS = -ggdb -fno-inline -O2 -Wall -Wextra -pedantic -Wconversion -Wpointer-arith -Wwrite-strings -Wredundant-decls -Werror -Wunused-function -DPEDANTIC YFLAGS = -d RE2C = re2c$(EXEEXT) RE2CFLAGS = -bi CLEANFILES = parser.cc y.tab.c y.tab.h scanner.cc re2c.1 .version htdocs/manual.html DISTCLEANFILES = makerpm re2c.spec README scanner.cc re2c$(EXEEXT) EXTRA_SRC = $(man_MANS) README parser.y scanner.re y.tab.h CHANGELOG \ doc examples test bootstrap/*.cc bootstrap/*.h lessons EXTRA_DIST = $(EXTRA_SRC) makerpm.in re2c.spec.in re2c.spec README.in config_w32.h.in htdocs/manual.html.in EXTRA_ZIP = $(EXTRA_SRC) config_w32.h *.sln *.vcproj re2c.rules dist-hook: vtest re2c.spec rm -rf `find $(distdir)/doc -name .svn` rm -rf `find $(distdir)/examples -name .svn` rm -rf `find $(distdir)/test -name .svn -o -name .cvsignore` rm -rf `find $(distdir)/lessons -name .svn -o -name .cvsignore` rpm-files: $(bin_PROGRAMS) $(EXTRA_DIST) rpm: dist cp -f re2c-$(PACKAGE_VERSION).tar.gz `rpm --eval "%{_sourcedir}"` cp -f re2c.spec `rpm --eval "%{_specdir}"` rpmbuild -ba re2c.spec src-rpm: dist cp -f re2c-$(PACKAGE_VERSION).tar.gz `rpm --eval "%{_sourcedir}"` cp -f re2c.spec `rpm --eval "%{_specdir}"` rpmbuild -bs re2c.spec cp -f `rpm --eval "%{_srcrpmdir}"`/re2c-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE).src.rpm . zip: $(bin_PROGRAMS) $(EXTRA_ZIP) if test -f re2c-$(PACKAGE_VERSION)-src.zip; then rm -f re2c-$(PACKAGE_VERSION)-src.zip; fi zip -q -o -9 -r re2c-$(PACKAGE_VERSION)-src.zip $(re2c_SOURCES) $(EXTRA_ZIP) zipinfo -1 re2c-$(PACKAGE_VERSION)-src.zip | grep .svn | xargs zip -d re2c-$(PACKAGE_VERSION)-src.zip >/dev/null zipinfo -1 re2c-$(PACKAGE_VERSION)-src.zip | grep .cvsignore | xargs zip -d re2c-$(PACKAGE_VERSION)-src.zip >/dev/null if test -f re2c-$(PACKAGE_VERSION)-bin.zip; then rm -f re2c-$(PACKAGE_VERSION)-bin.zip; fi if test -f $(WINBUILDDIR)/re2c.exe; then \ zip -q -o -9 -j re2c-$(PACKAGE_VERSION)-bin.zip $(win_BINARIES); \ fi; release: dist zip src-rpm parser.cc: $(top_srcdir)/parser.y $(YACC) $(YFLAGS) $(top_srcdir)/parser.y || exit cat y.tab.c | sed -e 's/"y\.tab\.c"/"parser.cc"/g' -e 's/"\.\/parser\.y"/"parser.y"/g' > $(top_srcdir)/parser.cc rm -f y.tab.c mv -f y.tab.h y.tab.c cat y.tab.c | sed -e 's/"\.\/parser\.y"/"parser.y"/g' > y.tab.h rm -f y.tab.c if cmp -s $(top_srcdir)/parser.cc $(top_srcdir)/bootstrap/parser.cc; then :; else cp -f $(top_srcdir)/parser.cc $(top_srcdir)/bootstrap/parser.cc; fi if cmp -s y.tab.h $(top_srcdir)/y.tab.h; then :; else mv -f y.tab.h $(top_srcdir)/y.tab.h; fi if cmp -s $(top_srcdir)/y.tab.h $(top_srcdir)/bootstrap/y.tab.h; then :; else cp -f $(top_srcdir)/y.tab.h $(top_srcdir)/bootstrap/y.tab.h; fi scanner.cc: $(top_srcdir)/scanner.re @if test -x ./re2c$(EXEEXT); then \ echo "re2c $(RE2CFLAGS) -o $@ $(top_srcdir)/scanner.re"; \ ./re2c $(RE2CFLAGS) -o $@ $(top_srcdir)/scanner.re && cp $@ $(top_srcdir)/bootstrap/; \ else \ echo "cp -f $(top_srcdir)/bootstrap/$@ $@"; \ cp -f $(top_srcdir)/bootstrap/$@ $@; \ fi .version: echo $(PACKAGE_VERSION) > .version TESTS = run_tests.sh test: all $(TESTS) test -x $(TESTS) || chmod +x $(TESTS) ./$(TESTS) vtest: all $(TESTS) test -x $(TESTS) || chmod +x $(TESTS) ./$(TESTS) --valgrind re2c-0.13.5/Makefile.in0000664000076500007660000006575011016275332011453 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # $Id: Makefile.am 862 2008-05-25 14:30:45Z helly $ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : bin_PROGRAMS = re2c$(EXEEXT) subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/README.in \ $(srcdir)/config.h.in $(srcdir)/config_w32.h.in \ $(srcdir)/makerpm.in $(srcdir)/re2c.1.in \ $(srcdir)/re2c.spec.in $(srcdir)/run_tests.sh.in \ $(top_srcdir)/configure $(top_srcdir)/htdocs/manual.html.in \ depcomp install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = README makerpm re2c.1 re2c.spec run_tests.sh \ config_w32.h htdocs/manual.html am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_re2c_OBJECTS = code.$(OBJEXT) dfa.$(OBJEXT) main.$(OBJEXT) \ parser.$(OBJEXT) actions.$(OBJEXT) substr.$(OBJEXT) \ translate.$(OBJEXT) scanner.$(OBJEXT) mbo_getopt.$(OBJEXT) re2c_OBJECTS = $(am_re2c_OBJECTS) re2c_LDADD = $(LDADD) DEFAULT_INCLUDES = -I.@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(re2c_SOURCES) DIST_SOURCES = $(re2c_SOURCES) man1dir = $(mandir)/man1 NROFF = nroff MANS = $(man_MANS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_DATE = @PACKAGE_DATE@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_RELEASE = @PACKAGE_RELEASE@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ WINBUILDDIR = @WINBUILDDIR@ YACC = @YACC@ #CXXFLAGS = -O2 -Wall -Wno-unused -Wno-parentheses -Wno-deprecated #CXXFLAGS = -ggdb -fno-inline -O2 -Wall -Wextra -pedantic -Wconversion -Wpointer-arith -Wwrite-strings -Wredundant-decls -Werror -Wunused-function -DPEDANTIC YFLAGS = -d abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build_alias = @build_alias@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host_alias = @host_alias@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ win_BINARIES = $(WINBUILDDIR)/re2c.exe re2c_SOURCES = code.cc dfa.cc main.cc parser.cc actions.cc scanner.re substr.cc\ translate.cc scanner.cc mbo_getopt.cc \ basics.h dfa.h globals.h ins.h parser.h re.h scanner.h \ substr.h token.h mbo_getopt.h code.h stream_lc.h code_names.h BUILT_SOURCES = parser.cc scanner.cc man_MANS = re2c.1 RE2C = re2c$(EXEEXT) RE2CFLAGS = -bi CLEANFILES = parser.cc y.tab.c y.tab.h scanner.cc re2c.1 .version htdocs/manual.html DISTCLEANFILES = makerpm re2c.spec README scanner.cc re2c$(EXEEXT) EXTRA_SRC = $(man_MANS) README parser.y scanner.re y.tab.h CHANGELOG \ doc examples test bootstrap/*.cc bootstrap/*.h lessons EXTRA_DIST = $(EXTRA_SRC) makerpm.in re2c.spec.in re2c.spec README.in config_w32.h.in htdocs/manual.html.in EXTRA_ZIP = $(EXTRA_SRC) config_w32.h *.sln *.vcproj re2c.rules TESTS = run_tests.sh all: $(BUILT_SOURCES) config.h $(MAKE) $(AM_MAKEFLAGS) all-am .SUFFIXES: .SUFFIXES: .cc .o .obj am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \ cd $(srcdir) && $(AUTOMAKE) --foreign \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 README: $(top_builddir)/config.status $(srcdir)/README.in cd $(top_builddir) && $(SHELL) ./config.status $@ makerpm: $(top_builddir)/config.status $(srcdir)/makerpm.in cd $(top_builddir) && $(SHELL) ./config.status $@ re2c.1: $(top_builddir)/config.status $(srcdir)/re2c.1.in cd $(top_builddir) && $(SHELL) ./config.status $@ re2c.spec: $(top_builddir)/config.status $(srcdir)/re2c.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ run_tests.sh: $(top_builddir)/config.status $(srcdir)/run_tests.sh.in cd $(top_builddir) && $(SHELL) ./config.status $@ config_w32.h: $(top_builddir)/config.status $(srcdir)/config_w32.h.in cd $(top_builddir) && $(SHELL) ./config.status $@ htdocs/manual.html: $(top_builddir)/config.status $(top_srcdir)/htdocs/manual.html.in cd $(top_builddir) && $(SHELL) ./config.status $@ install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) re2c$(EXEEXT): $(re2c_OBJECTS) $(re2c_DEPENDENCIES) @rm -f re2c$(EXEEXT) $(CXXLINK) $(re2c_OBJECTS) $(re2c_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/actions.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/code.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dfa.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbo_getopt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parser.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanner.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/substr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translate.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-man1: $(man1_MANS) $(man_MANS) @$(NORMAL_INSTALL) test -z "$(man1dir)" || $(MKDIR_P) "$(DESTDIR)$(man1dir)" @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ else file=$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst"; \ done uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS) $(dist_man1_MANS) $(nodist_man1_MANS)'; \ l2='$(man_MANS) $(dist_man_MANS) $(nodist_man_MANS)'; \ for i in $$l2; do \ case "$$i" in \ *.1*) list="$$list $$i" ;; \ esac; \ done; \ for i in $$list; do \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ *) ext='1' ;; \ esac; \ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \ inst=`echo $$inst | sed -e 's/^.*\///'`; \ inst=`echo $$inst | sed '$(transform)'`.$$ext; \ echo " rm -f '$(DESTDIR)$(man1dir)/$$inst'"; \ rm -f "$(DESTDIR)$(man1dir)/$$inst"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-am all-am: Makefile $(PROGRAMS) $(MANS) config.h installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-hdr distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-exec-am: install-binPROGRAMS install-html: install-html-am install-info: install-info-am install-man: install-man1 install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \ clean clean-binPROGRAMS clean-generic ctags dist dist-all \ dist-bzip2 dist-gzip dist-hook dist-shar dist-tarZ dist-zip \ distcheck distclean distclean-compile distclean-generic \ distclean-hdr distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-binPROGRAMS install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-man1 install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-binPROGRAMS uninstall-man \ uninstall-man1 dist-hook: vtest re2c.spec rm -rf `find $(distdir)/doc -name .svn` rm -rf `find $(distdir)/examples -name .svn` rm -rf `find $(distdir)/test -name .svn -o -name .cvsignore` rm -rf `find $(distdir)/lessons -name .svn -o -name .cvsignore` rpm-files: $(bin_PROGRAMS) $(EXTRA_DIST) rpm: dist cp -f re2c-$(PACKAGE_VERSION).tar.gz `rpm --eval "%{_sourcedir}"` cp -f re2c.spec `rpm --eval "%{_specdir}"` rpmbuild -ba re2c.spec src-rpm: dist cp -f re2c-$(PACKAGE_VERSION).tar.gz `rpm --eval "%{_sourcedir}"` cp -f re2c.spec `rpm --eval "%{_specdir}"` rpmbuild -bs re2c.spec cp -f `rpm --eval "%{_srcrpmdir}"`/re2c-$(PACKAGE_VERSION)-$(PACKAGE_RELEASE).src.rpm . zip: $(bin_PROGRAMS) $(EXTRA_ZIP) if test -f re2c-$(PACKAGE_VERSION)-src.zip; then rm -f re2c-$(PACKAGE_VERSION)-src.zip; fi zip -q -o -9 -r re2c-$(PACKAGE_VERSION)-src.zip $(re2c_SOURCES) $(EXTRA_ZIP) zipinfo -1 re2c-$(PACKAGE_VERSION)-src.zip | grep .svn | xargs zip -d re2c-$(PACKAGE_VERSION)-src.zip >/dev/null zipinfo -1 re2c-$(PACKAGE_VERSION)-src.zip | grep .cvsignore | xargs zip -d re2c-$(PACKAGE_VERSION)-src.zip >/dev/null if test -f re2c-$(PACKAGE_VERSION)-bin.zip; then rm -f re2c-$(PACKAGE_VERSION)-bin.zip; fi if test -f $(WINBUILDDIR)/re2c.exe; then \ zip -q -o -9 -j re2c-$(PACKAGE_VERSION)-bin.zip $(win_BINARIES); \ fi; release: dist zip src-rpm parser.cc: $(top_srcdir)/parser.y $(YACC) $(YFLAGS) $(top_srcdir)/parser.y || exit cat y.tab.c | sed -e 's/"y\.tab\.c"/"parser.cc"/g' -e 's/"\.\/parser\.y"/"parser.y"/g' > $(top_srcdir)/parser.cc rm -f y.tab.c mv -f y.tab.h y.tab.c cat y.tab.c | sed -e 's/"\.\/parser\.y"/"parser.y"/g' > y.tab.h rm -f y.tab.c if cmp -s $(top_srcdir)/parser.cc $(top_srcdir)/bootstrap/parser.cc; then :; else cp -f $(top_srcdir)/parser.cc $(top_srcdir)/bootstrap/parser.cc; fi if cmp -s y.tab.h $(top_srcdir)/y.tab.h; then :; else mv -f y.tab.h $(top_srcdir)/y.tab.h; fi if cmp -s $(top_srcdir)/y.tab.h $(top_srcdir)/bootstrap/y.tab.h; then :; else cp -f $(top_srcdir)/y.tab.h $(top_srcdir)/bootstrap/y.tab.h; fi scanner.cc: $(top_srcdir)/scanner.re @if test -x ./re2c$(EXEEXT); then \ echo "re2c $(RE2CFLAGS) -o $@ $(top_srcdir)/scanner.re"; \ ./re2c $(RE2CFLAGS) -o $@ $(top_srcdir)/scanner.re && cp $@ $(top_srcdir)/bootstrap/; \ else \ echo "cp -f $(top_srcdir)/bootstrap/$@ $@"; \ cp -f $(top_srcdir)/bootstrap/$@ $@; \ fi .version: echo $(PACKAGE_VERSION) > .version test: all $(TESTS) test -x $(TESTS) || chmod +x $(TESTS) ./$(TESTS) vtest: all $(TESTS) test -x $(TESTS) || chmod +x $(TESTS) ./$(TESTS) --valgrind # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: re2c-0.13.5/README.in0000664000076500007660000001625711016275332010671 00000000000000re2c Version @PACKAGE_VERSION@ ------------------ Originally written by Peter Bumbulis (peter@csg.uwaterloo.ca) Currently maintained by: Dan Nuffer Marcus Boerger Hartmut Kaiser The re2c distribution can be found at: http://sourceforge.net/projects/re2c/ re2c has been developed and tested with the following compilers on various platforms in 32 bit and 64 bit mode: - GCC 3.3 ... 4.1 - Microsoft VC 7, 7.1, 8 - Intel 9.0 - Sun C++ 5.8 (CXXFLAGS='-library=stlport4') - MIPSpro Compilers: Version 7.4.4m GCC 2.x and Microsoft VC 6 are not capable of compiling re2c. Building re2c on unix like platforms requires autoconf 2.57 and bison (tested with 1.875 and later). Under windows you don't need autoconf or bison and can use the pregenerated files. You can build this software by simply typing the following commands: ./configure make The above version will be based on the pregenerated scanner.cc file. If you want to build that file yourself (recommended when installing re2c) you need the following steps: ./configure make rm -f scanner.cc make install Or you can create a rpm package and install it by the following commands: ./configure make rpm rpm -Uhv /re2c-@PACKAGE_VERSION@-@PACKAGE_RELEASE@.rpm If you want to build from CVS then the first thing you should do is regenerating all build files using the following command: ./autogen.sh and then continue with one of the above described build methods. Or if you need to generate RPM packages for cvs builds use these commands: ./autogen.sh ./configure ./makerpm rpm -Uhv /re2c-@PACKAGE_VERSION@-.rpm Here should be a number like 1. And must equal the directory where the makerpm step has written the generated rpm to. If you are on a debian system you can use the tool 'alien' to convert rpms to debian packages. When building with native SUN compilers you need to set the following compiler flags: CXXFLAGS='-g -compat5 -library=stlport4'. If you want to build re2c on a windows system you can either use cygwin and one of the methods described above or use Microsoft Visual C .NET 2002 or later with the solution files provided (re2c.sln for 2002/2003 and re2c-2005.sln for version 2005). re2c cannot be built with Microsoft Visual C 6.0 or earlier. Using Visual Studio 2005 you can automate handling of .re files by adding the custom build rules file (re2c.rules) to your project. Just load your Visual C++ project in Visual Studio, select "Custom Build Rules..." from its context menu, and add re2c.rules to the list with the "Find Existing..." button. Activate the check mark, and you are done! Any .re files you add to the project will now automatically be built with re2c. Of course, re2c.exe also has to be available in your environment for this to work. With the rules active Visual Studio will automatically recognize .re files and compile then with re2c. The output file has the same name as the input file but with the .cpp extension. This, and all other re2c compiler settings, are fully configurable from within the Visual Studio IDE. Just right-click on the .re file in Visual Studio, go to the properties dialog, and pick your options. re2c is a great tool for writing fast and flexible lexers. It has served many people well for many years. re2c is on the order of 2-3 times faster than a flex based scanner, and its input model is much more flexible. For an introduction to re2c refer to the lessons sub directory. Peter's original version 0.5 ANNOUNCE and README follows. -- re2c is a tool for generating C-based recognizers from regular expressions. re2c-based scanners are efficient: for programming languages, given similar specifications, an re2c-based scanner is typically almost twice as fast as a flex-based scanner with little or no increase in size (possibly a decrease on cisc architectures). Indeed, re2c-based scanners are quite competitive with hand-crafted ones. Unlike flex, re2c does not generate complete scanners: the user must supply some interface code. While this code is not bulky (about 50-100 lines for a flex-like scanner; see the man page and examples in the distribution) careful coding is required for efficiency (and correctness). One advantage of this arrangement is that the generated code is not tied to any particular input model. For example, re2c generated code can be used to scan data from a null-byte terminated buffer as illustrated below. Given the following source #define NULL ((char*) 0) char *scan(char *p) { #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYFILL(n) /*!re2c [0-9]+ {return YYCURSOR;} [\000-\377] {return NULL;} */ } re2c will generate /* Generated by re2c on Sat Apr 16 11:40:58 1994 */ #line 1 "simple.re" #define NULL ((char*) 0) char *scan(char *p) { #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYFILL(n) { YYCTYPE yych; unsigned int yyaccept; if((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if(yych <= '/') goto yy4; if(yych >= ':') goto yy4; yy2: yych = *++YYCURSOR; goto yy7; yy3: #line 9 {return YYCURSOR;} yy4: yych = *++YYCURSOR; yy5: #line 10 {return NULL;} yy6: ++YYCURSOR; if(YYLIMIT == YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } #line 11 } Note that most compilers will perform dead-code elimination to remove all YYCURSOR, YYLIMIT comparisions. re2c was developed for a particular project (constructing a fast REXX scanner of all things!) and so while it has some rough edges, it should be quite usable. More information about re2c can be found in the (admittedly skimpy) man page; the algorithms and heuristics used are described in an upcoming LOPLAS article (included in the distribution). Probably the best way to find out more about re2c is to try the supplied examples. re2c is written in C++, and is currently being developed under Linux using gcc 2.5.8. Peter -- re2c is distributed with no warranty whatever. The code is certain to contain errors. Neither the author nor any contributor takes responsibility for any consequences of its use. re2c is in the public domain. The data structures and algorithms used in re2c are all either taken from documents available to the general public or are inventions of the author. Programs generated by re2c may be distributed freely. re2c itself may be distributed freely, in source or binary, unchanged or modified. Distributors may charge whatever fees they can obtain for re2c. If you do make use of re2c, or incorporate it into a larger project an acknowledgement somewhere (documentation, research report, etc.) would be appreciated. Please send bug reports and feedback (including suggestions for improving the distribution) to peter@csg.uwaterloo.ca Include a small example and the banner from parser.y with bug reports. re2c-0.13.5/config.h.in0000664000076500007660000000530411016275332011416 00000000000000/* config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if you have the `getpagesize' function. */ #undef HAVE_GETPAGESIZE /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `memset' function. */ #undef HAVE_MEMSET /* Define to 1 if you have a working `mmap' system call. */ #undef HAVE_MMAP /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define to 1 if stdbool.h conforms to C99. */ #undef HAVE_STDBOOL_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the `strndup' function. */ #undef HAVE_STRNDUP /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if the system has the type `_Bool'. */ #undef HAVE__BOOL /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* The size of `char', as computed by sizeof. */ #undef SIZEOF_CHAR /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile re2c-0.13.5/config_w32.h.in0000775000076500007660000000560311016275332012116 00000000000000/* config.h. Generated by configure. */ /* config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if you have the `getpagesize' function. */ #define HAVE_GETPAGESIZE 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if you have the `memset' function. */ #define HAVE_MEMSET 1 /* Define to 1 if you have a working `mmap' system call. */ /* #undef HAVE_MMAP */ /* Define to 1 if you have the `munmap' function. */ #define HAVE_MUNMAP 1 /* Define to 1 if stdbool.h conforms to C99. */ #define HAVE_STDBOOL_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strdup' function. */ #define HAVE_STRDUP 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Define to 1 if the system has the type `_Bool'. */ #define HAVE__BOOL 1 /* Name of package */ #define PACKAGE "re2c" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "re2c-general@lists.sourceforge.net" /* Define to the full name of this package. */ #define PACKAGE_NAME "re2c" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "re2c @PACKAGE_VERSION@" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "re2c" /* Define to the version of this package. */ #define PACKAGE_VERSION "@PACKAGE_VERSION@" /* The size of a `char', as computed by sizeof. */ #define SIZEOF_CHAR 1 /* The size of a `int', as computed by sizeof. */ #define SIZEOF_INT 4 /* The size of a `long', as computed by sizeof. */ #define SIZEOF_LONG 4 /* The size of a `short', as computed by sizeof. */ #define SIZEOF_SHORT 2 /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ #define VERSION "@PACKAGE_VERSION@" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus /* #undef inline */ #endif /* Define to `unsigned' if does not define. */ /* #undef size_t */ /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ /* #undef volatile */ re2c-0.13.5/makerpm.in0000664000076500007660000000162311016275332011357 00000000000000#! /bin/sh # $Id: makerpm.in 545 2006-05-25 13:39:46Z helly $ # M.Boerger PREFIX="@PACKAGE_NAME@" VERSION="@PACKAGE_VERSION@" TARDIR="`basename \`pwd\``" RELEASE=${1:-1} echo "Usage:" echo "$0 " echo echo "e.g.:" echo "$0" echo -n "Building RPM version $VERSION, release: $RELEASE " sleep 1 ; echo -n . ; sleep 1 ; echo -n . ; sleep 1 ; echo -n . echo TAR=@PACKAGE_TARNAME@-$VERSION.tar.gz SPEC=re2c-${VERSION}.spec RPMBASE=/usr/src/redhat for i in /usr/src/redhat /usr/src/packages /usr/src/RPM; do if test -d $i; then RPMBASE=$i break fi done RPMDIR=${RPMBASE}/RPMS SPECDIR=${RPMBASE}/SPECS SRCDIR=${RPMBASE}/SOURCES make dist cp $TAR $SRCDIR cat re2c.spec | sed -e "s/RPM_RELEASE/${RELEASE}/g" > ${SPEC} echo "CP: (`pwd`) cp -a $SPEC $SPECDIR/${SPEC}" cp -a $SPEC $SPECDIR/${SPEC} #cp -a *.patch $SRCDIR cd $SPECDIR echo "RPM: rpm -ba ${SPEC}" rpmbuild -ba ${SPEC} re2c-0.13.5/re2c.1.in0000664000076500007660000010177311016275332010724 00000000000000./" ./" $Id: re2c.1.in 862 2008-05-25 14:30:45Z helly $ ./" .TH RE2C 1 "@PACKAGE_DATE@" "Version @PACKAGE_VERSION@" .ds re \fBre2c\fP .ds le \fBlex\fP .ds rx regular-expression .ds rxs regular-expressions .ds lx \fIl\fP-expression .SH NAME \*(re \- convert \*(rxs to C/C++ .SH SYNOPSIS \*(re [\fB-bdDefFghisuvVw1\fP] [\fB-o output\fP] [\fB-c\fP [\fB-t header\fP]] \fBfile\fP .SH DESCRIPTION \*(re is a preprocessor that generates C-based recognizers from regular expressions. The input to \*(re consists of C/C++ source interleaved with comments of the form \fC/*!re2c\fP ... \fC*/\fP which contain scanner specifications. In the output these comments are replaced with code that, when executed, will find the next input token and then execute some user-supplied token-specific code. For example, given the following code .in +3 .nf char *scan(char *p) { /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:indent:top = 1; [0-9]+ {return p;} [^] {return (char*)0;} */ } .fi .in -3 \*(re -is will generate .in +3 .nf /* Generated by re2c on Sat Apr 16 11:40:58 1994 */ char *scan(char *p) { { unsigned char yych; yych = (unsigned char)*p; if(yych <= '/') goto yy4; if(yych >= ':') goto yy4; ++p; yych = (unsigned char)*p; goto yy7; yy3: {return p;} yy4: ++p; yych = (unsigned char)*p; {return char*)0;} yy6: ++p; yych = (unsigned char)*p; yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } } .fi .in -3 You can place one \fC/*!max:re2c */\fP comment that will output a "#define \fCYYMAXFILL\fP " line that holds the maximum number of characters required to parse the input. That is the maximum value \fCYYFILL\fP(n) will receive. If -1 is in effect then YYMAXFILL can only be triggered once after the last \fC/*!re2c */\fP. You can also use \fC/*!ignore:re2c */\fP blocks that allows to document the scanner code and will not be part of the output. .SH OPTIONS \*(re provides the following options: .TP \fB-?\fP \fB-h\fP Invoke a short help. .TP \fB-b\fP Implies \fB-s\fP. Use bit vectors as well in the attempt to coax better code out of the compiler. Most useful for specifications with more than a few keywords (e.g. for most programming languages). .TP \fB-c\fP Used to support (f)lex-like condition support. .TP \fB-d\fP Creates a parser that dumps information about the current position and in which state the parser is while parsing the input. This is useful to debug parser issues and states. If you use this switch you need to define a macro \fIYYDEBUG\fP that is called like a function with two parameters: \fIvoid YYDEBUG(int state, char current)\fP. The first parameter receives the state or -1 and the second parameter receives the input at the current cursor. .TP \fB-D\fP Emit Graphviz dot data. It can then be processed with e.g. "dot -Tpng input.dot > output.png". Please note that scanners with many states may crash dot. .TP \fB-e\fP Cross-compile from an ASCII platform to an EBCDIC one. .TP \fB-f\fP Generate a scanner with support for storable state. For details see below at \fBSCANNER WITH STORABLE STATES\fP. .TP \fB-F\fP Partial support for flex syntax. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon. Instead names are treated as direct double quoted strings. .TP \fB-g\fP Generate a scanner that utilizes GCC's computed goto feature. That is \*(re generates jump tables whenever a decision is of a certain complexity (e.g. a lot of if conditions are otherwise necessary). This is only useable with GCC and produces output that cannot be compiled with any other compiler. Note that this implies -b and that the complexity threshold can be configured using the inplace configuration "cgoto:threshold". .TP \fB-i\fP Do not output #line information. This is usefull when you want use a CMS tool with the \*(re output which you might want if you do not require your users to have \*(re themselves when building from your source. \fB-o output\fP Specify the output file. .TP \fB-r\fP Allows reuse of scanner definitions with '\fB/*!use:re2c\fP' after '\fB/*!rules:re2c\fP'. In this mode no '\fB/*!re2c\fP' block and exactly one '\fB/*!rules:re2c\fP' must be present. The rules are being saved and used by every '\fB/*!use:re2c\fP' block that follows. These blocks can contain inplace configurations, especially '\fBre2c:flags:w\fP' and '\fBre2c:flags:u\fP'. That way it is possible to create the same scanner multiple times for different character types, different input mechanisms or different output mechanisms. The '\fB/*!use:re2c\fP' blocks can also contain additional rules that will be appended to the set of rules in '\fB/*!rules:re2c\fP'. .TP \fB-s\fP Generate nested \fCif\fPs for some \fCswitch\fPes. Many compilers need this assist to generate better code. .TP \fB-t\fP Create a header file that contains types for the (f)lex-like condition support. This can only be activated when \fB-c\fP is in use. .TP \fB-u\fP Generate a parser that supports Unicode chars (UTF-32). This means the generated code can deal with any valid Unicode character up to 0x10FFFF. When UTF-8 or UTF-16 needs to be supported you need to convert the incoming stream to UTF-32 upon input yourself. .TP \fB-v\fP Show version information. .TP \fB-V\fP Show the version as a number XXYYZZ. .TP \fB-w\fP Create a parser that supports wide chars (UCS-2). This implies \fB-s\fP and cannot be used together with \fB-e\fP switch. .TP \fB-1\fP Force single pass generation, this cannot be combined with -f and disables YYMAXFILL generation prior to last \*(re block. .TP \fB--no-generation-date\fP Suppress date output in the generated output so that it only shows the re2c version. .TP \fb--case-insensitive\fP All strings are case insensitive, so all "-expressions are treated in the same way '-expressions are. .TP \fB--case-inverted\fP Invert the meaning of single and double quoted strings. With this switch single quotes are case sensitive and double quotes are case insensitive. .SH "INTERFACE CODE" Unlike other scanner generators, \*(re does not generate complete scanners: the user must supply some interface code. In particular, the user must define the following macros or use the corresponding inplace configurations: .TP \fCYYCONDTYPE\fP In \fB-c\fP mode you can use \fB-t\fP to generate a file that contains the enumeration used as conditions. Each of the values refers to a condition of a rule set. .TP \fCYYCTXMARKER\fP \*(lx of type \fC*YYCTYPE\fP. The generated code saves trailing context backtracking information in \fCYYCTXMARKER\fP. The user only needs to define this macro if a scanner specification uses trailing context in one or more of its \*(rxs. .TP \fCYYCTYPE\fP Type used to hold an input symbol. Usually \fCchar\fP or \fCunsigned char\fP. .TP \fCYYCURSOR\fP \*(lx of type \fC*YYCTYPE\fP that points to the current input symbol. The generated code advances \fCYYCURSOR\fP as symbols are matched. On entry, \fCYYCURSOR\fP is assumed to point to the first character of the current token. On exit, \fCYYCURSOR\fP will point to the first character of the following token. .TP \fCYYDEBUG(\fP\fIstate\fP,\fIcurrent\fC)\fP This is only needed if the \fB-d\fP flag was specified. It allows to easily debug the generated parser by calling a user defined function for every state. The function should have the following signature: \fIvoid YYDEBUG(int state, char current)\fP. The first parameter receives the state or -1 and the second parameter receives the input at the current cursor. .TP \fCYYFILL\fP(\fIn\fP\fC\fP) The generated code "calls" \fCYYFILL\fP(n) when the buffer needs (re)filling: at least \fIn\fP additional characters should be provided. \fCYYFILL\fP(n) should adjust \fCYYCURSOR\fP, \fCYYLIMIT\fP, \fCYYMARKER\fP and \fCYYCTXMARKER\fP as needed. Note that for typical programming languages \fIn\fP will be the length of the longest keyword plus one. The user can place a comment of the form \fC/*!max:re2c */\fP once to insert a \fCYYMAXFILL\fP(n) definition that is set to the maximum length value. If -1 switch is used then \fCYYMAXFILL\fP can be triggered only once after the last \fC/*!re2c */\fP block. .TP \fCYYGETCONDITION\fP() This define is used to get the condition prior to entering the scanner code when using \fB-c\fP switch. The value must be initialized with a value from the enumeration \fCYYCONDTYPE\fP type. .TP \fCYYGETSTATE\fP() The user only needs to define this macro if the \fB-f\fP flag was specified. In that case, the generated code "calls" \fCYYGETSTATE\fP() at the very beginning of the scanner in order to obtain the saved state. \fCYYGETSTATE\fP() must return a signed integer. The value must be either -1, indicating that the scanner is entered for the first time, or a value previously saved by \fCYYSETSTATE\fP(s). In the second case, the scanner will resume operations right after where the last \fCYYFILL\fP(n) was called. .TP \fCYYLIMIT\fP Expression of type \fC*YYCTYPE\fP that marks the end of the buffer (\fCYYLIMIT[-1]\fP is the last character in the buffer). The generated code repeatedly compares \fCYYCURSOR\fP to \fCYYLIMIT\fP to determine when the buffer needs (re)filling. .TP \fCYYMARKER\fP \*(lx of type \fC*YYCTYPE\fP. The generated code saves backtracking information in \fCYYMARKER\fP. Some easy scanners might not use this. .TP \fCYYMAXFILL This will be automatically defined by \fC/*!max:re2c */\fP blocks as explained above. .TP \fCYYSETCONDITION(\fP\fIc\fP\fC)\fP This define is used to set the condition in transition rules. This is only being used when \fB-c\fP is active and transition rules are being used. .TP \fCYYSETSTATE(\fP\fIs\fP\fC)\fP The user only needs to define this macro if the \fB-f\fP flag was specified. In that case, the generated code "calls" \fCYYSETSTATE\fP just before calling \fCYYFILL\fP(n). The parameter to \fCYYSETSTATE\fP is a signed integer that uniquely identifies the specific instance of \fCYYFILL\fP(n) that is about to be called. Should the user wish to save the state of the scanner and have \fCYYFILL\fP(n) return to the caller, all he has to do is store that unique identifer in a variable. Later, when the scannered is called again, it will call \fCYYGETSTATE()\fP and resume execution right where it left off. The generated code will contain both \fCYYSETSTATE\fP(s) and \fCYYGETSTATE\fP even if \fCYYFILL\fP(n) is being disabled. .SH "SCANNER WITH STORABLE STATES" When the \fB-f\fP flag is specified, \*(re generates a scanner that can store its current state, return to the caller, and later resume operations exactly where it left off. The default operation of \*(re is a "pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner" the parsing loop, and that may not always be convenient. Typically, if there is a preprocessor ahead of the scanner in the stream, or for that matter any other procedural source of data, the scanner cannot "ask" for more data unless both scanner and source live in a separate threads. The \fB-f\fP flag is useful for just this situation : it lets users design scanners that work in a "push" model, i.e. where data is fed to the scanner chunk by chunk. When the scanner runs out of data to consume, it just stores its state, and return to the caller. When more input data is fed to the scanner, it resumes operations exactly where it left off. When using the -f option \*(re does not accept stdin because it has to do the full generation process twice which means it has to read the input twice. That means \*(re would fail in case it cannot open the input twice or reading the input for the first time influences the second read attempt. Changes needed compared to the "pull" model. 1. User has to supply macros YYSETSTATE() and YYGETSTATE(state) 2. The \fB-f\fP option inhibits declaration of \fIyych\fP and \fIyyaccept\fP. So the user has to declare these. Also the user has to save and restore these. In the example \fIexamples/push.re\fP these are declared as fields of the (C++) class of which the scanner is a method, so they do not need to be saved/restored explicitly. For C they could e.g. be made macros that select fields from a structure passed in as parameter. Alternatively, they could be declared as local variables, saved with YYFILL(n) when it decides to return and restored at entry to the function. Also, it could be more efficient to save the state from YYFILL(n) because YYSETSTATE(state) is called unconditionally. YYFILL(n) however does not get \fIstate\fP as parameter, so we would have to store state in a local variable by YYSETSTATE(state). 3. Modify YYFILL(n) to return (from the function calling it) if more input is needed. 4. Modify caller to recognise "more input is needed" and respond appropriately. 5. The generated code will contain a switch block that is used to restores the last state by jumping behind the corrspoding YYFILL(n) call. This code is automatically generated in the epilog of the first "\fC/*!re2c */\fP" block. It is possible to trigger generation of the YYGETSTATE() block earlier by placing a "\fC/*!getstate:re2c */\fP" comment. This is especially useful when the scanner code should be wrapped inside a loop. Please see examples/push.re for push-model scanner. The generated code can be tweaked using inplace configurations "\fBstate:abort\fP" and "\fBstate:nextlabel\fP". .SH "SCANNER WITH CONDITION SUPPORT" You can preceed \*(rxs with a list of condition names when using the \fB-c\fP switch. In this case \*(re generates scanner blocks for each conditon. Where each of the generated blocks has its own precondition. The precondition is given by the interface define \fBYYGETCONDITON\fP and must be of type \fBYYCONDTYPE\fP. .LP There are two special rule types. First, the rules of the condition '*' are merged to all conditions. And second the empty condition list allows to provide a code block that does not have a scanner part. Meaning it does not allow any regular expression. The condition value referring to this special block is always the one with the enumeration value 0. This way the code of this special rule can be used to initialize a scanner. It is in no way necessary to have these rules: but sometimes it is helpful to have a dedicated uninitialized condition state. .LP Non empty rules allow to specify the new condition, which makes them transition rules. Besides generating calls for the define \fBYYSETCONDTITION\fP no other special code is generated. .LP There is another kind of special rules that allow to prepend code to any code block of all rules of a certain set of conditions or to all code blocks to all rules. This can be helpful when some operation is common among rules. For instance this can be used to store the length of the scanned string. These special setup rules start with an exclamation mark followed by either a list of conditions \fB\fP or a star \fB\fP. When \*(re generates the code for a rule whose state does not have a setup rule and a star'd setup rule is present, than that code will be used as setup code. .SH "SCANNER SPECIFICATIONS" Each scanner specification consists of a set of \fIrules\fP, \fInamed definitions\fP and \fIconfigurations\fP. .LP \fIRules\fP consist of a \*(rx along with a block of C/C++ code that is to be executed when the associated \fI\*(rx\fP is matched. You can either start the code with an opening curly brace or the sequence '\fB:=\fP'. When the code with a curly brace then \*(re counts the brace depth and stops looking for code automatically. Otherwise curly braces are not allowed and \*(re stops looking for code at the first line that does not begin with whitespace. .P .RS \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .RE .P If \fB-c\fP is active then each \*(rx is preceeded by a list of comma separated condition names. Besides normal naming rules there are two special cases. A rule may contain the single condition name '*' and no contition name at all. In the latter case the rule cannot have a \*(rx. Non empty rules may further more specify the new condition. In that case \*(re will generated the necessary code to chnage the condition automatically. Just as above code can be started with a curly brace of the sequence '\fB:=\fP'. Further more rules can use ':=>' as a shortcut to automatically generate code that not only sets the new condition state but also continues execution with the new state. A shortcut rule should not be used in a loop where there is code between the start of the loop and the \*(re block unless \fIre2c:cond:goto\fP is changed to '\fIcontinue;\fP'. If code is necessary before all rule (though not simple jumps) you can doso by using \fP \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC:=>\fP \fP\fIcondition\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC:=>\fP \fP\fIcondition\fP .P \fC<>\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<>\fP \fC:=\fP \fIC/C++ code\fP .P \fC<>\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<>\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<>\fP \fC:=>\fP \fP\fIcondition\fP .P \fC\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC\fP \fC:=\fP \fIC/C++ code\fP .P \fC\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC\fP \fC:=\fP \fIC/C++ code\fP .RE .LP Named definitions are of the form: .P .RS \fIname\fP \fC=\fP \fI\*(rx\fP\fC;\fP .RE .LP \fB-F\fP is active, then named definitions are also of the form: .P .RS \fIname\fP \fI\*(rx\fP .RE .LP Configurations look like named definitions whose names start with "\fBre2c:\fP": .P .RS \fCre2c:\fP\fIname\fP \fC=\fP \fIvalue\fP\fC;\fP .RE .RS \fCre2c:\fP\fIname\fP \fC=\fP \fB"\fP\fIvalue\fP\fB"\fP\fC;\fP .RE .SH "SUMMARY OF RE2C REGULAR-EXPRESSIONS" .TP \fC"foo"\fP the literal string \fCfoo\fP. ANSI-C escape sequences can be used. .TP \fC'foo'\fP the literal string \fCfoo\fP (characters [a-zA-Z] treated case-insensitive). ANSI-C escape sequences can be used. .TP \fC[xyz]\fP a "character class"; in this case, the \*(rx matches either an '\fCx\fP', a '\fCy\fP', or a '\fCz\fP'. .TP \fC[abj-oZ]\fP a "character class" with a range in it; matches an '\fCa\fP', a '\fCb\fP', any letter from '\fCj\fP' through '\fCo\fP', or a '\fCZ\fP'. .TP \fC[^\fIclass\fP\fC]\fP an inverted "character class". .TP \fIr\fP\fC\e\fP\fIs\fP match any \fIr\fP which isn't an \fIs\fP. \fIr\fP and \fIs\fP must be \*(rxs which can be expressed as character classes. .TP \fIr\fP\fC*\fP zero or more \fIr\fP's, where \fIr\fP is any \*(rx .TP \fC\fIr\fP\fC+\fP one or more \fIr\fP's .TP \fC\fIr\fP\fC?\fP zero or one \fIr\fP's (that is, "an optional \fIr\fP") .TP name the expansion of the "named definition" (see above) .TP \fC(\fP\fIr\fP\fC)\fP an \fIr\fP; parentheses are used to override precedence (see below) .TP \fIrs\fP an \fIr\fP followed by an \fIs\fP ("concatenation") .TP \fIr\fP\fC|\fP\fIs\fP either an \fIr\fP or an \fIs\fP .TP \fIr\fP\fC/\fP\fIs\fP an \fIr\fP but only if it is followed by an \fIs\fP. The \fIs\fP is not part of the matched text. This type of \*(rx is called "trailing context". A trailing context can only be the end of a rule and not part of a named definition. .TP \fIr\fP\fC{\fP\fIn\fP\fC}\fP matches \fIr\fP exactly \fIn\fP times. .TP \fIr\fP\fC{\fP\fIn\fP\fC,}\fP matches \fIr\fP at least \fIn\fP times. .TP \fIr\fP\fC{\fP\fIn\fP\fC,\fP\fIm\fP\fC}\fP matches \fIr\fP at least \fIn\fP but not more than \fIm\fP times. .TP \fC.\fP match any character except newline (\\n). .TP \fIdef\fP matches named definition as specified by \fIdef\fP only if \fB-F\fP is off. If the switch \fB-F\fP is active then this behaves like it was enclosed in double quotes and matches the string \fIdef\fP. .LP Character classes and string literals may contain octoal or hexadecimal character definitions and the following set of escape sequences (\fB\\n\fP, \fB\\t\fP, \fB\\v\fP, \fB\\b\fP, \fB\\r\fP, \fB\\f\fP, \fB\\a\fP, \fB\\\\\fP). An octal character is defined by a backslash followed by its three octal digits and a hexadecimal character is defined by backslash, a lower cased '\fBx\fP' and its two hexadecimal digits or a backslash, an upper cased \fBX\fP and its four hexadecimal digits. .LP \*(re further more supports the c/c++ unicode notation. That is a backslash followed by either a lowercased \fBu\fP and its four hexadecimal digits or an uppercased \fBU\fP and its eight hexadecimal digits. However only in \fB-u\fP mode the generated code can deal with any valid Unicode character up to 0x10FFFF. .LP Since characters greater \fB\\X00FF\fP are not allowed in non unicode mode, the only portable "\fBany\fP" rules are \fB(.|"\\n")\fP and \fB[^]\fP. .LP The \*(rxs listed above are grouped according to precedence, from highest precedence at the top to lowest at the bottom. Those grouped together have equal precedence. .SH "INPLACE CONFIGURATION" .LP It is possible to configure code generation inside \*(re blocks. The following lists the available configurations: .TP \fIre2c:condprefix\fP \fB=\fP yyc_ \fB;\fP Allows to specify the prefix used for condition labels. That is this text is prepended to any condition label in the generated output file. .TP \fIre2c:condenumprefix\fP \fB=\fP yyc \fB;\fP Allows to specify the prefix used for condition values. That is this text is prepended to any condition enum value in the generated output file. .TP \fIre2c:cond:divider\fP \fB=\fP "/* *********************************** */" \fB;\fP Allows to customize the devider for condition blocks. You can use '@@' to put the name of the condition or ustomize the plaeholder using \fIre2c:cond:divider@cond\fP. .TP \fIre2c:cond:divider@cond\fP \fB=\fP @@ \fB;\fP Specifies the placeholder that will be replaced with the condition name in \fIre2c:cond:divider\fP. .TP \fIre2c:cond:goto\fP \fB=\fP "goto @@;" \fB;\fP Allows to customize the condition goto statements used with ':=>' style rules. You can use '@@' to put the name of the condition or ustomize the plaeholder using \fIre2c:cond:goto@cond\fP. You can also change this to 'continue;', which would allow you to continue with the next loop cycle including any code between loop start and re2c block. .TP \fIre2c:cond:goto@cond\fP \fB=\fP @@ \fB;\fP Spcifies the placeholder that will be replaced with the condition label in \fIre2c:cond:goto\fP. .TP \fIre2c:indent:top\fP \fB=\fP 0 \fB;\fP Specifies the minimum number of indendation to use. Requires a numeric value greater than or equal zero. .TP \fIre2c:indent:string\fP \fB=\fP "\\t" \fB;\fP Specifies the string to use for indendation. Requires a string that should contain only whitespace unless you need this for external tools. The easiest way to specify spaces is to enclude them in single or double quotes. If you do not want any indendation at all you can simply set this to \fB""\fP. .TP \fIre2c:yych:conversion\fP \fB=\fP 0 \fB;\fP When this setting is non zero, then \*(re automatically generates conversion code whenever yych gets read. In this case the type must be defined using \fBre2c:define:YYCTYPE\fP. .TP \fIre2c:yych:emit\fP \fB=\fP 1 \fB;\fP Generation of \fByych\fP can be suppressed by setting this to 0. .TP \fIre2c:yybm:hex\fP \fB=\fP 0 \fB;\fP If set to zero then a decimal table is being used else a hexadecimal table will be generated. .TP \fIre2c:yyfill:enable\fP \fB=\fP 1 \fB;\fP Set this to zero to suppress generation of YYFILL(n). When using this be sure to verify that the generated scanner does not read behind input. Allowing this behavior might introduce sever security issues to you programs. .TP \fIre2c:yyfill:check\fP \fB=\fP 1 \fB;\fP This can be set 0 to suppress output of the pre condition using YYCURSOR and YYLIMIT which becomes usefull when YYLIMIT + max(YYFILL) is always accessible. .TP \fIre2c:yyfill:parameter\fP \fB=\fP 1 \fB;\fP Allows to suppress parameter passing to \fBYYFILL\fP calls. If set to zero then no parameter is passed to \fBYYFILL\fP. However \fBdefine:YYFILL@LEN\fP allows to specify a replacement string for the actual length value. If set to a non zero value then \fBYYFILL\fP usage will be followed by the number of requested characters in braces unless \fBre2c:define:YYFILL:naked\fP is set. Also look at \fBre2c:define:YYFILL:naked\fP and \fBre2c:define:YYFILL@LEN\fP. .TP \fIre2c:startlabel\fP \fB=\fP 0 \fB;\fP If set to a non zero integer then the start label of the next scanner blocks will be generated even if not used by the scanner itself. Otherwise the normal \fByy0\fP like start label is only being generated if needed. If set to a text value then a label with that text will be generated regardless of whether the normal start label is being used or not. This setting is being reset to \fB0\fP after a start label has been generated. .TP \fIre2c:labelprefix\fP \fB=\fP yy \fB;\fP Allows to change the prefix of numbered labels. The default is \fByy\fP and can be set any string that is a valid label. .TP \fIre2c:state:abort\fP \fB=\fP 0 \fB;\fP When not zero and switch -f is active then the \fCYYGETSTATE\fP block will contain a default case that aborts and a -1 case is used for initialization. .TP \fIre2c:state:nextlabel\fP \fB=\fP 0 \fB;\fP Used when -f is active to control whether the \fCYYGETSTATE\fP block is followed by a \fCyyNext:\fP label line. Instead of using \fCyyNext\fP you can usually also use configuration \fIstartlabel\fP to force a specific start label or default to \fCyy0\fP as start label. Instead of using a dedicated label it is often better to separate the YYGETSTATE code from the actual scanner code by placing a "\fC/*!getstate:re2c */\fP" comment. .TP \fIre2c:cgoto:threshold\fP \fB=\fP 9 \fB;\fP When -g is active this value specifies the complexity threshold that triggers generation of jump tables rather than using nested if's and decision bitfields. The threshold is compared against a calculated estimation of if-s needed where every used bitmap divides the threshold by 2. .TP \fIre2c:yych:conversion\fP \fB=\fP 0 \fB;\fP When the input uses signed characters and \fB-s\fP or \fB-b\fP switches are in effect re2c allows to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from \fBYYCTYPE\fP. If that is given by an inplace configuration that value is being used. Otherwise it will be \fB(YYCTYPE)\fP and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a \fBchar*\fP buffer and you are using above mentioned switches you can set \fBYYCTYPE\fP to \fBunsigned char\fP and this setting to either \fB1\fP or \fB"(unsigned char)"\fP. .TP \fIre2c:define:define:YYCONDTYPE\fP \fB=\fP YYCONDTYPE \fB;\fP Enumeration used for condition support with \fB-c\fP mode. .TP \fIre2c:define:YYCTXMARKER\fP \fB=\fP YYCTXMARKER \fB;\fP Allows to overwrite the define YYCTXMARKER and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYCTYPE\fP \fB=\fP YYCTYPE \fB;\fP Allows to overwrite the define YYCTYPE and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYCURSOR\fP \fB=\fP YYCURSOR \fB;\fP Allows to overwrite the define YYCURSOR and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYDEBUG\fP \fB=\fP YYDEBUG \fB;\fP Allows to overwrite the define \fBYYDEBUG\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYFILL\fP \fB=\fP YYFILL \fB;\fP Allows to overwrite the define \fBYYFILL\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYFILL:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYFILL@len\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYFILL\fP and \fIre2c:yyfill:parameter\fP is 0 then any occurence of this text inside \fBYYFILL\fP will be replaced with the actual length value. .TP \fIre2c:define:YYGETCONDITION\fP \fB=\fP YYGETCONDITION \fB;\fP Allows to overwrite the define \fBYYGETCONDITION\fP. .TP \fIre2c:define:YYGETCONDITION:naked\fP \fB=\fP \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYGETSTATE\fP \fB=\fP YYGETSTATE \fB;\fP Allows to overwrite the define \fBYYGETSTATE\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYGETSTATE:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYLIMIT\fP \fB=\fP YYLIMIT \fB;\fP Allows to overwrite the define \fBYYLIMIT\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYMARKER\fP \fB=\fP YYMARKER \fB;\fP Allows to overwrite the define \fBYYMARKER\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYSETCONDITION\fP \fB=\fP YYSETCONDITION \fB;\fP Allows to overwrite the define \fBYYSETCONDITION\fP. .TP \fIre2c:define:YYSETCONDITION@cond\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYSETCONDITION\fP then any occurence of this text inside \fBYYSETCONDITION\fP will be replaced with the actual new condition value. .TP \fIre2c:define:YYSETSTATE\fP \fB=\fP YYSETSTATE \fB;\fP Allows to overwrite the define \fBYYSETSTATE\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYSETSTATE:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYSETSTATE@state\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYSETSTATE\fP then any occurence of this text inside \fBYYSETSTATE\fP will be replaced with the actual new state value. .TP \fIre2c:label:yyFillLabel\fP \fB=\fP yyFillLabel \fB;\fP Allows to overwrite the name of the label yyFillLabel. .TP \fIre2c:label:yyNext\fP \fB=\fP yyNext \fB;\fP Allows to overwrite the name of the label yyNext. .TP \fIre2c:variable:yyaccept\fP \fB=\fP yyaccept \fB;\fP Allows to overwrite the name of the variable yyaccept. .TP \fIre2c:variable:yybm\fP \fB=\fP yybm \fB;\fP Allows to overwrite the name of the variable yybm. .TP \fIre2c:variable:yych\fP \fB=\fP yych \fB;\fP Allows to overwrite the name of the variable yych. .TP \fIre2c:variable:yyctable\fP \fB=\fP yyctable \fB;\fP When both \fB-c\fP and \fB-g\fP are active then \*(re uses this variable to generate a static jump table for YYGETCONDITION. .TP \fIre2c:variable:yystable\fP \fB=\fP yystable \fB;\fP When both \fB-f\fP and \fB-g\fP are active then \*(re uses this variable to generate a static jump table for YYGETSTATE. .TP \fIre2c:variable:yytarget\fP \fB=\fP yytarget \fB;\fP Allows to overwrite the name of the variable yytarget. .SH "UNDERSTANDING RE2C" .LP The subdirectory lessons of the \*(re distribution contains a few step by step lessons to get you started with \*(re. All examples in the lessons subdirectory can be compiled and actually work. .SH FEATURES .LP \*(re does not provide a default action: the generated code assumes that the input will consist of a sequence of tokens. Typically this can be dealt with by adding a rule such as the one for unexpected characters in the example above. .LP The user must arrange for a sentinel token to appear at the end of input (and provide a rule for matching it): \*(re does not provide an \fC<>\fP expression. If the source is from a null-byte terminated string, a rule matching a null character will suffice. If the source is from a file then you could pad the input with a newline (or some other character that cannot appear within another token); upon recognizing such a character check to see if it is the sentinel and act accordingly. And you can also use YYFILL(n) to end the scanner in case not enough characters are available which is nothing else then e detection of end of data/file. .SH BUGS .LP Difference only works for character sets. .LP The \*(re internal algorithms need documentation. .SH "SEE ALSO" .LP flex(1), lex(1). .P More information on \*(re can be found here: .PD 0 .P .B http://re2c.org/ .PD 1 .SH AUTHORS .PD 0 .P Peter Bumbulis .P Brian Young .P Dan Nuffer .P Marcus Boerger .P Hartmut Kaiser .P Emmanuel Mogenet added storable state .P .PD 1 .SH VERSION INFORMATION This manpage describes \*(re, version @PACKAGE_VERSION@. .fi re2c-0.13.5/re2c.spec.in0000664000076500007660000000232011016275332011502 00000000000000Summary: A tool for generating C-based recognizers from regular expressions Name: @PACKAGE_NAME@ Version: @PACKAGE_VERSION@ Release: @PACKAGE_RELEASE@ License: Public Domain Group: Development/Tools URL: http://re2c.org/ Source0: http://prdownloads.sourceforge.net/re2c/re2c-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root %description re2c is a great tool for writing fast and flexible lexers. It has served many people well for many years and it deserves to be maintained more actively. re2c is on the order of 2-3 times faster than a flex based scanner, and its input model is much more flexible. %prep %setup -q %build ./configure \ --prefix=%{_prefix} make re2c #regenerate file scanner.cc rm -f scanner.cc ./re2c -b scanner.re > scanner.cc rm -f re2c scanner.o make %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} install -m 0755 re2c $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 install -m 0755 re2c.1 $RPM_BUILD_ROOT%{_mandir}/man1 %clean rm -rf $RPM_BUILD_ROOT %changelog * Sun Jan 04 2003 Marcus Boerger - Initial version. %files %defattr(-,root,root) %{_bindir}/re2c %{_mandir}/man1/re2c.1* %doc README examples doc/* lessons re2c-0.13.5/run_tests.sh.in0000764000076500007660000000572011016275332012365 00000000000000#!/bin/bash _XPG=1 result=0 errcnt=0 tstcnt=0; if test "$1" == "--valgrind"; then valgrind=`which valgrind` shift else valgrind= fi diff -u $0 $0 >/dev/null 2>&1 && diff='diff -u' || diff='diff' #diff="${diff} -I '#line [0-9]*'" if uname|grep -q -i 'CYGWIN' && test -x "@WINBUILDDIR@/re2c.exe"; then re2c='@WINBUILDDIR@/re2c.exe' else re2c='@builddir@/re2c' fi if test ! -x "${re2c}"; then echo "Cannot find re2c executable (${re2c})." fi if test -n "${valgrind}"; then valgrind="${valgrind} -q " echo "Using valgrind" fi re2c="${valgrind}${re2c}" echo "Testing: ${re2c}" if ${re2c} -v|grep -q 're2c @PACKAGE_VERSION@ *\r*'; then echo "Version: @PACKAGE_VERSION@" else echo "Warning: test build for @PACKAGE_VERSION@ but testing `${re2c} -v`" fi echo "Diffing: ${diff}" if test $# = 0; then tests=`for i in test lessons; do find @top_srcdir@/$i -name '*.re'; done|sort` else tests="$@" fi; for x in $tests; do tstcnt=$(($tstcnt+1)) switches=`basename $x|sed -e 's/^[^.]*\.\(.*\)\.re$/-\1/g' -e 's/^[^-].*//g' -e 's/\([^ ]\)--/\1 --/g'` genname=`echo $switches|sed -e 's,--.*$,,g' -e 's,^.[^o]*$,,g' -e 's,^[^ot]*t.*o.*$,,g' -e 's,^-[^o]*o\(.*\),@builddir@/test/\1,g'` headers=`echo $switches|sed -e 's,--.*$,,g' -e 's,^.[^t]*$,,g' -e 's,^[^ot]*o.*t.*$,,g' -e 's,^-[^t]*t\(.*\),@builddir@/test/\1,g'` switches=`echo $switches|sed -e 's,^-\([^ot-]*[ot]\)\(.*\)$,-\1@builddir@/test/\2,g'` # don't use the -o flag, since it makes it harder to diff. echo $x: $switches outname=@builddir@/test/`basename ${x%.re}.c.temp` outdiff=@builddir@/test/`basename ${x%.re}.c.diff` typname=@builddir@/test/`basename ${x%.re}.h.temp` typdiff=@builddir@/test/`basename ${x%.re}.h.diff` $re2c $switches $x 2>&1 | sed -e "s,$x,`basename $x`,g" -e "s,/\* Generated by re2c .*\*/,/\* Generated by re2c \*/,g" > $outname if test -n "$genname"; then cat $genname | sed -e 's,@builddir@/test/,,g' -e "s,/\* Generated by re2c .*\*/,/\* Generated by re2c \*/,g" > $outname rm $genname fi ok=1 if test -n "$headers"; then cat $headers | sed -e 's,@builddir@/test/,,g' -e "s,/\* Generated by re2c .*\*/,/\* Generated by re2c \*/,g" > $typname rm $headers if test ! -f ${x%.re}.h; then echo "Missing: ${x%.re}.h" result=1 errcnt=$(($errcnt+1)) elif ${diff} ${x%.re}.h $typname > $typdiff; then echo "Passed header test." rm $typname else echo "Failed: ${x%.re}.h ${x%.re}.h.temp differ." result=1 errcnt=$(($errcnt+1)) ok=0 fi fi if test ! -f ${x%.re}.c; then echo "Missing: ${x%.re}.c" result=1 errcnt=$(($errcnt+1)) elif ${diff} ${x%.re}.c $outname > $outdiff; then if test $ok = 1; then echo "Passed." fi rm $outname else echo "Failed: ${x%.re}.c ${x%.re}.c.temp differ." result=1 errcnt=$(($errcnt+1)) fi test -f $outdiff -a ! -s $outdiff && rm -f $outdiff test -f $typdiff -a ! -s $typdiff && rm -f $typdiff done if test $result = 0; then echo "All $tstcnt tests passed successfully." else echo "Error: $errcnt out $tstcnt tests failed." fi exit $result re2c-0.13.5/configure0000775000076500007660000072745211016275332011321 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for re2c 0.13.5. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='re2c' PACKAGE_TARNAME='re2c' PACKAGE_VERSION='0.13.5' PACKAGE_STRING='re2c 0.13.5' PACKAGE_BUGREPORT='re2c-general@lists.sourceforge.net' ac_unique_file="actions.cc" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar PACKAGE_DATE PACKAGE_RELEASE WINBUILDDIR YACC YFLAGS CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP GREP EGREP LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias YACC YFLAGS CXX CXXFLAGS LDFLAGS LIBS CPPFLAGS CCC CC CFLAGS CPP' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures re2c 0.13.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/re2c] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of re2c 0.13.5:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors Some influential environment variables: YACC The `Yet Another C Compiler' implementation to use. Defaults to the first program found out of: `bison -y', `byacc', `yacc'. YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. CXX C++ compiler command CXXFLAGS C++ compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CC C compiler command CFLAGS C compiler flags CPP C preprocessor Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF re2c configure 0.13.5 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by re2c $as_me 0.13.5, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu am__api_version='1.10' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE=re2c VERSION=$PACKAGE_VERSION cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers config.h" PACKAGE_DATE=`date +'%d %b %Y'` PACKAGE_RELEASE=${PACKAGE_RELEASE:-1} WINBUILDDIR=Release-2005 # Checks for programs. for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_YACC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_YACC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi YACC=$ac_cv_prog_YACC if test -n "$YACC"; then { echo "$as_me:$LINENO: result: $YACC" >&5 echo "${ECHO_T}$YACC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C++ compiler default output file name" >&5 echo $ECHO_N "checking for C++ compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C++ compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C++ compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C++ compiler works" >&5 echo $ECHO_N "checking whether the C++ compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C++ compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' if test "$GCC" = "yes"; then { echo "$as_me:$LINENO: checking Testing GCC version" >&5 echo $ECHO_N "checking Testing GCC version... $ECHO_C" >&6; } GCCVERSION=`$CXX -dumpversion 2>/dev/null` if test -z "$GCCVERSION"; then { { echo "$as_me:$LINENO: error: GCC version 3 or above required" >&5 echo "$as_me: error: GCC version 3 or above required" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: found version $GCCVERSION" >&5 echo "${ECHO_T}found version $GCCVERSION" >&6; } fi # Checks for libraries. # Checks for header files. ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # We only rely on standard C/C++ headers. If we ever have a pressing need # for something non-standard, we should add a check for it here. # AC_CHECK_HEADERS([stddef.h stdlib.h string.h]) # Checks for typedefs, structures, and compiler characteristics. # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for stdbool.h that conforms to C99" >&5 echo $ECHO_N "checking for stdbool.h that conforms to C99... $ECHO_C" >&6; } if test "${ac_cv_header_stdbool_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #ifndef bool "error: bool is not defined" #endif #ifndef false "error: false is not defined" #endif #if false "error: false is not 0" #endif #ifndef true "error: true is not defined" #endif #if true != 1 "error: true is not 1" #endif #ifndef __bool_true_false_are_defined "error: __bool_true_false_are_defined is not defined" #endif struct s { _Bool s: 1; _Bool t; } s; char a[true == 1 ? 1 : -1]; char b[false == 0 ? 1 : -1]; char c[__bool_true_false_are_defined == 1 ? 1 : -1]; char d[(bool) 0.5 == true ? 1 : -1]; bool e = &s; char f[(_Bool) 0.0 == false ? 1 : -1]; char g[true]; char h[sizeof (_Bool)]; char i[sizeof s.t]; enum { j = false, k = true, l = false * true, m = true * 256 }; _Bool n[m]; char o[sizeof n == m * sizeof n[0] ? 1 : -1]; char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; # if defined __xlc__ || defined __GNUC__ /* Catch a bug in IBM AIX xlc compiler version 6.0.0.0 reported by James Lemley on 2005-10-05; see http://lists.gnu.org/archive/html/bug-coreutils/2005-10/msg00086.html This test is not quite right, since xlc is allowed to reject this program, as the initializer for xlcbug is not one of the forms that C requires support for. However, doing the test right would require a runtime test, and that would make cross-compilation harder. Let us hope that IBM fixes the xlc bug, and also adds support for this kind of constant expression. In the meantime, this test will reject xlc, which is OK, since our stdbool.h substitute should suffice. We also test this with GCC, where it should work, to detect more quickly whether someone messes up the test in the future. */ char digs[] = "0123456789"; int xlcbug = 1 / (&(digs + 5)[-2 + (bool) 1] == &digs[4] ? 1 : -1); # endif /* Catch a bug in an HP-UX C compiler. See http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html */ _Bool q = true; _Bool *pq = &q; int main () { *pq |= q; *pq |= ! q; /* Refer to every declared value, to avoid compiler optimizations. */ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l + !m + !n + !o + !p + !q + !pq); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdbool_h=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdbool_h=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdbool_h" >&5 echo "${ECHO_T}$ac_cv_header_stdbool_h" >&6; } { echo "$as_me:$LINENO: checking for _Bool" >&5 echo $ECHO_N "checking for _Bool... $ECHO_C" >&6; } if test "${ac_cv_type__Bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef _Bool ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type__Bool=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type__Bool=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type__Bool" >&5 echo "${ECHO_T}$ac_cv_type__Bool" >&6; } if test $ac_cv_type__Bool = yes; then cat >>confdefs.h <<_ACEOF #define HAVE__BOOL 1 _ACEOF fi if test $ac_cv_header_stdbool_h = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_STDBOOL_H 1 _ACEOF fi { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi { echo "$as_me:$LINENO: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6; } if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_inline=$ac_kw else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { echo "$as_me:$LINENO: checking for size_t" >&5 echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } if test "${ac_cv_type_size_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef size_t ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_size_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 echo "${ECHO_T}$ac_cv_type_size_t" >&6; } if test $ac_cv_type_size_t = yes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi { echo "$as_me:$LINENO: checking for working volatile" >&5 echo $ECHO_N "checking for working volatile... $ECHO_C" >&6; } if test "${ac_cv_c_volatile+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_volatile=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_volatile" >&5 echo "${ECHO_T}$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then cat >>confdefs.h <<\_ACEOF #define volatile _ACEOF fi # Checks for library functions. { echo "$as_me:$LINENO: checking for working memcmp" >&5 echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6; } if test "${ac_cv_func_memcmp_working+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_memcmp_working=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default int main () { /* Some versions of memcmp are not 8-bit clean. */ char c0 = '\100', c1 = '\200', c2 = '\201'; if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) return 1; /* The Next x86 OpenStep bug shows up only when comparing 16 bytes or more and with at least one buffer not starting on a 4-byte boundary. William Lewis provided this test program. */ { char foo[21]; char bar[21]; int i; for (i = 0; i < 4; i++) { char *a = foo + i; char *b = bar + i; strcpy (a, "--------01111111"); strcpy (b, "--------10000000"); if (memcmp (a, b, 16) >= 0) return 1; } return 0; } ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_memcmp_working=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_memcmp_working=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6; } test $ac_cv_func_memcmp_working = no && case " $LIBOBJS " in *" memcmp.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" ;; esac for ac_header in stdlib.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ( cat <<\_ASBOX ## ------------------------------------------------- ## ## Report this to re2c-general@lists.sourceforge.net ## ## ------------------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in getpagesize do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for working mmap" >&5 echo $ECHO_N "checking for working mmap... $ECHO_C" >&6; } if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_mmap_fixed_mapped=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default /* malloc might have been renamed as rpl_malloc. */ #undef malloc /* Thanks to Mike Haertel and Jim Avera for this test. Here is a matrix of mmap possibilities: mmap private not fixed mmap private fixed at somewhere currently unmapped mmap private fixed at somewhere already mapped mmap shared not fixed mmap shared fixed at somewhere currently unmapped mmap shared fixed at somewhere already mapped For private mappings, we should verify that changes cannot be read() back from the file, nor mmap's back from the file at a different address. (There have been systems where private was not correctly implemented like the infamous i386 svr4.0, and systems where the VM page cache was not coherent with the file system buffer cache like early versions of FreeBSD and possibly contemporary NetBSD.) For shared mappings, we should conversely verify that changes get propagated back to all the places they're supposed to be. Grep wants private fixed already mapped. The main things grep needs to know about mmap are: * does it exist and is it safe to write into the mmap'd area * how to use it (BSD variants) */ #include #include #if !defined STDC_HEADERS && !defined HAVE_STDLIB_H char *malloc (); #endif /* This mess was copied from the GNU getpagesize.h. */ #ifndef HAVE_GETPAGESIZE /* Assume that all systems that can run configure have sys/param.h. */ # ifndef HAVE_SYS_PARAM_H # define HAVE_SYS_PARAM_H 1 # endif # ifdef _SC_PAGESIZE # define getpagesize() sysconf(_SC_PAGESIZE) # else /* no _SC_PAGESIZE */ # ifdef HAVE_SYS_PARAM_H # include # ifdef EXEC_PAGESIZE # define getpagesize() EXEC_PAGESIZE # else /* no EXEC_PAGESIZE */ # ifdef NBPG # define getpagesize() NBPG * CLSIZE # ifndef CLSIZE # define CLSIZE 1 # endif /* no CLSIZE */ # else /* no NBPG */ # ifdef NBPC # define getpagesize() NBPC # else /* no NBPC */ # ifdef PAGESIZE # define getpagesize() PAGESIZE # endif /* PAGESIZE */ # endif /* no NBPC */ # endif /* no NBPG */ # endif /* no EXEC_PAGESIZE */ # else /* no HAVE_SYS_PARAM_H */ # define getpagesize() 8192 /* punt totally */ # endif /* no HAVE_SYS_PARAM_H */ # endif /* no _SC_PAGESIZE */ #endif /* no HAVE_GETPAGESIZE */ int main () { char *data, *data2, *data3; int i, pagesize; int fd; pagesize = getpagesize (); /* First, make a file with some known garbage in it. */ data = (char *) malloc (pagesize); if (!data) return 1; for (i = 0; i < pagesize; ++i) *(data + i) = rand (); umask (0); fd = creat ("conftest.mmap", 0600); if (fd < 0) return 1; if (write (fd, data, pagesize) != pagesize) return 1; close (fd); /* Next, try to mmap the file at a fixed address which already has something else allocated at it. If we can, also make sure that we see the same garbage. */ fd = open ("conftest.mmap", O_RDWR); if (fd < 0) return 1; data2 = (char *) malloc (2 * pagesize); if (!data2) return 1; data2 += (pagesize - ((long int) data2 & (pagesize - 1))) & (pagesize - 1); if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_FIXED, fd, 0L)) return 1; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data2 + i)) return 1; /* Finally, make sure that changes to the mapped area do not percolate back to the file as seen by read(). (This is a bug on some variants of i386 svr4.0.) */ for (i = 0; i < pagesize; ++i) *(data2 + i) = *(data2 + i) + 1; data3 = (char *) malloc (pagesize); if (!data3) return 1; if (read (fd, data3, pagesize) != pagesize) return 1; for (i = 0; i < pagesize; ++i) if (*(data + i) != *(data3 + i)) return 1; close (fd); return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mmap_fixed_mapped=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_mmap_fixed_mapped=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5 echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6; } if test $ac_cv_func_mmap_fixed_mapped = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MMAP 1 _ACEOF fi rm -f conftest.mmap for ac_func in memset munmap strdup strndup do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for char" >&5 echo $ECHO_N "checking for char... $ECHO_C" >&6; } if test "${ac_cv_type_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_char=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_char=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_char" >&5 echo "${ECHO_T}$ac_cv_type_char" >&6; } # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { echo "$as_me:$LINENO: checking size of char" >&5 echo $ECHO_N "checking size of char... $ECHO_C" >&6; } if test "${ac_cv_sizeof_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_char=$ac_lo;; '') if test "$ac_cv_type_char" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (char) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_char=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef char ac__type_sizeof_; static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (ac__type_sizeof_))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_char=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_char" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (char) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (char) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_char=0 fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { echo "$as_me:$LINENO: result: $ac_cv_sizeof_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_char" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_CHAR $ac_cv_sizeof_char _ACEOF { echo "$as_me:$LINENO: checking for short" >&5 echo $ECHO_N "checking for short... $ECHO_C" >&6; } if test "${ac_cv_type_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_short=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_short=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_short" >&5 echo "${ECHO_T}$ac_cv_type_short" >&6; } # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { echo "$as_me:$LINENO: checking size of short" >&5 echo $ECHO_N "checking size of short... $ECHO_C" >&6; } if test "${ac_cv_sizeof_short+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_short=$ac_lo;; '') if test "$ac_cv_type_short" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (short) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_short=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef short ac__type_sizeof_; static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (ac__type_sizeof_))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_short=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_short" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (short) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (short) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_short=0 fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { echo "$as_me:$LINENO: result: $ac_cv_sizeof_short" >&5 echo "${ECHO_T}$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF { echo "$as_me:$LINENO: checking for int" >&5 echo $ECHO_N "checking for int... $ECHO_C" >&6; } if test "${ac_cv_type_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_int=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_int=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_int" >&5 echo "${ECHO_T}$ac_cv_type_int" >&6; } # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { echo "$as_me:$LINENO: checking size of int" >&5 echo $ECHO_N "checking size of int... $ECHO_C" >&6; } if test "${ac_cv_sizeof_int+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_int=$ac_lo;; '') if test "$ac_cv_type_int" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_int=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef int ac__type_sizeof_; static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (ac__type_sizeof_))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_int=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_int" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (int) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (int) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_int=0 fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5 echo "${ECHO_T}$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF { echo "$as_me:$LINENO: checking for long" >&5 echo $ECHO_N "checking for long... $ECHO_C" >&6; } if test "${ac_cv_type_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_long=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_long=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_long" >&5 echo "${ECHO_T}$ac_cv_type_long" >&6; } # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { echo "$as_me:$LINENO: checking size of long" >&5 echo $ECHO_N "checking size of long... $ECHO_C" >&6; } if test "${ac_cv_sizeof_long+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr $ac_mid + 1` if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_lo=$ac_mid; break else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_hi=`expr '(' $ac_mid ')' - 1` if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi ac_mid=`expr 2 '*' $ac_mid` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; int main () { static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_hi=$ac_mid else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_lo=`expr '(' $ac_mid ')' + 1` fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in ?*) ac_cv_sizeof_long=$ac_lo;; '') if test "$ac_cv_type_long" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_long=0 fi ;; esac else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef long ac__type_sizeof_; static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (((long int) (sizeof (ac__type_sizeof_))) < 0) { long int i = longval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%ld\n", i); } else { unsigned long int i = ulongval (); if (i != ((long int) (sizeof (ac__type_sizeof_)))) return 1; fprintf (f, "%lu\n", i); } return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_long=`cat conftest.val` else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) if test "$ac_cv_type_long" = yes; then { { echo "$as_me:$LINENO: error: cannot compute sizeof (long) See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute sizeof (long) See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } else ac_cv_sizeof_long=0 fi fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.val fi { echo "$as_me:$LINENO: result: $ac_cv_sizeof_long" >&5 echo "${ECHO_T}$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF ac_config_files="$ac_config_files Makefile README makerpm re2c.1 re2c.spec run_tests.sh config_w32.h htdocs/manual.html" ac_config_commands="$ac_config_commands default-1" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by re2c $as_me 0.13.5, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ re2c config.status 0.13.5 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "README") CONFIG_FILES="$CONFIG_FILES README" ;; "makerpm") CONFIG_FILES="$CONFIG_FILES makerpm" ;; "re2c.1") CONFIG_FILES="$CONFIG_FILES re2c.1" ;; "re2c.spec") CONFIG_FILES="$CONFIG_FILES re2c.spec" ;; "run_tests.sh") CONFIG_FILES="$CONFIG_FILES run_tests.sh" ;; "config_w32.h") CONFIG_FILES="$CONFIG_FILES config_w32.h" ;; "htdocs/manual.html") CONFIG_FILES="$CONFIG_FILES htdocs/manual.html" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim PACKAGE_DATE!$PACKAGE_DATE$ac_delim PACKAGE_RELEASE!$PACKAGE_RELEASE$ac_delim WINBUILDDIR!$WINBUILDDIR$ac_delim YACC!$YACC$ac_delim YFLAGS!$YFLAGS$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; "default-1":C) chmod +x makerpm run_tests.sh ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi re2c-0.13.5/depcomp0000755000076500007660000004224611016275332010754 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software # Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: re2c-0.13.5/install-sh0000755000076500007660000003160011016275332011373 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: re2c-0.13.5/missing0000755000076500007660000002557711016275332011006 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' autom4te touch the output file, or create a stub one automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). case $1 in lex|yacc) # Not GNU programs, they don't have --version. ;; tar) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $1 in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." find . -type f -name Makefile.am -print | sed 's/\.am$/.in/' | while read f; do touch "$f"; done ;; autom4te) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' $msg. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar) shift # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case $firstarg in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case $firstarg in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequisites for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: re2c-0.13.5/code.cc0000664000076500007660000013512111016275332010615 00000000000000/* $Id: code.cc 861 2008-05-25 13:23:02Z helly $ */ #include #include #include #include #include #include #include #include #include "substr.h" #include "globals.h" #include "dfa.h" #include "parser.h" #include "code.h" namespace re2c { // there must be at least one span in list; all spans must cover // same range static std::string indent(uint ind) { std::string str; while (!DFlag && ind-- > 0) { str += indString; } return str; } template std::string replaceParam(std::string str, const std::string& param, const _Ty& value) { std::ostringstream strValue; strValue << value; std::string::size_type pos; while((pos = str.find(param)) != std::string::npos) { str.replace(pos, param.length(), strValue.str()); } return str; } static void genYYFill(std::ostream &o, uint, uint need) { if (bUseYYFillParam) { o << mapCodeName["YYFILL"]; if (!bUseYYFillNaked) { o << "(" << need << ");"; } o << "\n"; } else { o << replaceParam(mapCodeName["YYFILL"], yyFillLength, need); if (!bUseYYFillNaked) { o << ";"; } o << "\n"; } } static std::string genGetState() { if (bUseYYGetStateNaked) { return mapCodeName["YYGETSTATE"]; } else { return mapCodeName["YYGETSTATE"] + "()"; } } static std::string genGetCondition() { if (bUseYYGetConditionNaked) { return mapCodeName["YYGETCONDITION"]; } else { return mapCodeName["YYGETCONDITION"] + "()"; } } static void genSetCondition(std::ostream& o, uint ind, const std::string& newcond) { if (bUseYYSetConditionParam) { o << indent(ind) << mapCodeName["YYSETCONDITION"] << "(" << condEnumPrefix << newcond << ");\n"; } else { o << indent(ind) << replaceParam(mapCodeName["YYSETCONDITION"], yySetConditionParam, condEnumPrefix + newcond) << "\n"; } } static std::string space(uint this_label) { int nl = next_label > 999999 ? 6 : next_label > 99999 ? 5 : next_label > 9999 ? 4 : next_label > 999 ? 3 : next_label > 99 ? 2 : next_label > 9 ? 1 : 0; int tl = this_label > 999999 ? 6 : this_label > 99999 ? 5 : this_label > 9999 ? 4 : this_label > 999 ? 3 : this_label > 99 ? 2 : this_label > 9 ? 1 : 0; return std::string(std::max(1, nl - tl + 1), ' '); } void Go::compact() { // arrange so that adjacent spans have different targets uint i = 0; for (uint j = 1; j < nSpans; ++j) { if (span[j].to != span[i].to) { ++i; span[i].to = span[j].to; } span[i].ub = span[j].ub; } nSpans = i + 1; } void Go::unmap(Go *base, const State *x) { Span *s = span, *b = base->span, *e = &b[base->nSpans]; uint lb = 0; s->ub = 0; s->to = NULL; for (; b != e; ++b) { if (b->to == x) { if ((s->ub - lb) > 1) { s->ub = b->ub; } } else { if (b->to != s->to) { if (s->ub) { lb = s->ub; ++s; } s->to = b->to; } s->ub = b->ub; } } s->ub = e[ -1].ub; ++s; nSpans = s - span; } void doGen(const Go *g, const State *s, uint *bm, uint f, uint m) { Span *b = g->span, *e = &b[g->nSpans]; uint lb = 0; for (; b < e; ++b) { if (b->to == s) { for (; lb < b->ub && lb < 256; ++lb) { bm[lb-f] |= m; } } lb = b->ub; } } void prt(std::ostream& o, const Go *g, const State *s) { Span *b = g->span, *e = &b[g->nSpans]; uint lb = 0; for (; b < e; ++b) { if (b->to == s) { printSpan(o, lb, b->ub); } lb = b->ub; } } bool matches(const Go *g1, const State *s1, const Go *g2, const State *s2) { Span *b1 = g1->span, *e1 = &b1[g1->nSpans]; uint lb1 = 0; Span *b2 = g2->span, *e2 = &b2[g2->nSpans]; uint lb2 = 0; for (;;) { for (; b1 < e1 && b1->to != s1; ++b1) { lb1 = b1->ub; } for (; b2 < e2 && b2->to != s2; ++b2) { lb2 = b2->ub; } if (b1 == e1) { return b2 == e2; } if (b2 == e2) { return false; } if (lb1 != lb2 || b1->ub != b2->ub) { return false; } ++b1; ++b2; } } BitMap *BitMap::first = NULL; BitMap::BitMap(const Go *g, const State *x) : go(g) , on(x) , next(first) , i(0) , m(0) { first = this; } BitMap::~BitMap() { delete next; } const BitMap *BitMap::find(const Go *g, const State *x) { for (const BitMap *b = first; b; b = b->next) { if (matches(b->go, b->on, g, x)) { return b; } } return new BitMap(g, x); } const BitMap *BitMap::find(const State *x) { for (const BitMap *b = first; b; b = b->next) { if (b->on == x) { return b; } } return NULL; } void BitMap::gen(std::ostream &o, uint ind, uint lb, uint ub) { if (first && bLastPass && bUsedYYBitmap) { o << indent(ind) << "static const unsigned char " << mapCodeName["yybm"] << "[] = {"; uint c = 1, n = ub - lb; const BitMap *cb = first; while((cb = cb->next) != NULL) { ++c; } BitMap *b = first; uint *bm = new uint[n]; for (uint i = 0, t = 1; b; i += n, t += 8) { memset(bm, 0, n * sizeof(uint)); for (uint m = 0x80; b && m; m >>= 1) { b->i = i; b->m = m; doGen(b->go, b->on, bm, lb, m); b = const_cast(b->next); } if (c > 8) { o << "\n" << indent(ind+1) << "/* table " << t << " .. " << std::min(c, t+7) << ": " << i << " */"; } for (uint j = 0; j < n; ++j) { if (j % 8 == 0) { o << "\n" << indent(ind+1); } if (yybmHexTable) { prtHex(o, bm[j], false); } else { o << std::setw(3) << (uint)bm[j]; } o << ", "; } } o << "\n" << indent(ind) << "};\n"; /* stats(); */ delete[] bm; } } void BitMap::stats() { uint n = 0; for (const BitMap *b = first; b; b = b->next) { prt(std::cerr, b->go, b->on); std::cerr << std::endl; ++n; } std::cerr << n << " bitmaps\n"; first = NULL; } void genGoTo(std::ostream &o, uint ind, const State *from, const State *to, bool & readCh) { if (DFlag) { o << from->label << " -> " << to->label << "\n"; return; } if (readCh && from->label + 1 != to->label) { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*" << mapCodeName["YYCURSOR"] << ";\n"; readCh = false; } o << indent(ind) << "goto " << labelPrefix << to->label << ";\n"; vUsedLabels.insert(to->label); } void genIf(std::ostream &o, uint ind, const char *cmp, uint v, bool &readCh) { o << indent(ind) << "if ("; if (readCh) { o << "(" << mapCodeName["yych"] << " = " << yychConversion << "*" << mapCodeName["YYCURSOR"] << ")"; readCh = false; } else { o << mapCodeName["yych"]; } o << " " << cmp << " "; prtChOrHex(o, v); o << ") "; } static void need(std::ostream &o, uint ind, uint n, bool & readCh, bool bSetMarker) { if (DFlag) { return; } uint fillIndex = next_fill_index; if (fFlag) { next_fill_index++; if (bUseYYSetStateParam) { o << indent(ind) << mapCodeName["YYSETSTATE"] << "(" << fillIndex << ");\n"; } else { o << indent(ind) << replaceParam(mapCodeName["YYSETSTATE"], yySetStateParam, fillIndex) << "\n"; } } if (bUseYYFill && n > 0) { o << indent(ind); if (n == 1) { if (bUseYYFillCheck) { o << "if (" << mapCodeName["YYLIMIT"] << " <= " << mapCodeName["YYCURSOR"] << ") "; } genYYFill(o, ind, n); } else { if (bUseYYFillCheck) { o << "if ((" << mapCodeName["YYLIMIT"] << " - " << mapCodeName["YYCURSOR"] << ") < " << n << ") "; } genYYFill(o, ind, n); } } if (fFlag) { o << mapCodeName["yyFillLabel"] << fillIndex << ":\n"; } if (n > 0) { if (bSetMarker) { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*(" << mapCodeName["YYMARKER"] << " = " << mapCodeName["YYCURSOR"] << ");\n"; } else { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*" << mapCodeName["YYCURSOR"] << ";\n"; } readCh = false; } } void Match::emit(std::ostream &o, uint ind, bool &readCh, const std::string&) const { if (DFlag) { return; } if (state->link) { o << indent(ind) << "++" << mapCodeName["YYCURSOR"] << ";\n"; } else if (!readAhead()) { /* do not read next char if match */ o << indent(ind) << "++" << mapCodeName["YYCURSOR"] << ";\n"; readCh = true; } else { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*++" << mapCodeName["YYCURSOR"] << ";\n"; readCh = false; } if (state->link) { need(o, ind, state->depth, readCh, false); } } void Enter::emit(std::ostream &o, uint ind, bool &readCh, const std::string&) const { if (state->link) { o << indent(ind) << "++" << mapCodeName["YYCURSOR"] << ";\n"; if (vUsedLabels.count(label)) { o << labelPrefix << label << ":\n"; } need(o, ind, state->depth, readCh, false); } else { /* we shouldn't need 'rule-following' protection here */ o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*++" << mapCodeName["YYCURSOR"] << ";\n"; if (vUsedLabels.count(label)) { o << labelPrefix << label << ":\n"; } readCh = false; } } void Initial::emit(std::ostream &o, uint ind, bool &readCh, const std::string&) const { if (!cFlag && !startLabelName.empty()) { o << startLabelName << ":\n"; } if (vUsedLabels.count(1)) { if (state->link) { o << indent(ind) << "++" << mapCodeName["YYCURSOR"] << ";\n"; } else { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*++" << mapCodeName["YYCURSOR"] << ";\n"; } } if (!cFlag && vUsedLabels.count(label)) { o << labelPrefix << label << ":\n"; } else if (!label) { o << "\n"; } if (dFlag) { o << indent(ind) << mapCodeName["YYDEBUG"] << "(" << label << ", *" << mapCodeName["YYCURSOR"] << ");\n"; } if (state->link) { need(o, ind, state->depth, readCh, setMarker && bUsedYYMarker); } else { if (setMarker && bUsedYYMarker) { o << indent(ind) << mapCodeName["YYMARKER"] << " = " << mapCodeName["YYCURSOR"] << ";\n"; } readCh = false; } } void Save::emit(std::ostream &o, uint ind, bool &readCh, const std::string&) const { if (DFlag) { return; } if (bUsedYYAccept) { o << indent(ind) << mapCodeName["yyaccept"] << " = " << selector << ";\n"; } if (state->link) { if (bUsedYYMarker) { o << indent(ind) << mapCodeName["YYMARKER"] << " = ++" << mapCodeName["YYCURSOR"] << ";\n"; } need(o, ind, state->depth, readCh, false); } else { if (bUsedYYMarker) { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*(" << mapCodeName["YYMARKER"] << " = ++" << mapCodeName["YYCURSOR"] << ");\n"; } else { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*++" << mapCodeName["YYCURSOR"] << ";\n"; } readCh = false; } } Move::Move(State *s) : Action(s) { ; } void Move::emit(std::ostream &, uint, bool &, const std::string&) const { ; } Accept::Accept(State *x, uint n, uint *s, State **r) : Action(x), nRules(n), saves(s), rules(r) { ; } void Accept::genRuleMap() { for (uint i = 0; i < nRules; ++i) { if (saves[i] != ~0u) { mapRules[saves[i]] = rules[i]; } } } void Accept::emitBinary(std::ostream &o, uint ind, uint l, uint r, bool &readCh) const { if (l < r) { uint m = (l + r) >> 1; assert(bUsedYYAccept); o << indent(ind) << "if (" << mapCodeName["yyaccept"] << " <= " << m << ") {\n"; emitBinary(o, ++ind, l, m, readCh); o << indent(--ind) << "} else {\n"; emitBinary(o, ++ind, m + 1, r, readCh); o << indent(--ind) << "}\n"; } else { genGoTo(o, ind, state, mapRules.find(l)->second, readCh); } } void Accept::emit(std::ostream &o, uint ind, bool &readCh, const std::string&) const { if (mapRules.size() > 0) { bUsedYYMarker = true; if (!DFlag) { o << indent(ind) << mapCodeName["YYCURSOR"] << " = " << mapCodeName["YYMARKER"] << ";\n"; } if (readCh) // shouldn't be necessary, but might become at some point { o << indent(ind) << mapCodeName["yych"] << " = " << yychConversion << "*" << mapCodeName["YYCURSOR"] << ";\n"; readCh = false; } if (mapRules.size() > 1) { bUsedYYAccept = true; if (gFlag && mapRules.size() >= cGotoThreshold) { o << indent(ind++) << "{\n"; o << indent(ind++) << "static void *" << mapCodeName["yytarget"] << "[" << mapRules.size() << "] = {\n"; for (RuleMap::const_iterator it = mapRules.begin(); it != mapRules.end(); ++it) { o << indent(ind) << "&&" << labelPrefix << it->second->label << ",\n"; vUsedLabels.insert(it->second->label); } o << indent(--ind) << "};\n"; o << indent(ind) << "goto *" << mapCodeName["yytarget"] << "[" << mapCodeName["yyaccept"] << "];\n"; o << indent(--ind) << "}\n"; } else if (sFlag) { emitBinary(o, ind, 0, mapRules.size() - 1, readCh); } else if (DFlag) { for (RuleMap::const_iterator it = mapRules.begin(); it != mapRules.end(); ++it) { o << state->label << " -> " << it->second->label; o << " [label=\"yyaccept=" << it->first << "\"]\n"; } } else { o << indent(ind) << "switch (" << mapCodeName["yyaccept"] << ") {\n"; for (RuleMap::const_iterator it = mapRules.begin(); it != mapRules.end(); ++it) { o << indent(ind) << "case " << it->first << ": \t"; genGoTo(o, 0, state, it->second, readCh); } o << indent(ind) << "}\n"; } } else { // no need to write if statement here since there is only case 0. genGoTo(o, ind, state, mapRules.find(0)->second, readCh); } } } Rule::Rule(State *s, RuleOp *r) : Action(s), rule(r) { ; } void Rule::emit(std::ostream &o, uint ind, bool &, const std::string& condName) const { if (DFlag) { o << state->label << " [label=\"" << sourceFileInfo.fname << ":" << rule->code->line << "\"];\n"; return; } uint back = rule->ctx->fixedLength(); if (back != 0u) { o << indent(ind) << mapCodeName["YYCURSOR"] << " = " << mapCodeName["YYCTXMARKER"] << ";\n"; } if (rule->code->newcond.length() && condName != rule->code->newcond) { genSetCondition(o, ind, rule->code->newcond); } RuleLine rl(*rule); if (!yySetupRule.empty() && !rule->code->autogen) { o << indent(ind) << yySetupRule << "\n"; } o << file_info(rule->code->source, &rl); o << indent(ind); if (rule->code->autogen) { o << replaceParam(condGoto, condGotoParam, condPrefix + rule->code->newcond); } else { o << rule->code->text; } o << "\n"; o << outputFileInfo; } void doLinear(std::ostream &o, uint ind, Span *s, uint n, const State *from, const State *next, bool &readCh, uint mask) { for (;;) { State *bg = s[0].to; while (n >= 3 && s[2].to == bg && (s[1].ub - s[0].ub) == 1) { if (s[1].to == next && n == 3) { if (!mask || (s[0].ub > 0x00FF)) { genIf(o, ind, "!=", s[0].ub, readCh); genGoTo(o, 0, from, bg, readCh); } if (next->label != from->label + 1 || DFlag) { genGoTo(o, ind, from, next, readCh); } return ; } else { if (!mask || (s[0].ub > 0x00FF)) { genIf(o, ind, "==", s[0].ub, readCh); genGoTo(o, 0, from, s[1].to, readCh); } } n -= 2; s += 2; } if (n == 1) { // if(bg != next){ if (s[0].to->label != from->label + 1 || DFlag) { genGoTo(o, ind, from, s[0].to, readCh); } // } return ; } else if (n == 2 && bg == next) { if (!mask || (s[0].ub > 0x00FF)) { genIf(o, ind, ">=", s[0].ub, readCh); genGoTo(o, 0, from, s[1].to, readCh); } if (next->label != from->label + 1 || DFlag) { genGoTo(o, ind, from, next, readCh); } return ; } else { if (!mask || ((s[0].ub - 1) > 0x00FF)) { genIf(o, ind, "<=", s[0].ub - 1, readCh); genGoTo(o, 0, from, bg, readCh); } n -= 1; s += 1; } } if (next->label != from->label + 1 || DFlag) { genGoTo(o, ind, from, next, readCh); } } void Go::genLinear(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh, uint mask) const { doLinear(o, ind, span, nSpans, from, next, readCh, mask); } bool genCases(std::ostream &o, uint ind, uint lb, Span *s, bool &newLine, uint mask, const State *from, const State *to) { bool used = false; if (!newLine) { o << "\n"; } newLine = true; if (lb < s->ub) { for (;;) { if (!mask || lb > 0x00FF) { if (DFlag) { o << from->label << " -> " << to->label; o << " [label="; prtChOrHex(o, lb); o << "]"; } else { o << indent(ind) << "case "; prtChOrHex(o, lb); o << ":"; } newLine = false; used = true; } if (++lb == s->ub) { break; } o << "\n"; newLine = true; } } return used; } void Go::genSwitch(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh, uint mask) const { bool newLine = true; if ((mask ? wSpans : nSpans) <= 2) { genLinear(o, ind, from, next, readCh, mask); } else { State *def = span[nSpans - 1].to; Span **sP = new Span * [nSpans - 1], **r, **s, **t; t = &sP[0]; for (uint i = 0; i < nSpans; ++i) { if (span[i].to != def) { *(t++) = &span[i]; } } if (!DFlag) { if (dFlag) { o << indent(ind) << mapCodeName["YYDEBUG"] << "(-1, " << mapCodeName["yych"] << ");\n"; } if (readCh) { o << indent(ind) << "switch ((" << mapCodeName["yych"] << " = " << yychConversion << "*" << mapCodeName["YYCURSOR"] << ")) {\n"; readCh = false; } else { o << indent(ind) << "switch (" << mapCodeName["yych"] << ") {\n"; } } while (t != &sP[0]) { bool used = false; r = s = &sP[0]; const State *to = (*s)->to; if (*s == &span[0]) { used |= genCases(o, ind, 0, *s, newLine, mask, from, to); } else { used |= genCases(o, ind, (*s)[ -1].ub, *s, newLine, mask, from, to); } while (++s < t) { if ((*s)->to == to) { used |= genCases(o, ind, (*s)[ -1].ub, *s, newLine, mask, from, to); } else { *(r++) = *s; } } if (used && !DFlag) { genGoTo(o, newLine ? ind+1 : 1, from, to, readCh); newLine = true; } t = r; } if (DFlag) { o << "\n" << from->label << " -> " << def->label; o << " [label=default]\n" ; } else { o << indent(ind) << "default:"; genGoTo(o, 1, from, def, readCh); o << indent(ind) << "}\n"; } delete [] sP; } } void doBinary(std::ostream &o, uint ind, Span *s, uint n, const State *from, const State *next, bool &readCh, uint mask) { if (n <= 4) { doLinear(o, ind, s, n, from, next, readCh, mask); } else { uint h = n / 2; genIf(o, ind, "<=", s[h - 1].ub - 1, readCh); o << "{\n"; doBinary(o, ind+1, &s[0], h, from, next, readCh, mask); o << indent(ind) << "} else {\n"; doBinary(o, ind+1, &s[h], n - h, from, next, readCh, mask); o << indent(ind) << "}\n"; } } void Go::genBinary(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh, uint mask) const { if (mask) { Span * sc = new Span[wSpans]; for (uint i = 0, j = 0; i < nSpans; i++) { if (span[i].ub > 0xFF) { sc[j++] = span[i]; } } doBinary(o, ind, sc, wSpans, from, next, readCh, mask); delete[] sc; } else { doBinary(o, ind, span, nSpans, from, next, readCh, mask); } } void Go::genBase(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh, uint mask) const { if ((mask ? wSpans : nSpans) == 0) { return ; } if (!sFlag) { genSwitch(o, ind, from, next, readCh, mask); return ; } if ((mask ? wSpans : nSpans) > 8) { Span *bot = &span[0], *top = &span[nSpans - 1]; uint util; if (bot[0].to == top[0].to) { util = (top[ -1].ub - bot[0].ub) / (nSpans - 2); } else { if (bot[0].ub > (top[0].ub - top[ -1].ub)) { util = (top[0].ub - bot[0].ub) / (nSpans - 1); } else { util = top[ -1].ub / (nSpans - 1); } } if (util <= 2) { genSwitch(o, ind, from, next, readCh, mask); return ; } } if ((mask ? wSpans : nSpans) > 5) { genBinary(o, ind, from, next, readCh, mask); } else { genLinear(o, ind, from, next, readCh, mask); } } void Go::genCpGoto(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh) const { std::string sYych; if (readCh) { sYych = "(" + mapCodeName["yych"] + " = " + yychConversion + "*" + mapCodeName["YYCURSOR"] + ")"; } else { sYych = mapCodeName["yych"]; } readCh = false; if (wFlag) { o << indent(ind) << "if (" << sYych <<" & ~0xFF) {\n"; genBase(o, ind+1, from, next, readCh, 1); o << indent(ind++) << "} else {\n"; sYych = mapCodeName["yych"]; } else { o << indent(ind++) << "{\n"; } o << indent(ind++) << "static void *" << mapCodeName["yytarget"] << "[256] = {\n"; o << indent(ind); uint ch = 0; for (uint i = 0; i < lSpans; ++i) { vUsedLabels.insert(span[i].to->label); for(; ch < span[i].ub; ++ch) { o << "&&" << labelPrefix << span[i].to->label; if (ch == 255) { o << "\n"; i = lSpans; break; } else if (ch % 8 == 7) { o << ",\n" << indent(ind); } else { o << "," << space(span[i].to->label); } } } o << indent(--ind) << "};\n"; o << indent(ind) << "goto *" << mapCodeName["yytarget"] << "[" << sYych << "];\n"; o << indent(--ind) << "}\n"; } void Go::genGoto(std::ostream &o, uint ind, const State *from, const State *next, bool &readCh) { if ((gFlag || wFlag) && wSpans == ~0u) { uint nBitmaps = 0; std::set vTargets; wSpans = 0; lSpans = 1; dSpans = 0; for (uint i = 0; i < nSpans; ++i) { if (span[i].ub > 0xFF) { wSpans++; } if (span[i].ub < 0x100 || !wFlag) { lSpans++; State *to = span[i].to; if (to && to->isBase) { const BitMap *b = BitMap::find(to); if (b && matches(b->go, b->on, this, to)) { nBitmaps++; } else { dSpans++; vTargets.insert(to->label); } } else { dSpans++; vTargets.insert(to->label); } } } lTargets = vTargets.size() >> nBitmaps; } if (gFlag && (lTargets >= cGotoThreshold || dSpans >= cGotoThreshold)) { genCpGoto(o, ind, from, next, readCh); return; } else if (bFlag) { for (uint i = 0; i < nSpans; ++i) { State *to = span[i].to; if (to && to->isBase) { const BitMap *b = BitMap::find(to); std::string sYych; if (b && matches(b->go, b->on, this, to)) { Go go; go.span = new Span[nSpans]; go.unmap(this, to); if (readCh) { sYych = "(" + mapCodeName["yych"] + " = " + yychConversion + "*" + mapCodeName["YYCURSOR"] + ")"; } else { sYych = mapCodeName["yych"]; } readCh = false; if (wFlag) { o << indent(ind) << "if (" << sYych << " & ~0xFF) {\n"; sYych = mapCodeName["yych"]; genBase(o, ind+1, from, next, readCh, 1); o << indent(ind) << "} else "; } else { o << indent(ind); } bUsedYYBitmap = true; o << "if (" << mapCodeName["yybm"] << "[" << b->i << "+" << sYych << "] & "; if (yybmHexTable) { prtHex(o, b->m, false); } else { o << (uint) b->m; } o << ") {\n"; genGoTo(o, ind+1, from, to, readCh); o << indent(ind) << "}\n"; go.genBase(o, ind, from, next, readCh, 0); delete [] go.span; return ; } } } } genBase(o, ind, from, next, readCh, 0); } void State::emit(std::ostream &o, uint ind, bool &readCh, const std::string& condName) const { if (vUsedLabels.count(label)) { o << labelPrefix << label << ":\n"; } if (dFlag && !action->isInitial()) { o << indent(ind) << mapCodeName["YYDEBUG"] << "(" << label << ", *" << mapCodeName["YYCURSOR"] << ");\n"; } if (isPreCtxt) { o << indent(ind) << mapCodeName["YYCTXMARKER"] << " = " << mapCodeName["YYCURSOR"] << " + 1;\n"; } action->emit(o, ind, readCh, condName); } uint merge(Span *x0, State *fg, State *bg) { Span *x = x0, *f = fg->go.span, *b = bg->go.span; uint nf = fg->go.nSpans, nb = bg->go.nSpans; State *prev = NULL, *to; // NB: we assume both spans are for same range for (;;) { if (f->ub == b->ub) { to = f->to == b->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = f->ub; ++x; ++f; --nf; ++b; --nb; if (nf == 0 && nb == 0) { return x - x0; } } while (f->ub < b->ub) { to = f->to == b->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = f->ub; ++x; ++f; --nf; } while (b->ub < f->ub) { to = b->to == f->to ? bg : f->to; if (to == prev) { --x; } else { x->to = prev = to; } x->ub = b->ub; ++x; ++b; --nb; } } } const uint cInfinity = ~0u; class SCC { public: State **top, **stk; public: SCC(uint); ~SCC(); void traverse(State*); #ifdef PEDANTIC private: SCC(const SCC& oth) : top(oth.top) , stk(oth.stk) { } SCC& operator = (const SCC& oth) { new(this) SCC(oth); return *this; } #endif }; SCC::SCC(uint size) : top(new State * [size]) , stk(top) { } SCC::~SCC() { delete [] stk; } void SCC::traverse(State *x) { *top = x; uint k = ++top - stk; x->depth = k; for (uint i = 0; i < x->go.nSpans; ++i) { State *y = x->go.span[i].to; if (y) { if (y->depth == 0) { traverse(y); } if (y->depth < x->depth) { x->depth = y->depth; } } } if (x->depth == k) { do { (*--top)->depth = cInfinity; (*top)->link = x; } while (*top != x); } } static bool state_is_in_non_trivial_SCC(const State* s) { // does not link to self if (s->link != s) { return true; } // or exists i: (s->go.spans[i].to->link == s) // // Note: (s->go.spans[i].to == s) is allowed, corresponds to s // looping back to itself. // for (uint i = 0; i < s->go.nSpans; ++i) { const State* t = s->go.span[i].to; if (t && t->link == s) { return true; } } // otherwise no return false; } uint maxDist(State *s) { if (s->depth != cInfinity) { // Already calculated, just return result. return s->depth; } uint mm = 0; for (uint i = 0; i < s->go.nSpans; ++i) { State *t = s->go.span[i].to; if (t) { uint m = 1; if (!t->link) // marked as non-key state { if (t->depth == cInfinity) { t->depth = maxDist(t); } m += t->depth; } if (m > mm) { mm = m; } } } s->depth = mm; return mm; } void calcDepth(State *head) { State* s; // mark non-key states by s->link = NULL ; for (s = head; s; s = s->next) { if (s != head && !state_is_in_non_trivial_SCC(s)) { s->link = NULL; } //else: key state, leave alone } for (s = head; s; s = s->next) { s->depth = cInfinity; } // calculate max number of transitions before guarantied to reach // a key state. for (s = head; s; s = s->next) { maxDist(s); } } void DFA::findSCCs() { SCC scc(nStates); State *s; for (s = head; s; s = s->next) { s->depth = 0; s->link = NULL; } for (s = head; s; s = s->next) { if (!s->depth) { scc.traverse(s); } } calcDepth(head); } void DFA::split(State *s) { State *move = new State; (void) new Move(move); addState(&s->next, move); move->link = s->link; move->rule = s->rule; move->go = s->go; s->rule = NULL; s->go.nSpans = 1; s->go.span = new Span[1]; s->go.span[0].ub = ubChar; s->go.span[0].to = move; } void DFA::findBaseState() { Span *span = new Span[ubChar - lbChar]; for (State *s = head; s; s = s->next) { if (!s->link) { for (uint i = 0; i < s->go.nSpans; ++i) { State *to = s->go.span[i].to; if (to && to->isBase) { to = to->go.span[0].to; uint nSpans = merge(span, s, to); if (nSpans < s->go.nSpans) { delete [] s->go.span; s->go.nSpans = nSpans; s->go.span = new Span[nSpans]; memcpy(s->go.span, span, nSpans*sizeof(Span)); } break; } } } } delete [] span; } void DFA::prepare() { State *s; uint i; bUsedYYBitmap = false; findSCCs(); head->link = head; uint nRules = 0; for (s = head; s; s = s->next) { s->depth = maxDist(s); if (maxFill < s->depth) { maxFill = s->depth; } if (s->rule && s->rule->accept >= nRules) { nRules = s->rule->accept + 1; } } uint nSaves = 0; saves = new uint[nRules]; memset(saves, ~0, (nRules)*sizeof(*saves)); // mark backtracking points bSaveOnHead = false; for (s = head; s; s = s->next) { if (s->rule) { for (i = 0; i < s->go.nSpans; ++i) { if (s->go.span[i].to && !s->go.span[i].to->rule) { delete s->action; s->action = NULL; if (saves[s->rule->accept] == ~0u) { saves[s->rule->accept] = nSaves++; } bSaveOnHead |= s == head; (void) new Save(s, saves[s->rule->accept]); // sets s->action } } } } // insert actions rules = new State * [nRules]; memset(rules, 0, (nRules)*sizeof(*rules)); State *accept = NULL; Accept *accfixup = NULL; for (s = head; s; s = s->next) { State * ow; if (!s->rule) { ow = accept; } else { if (!rules[s->rule->accept]) { State *n = new State; (void) new Rule(n, s->rule); rules[s->rule->accept] = n; addState(&s->next, n); } ow = rules[s->rule->accept]; } for (i = 0; i < s->go.nSpans; ++i) { if (!s->go.span[i].to) { if (!ow) { ow = accept = new State; accfixup = new Accept(accept, nRules, saves, rules); addState(&s->next, accept); } s->go.span[i].to = ow; } } } if (accfixup) { accfixup->genRuleMap(); } // split ``base'' states into two parts for (s = head; s; s = s->next) { s->isBase = false; if (s->link) { for (i = 0; i < s->go.nSpans; ++i) { if (s->go.span[i].to == s) { s->isBase = true; split(s); if (bFlag) { BitMap::find(&s->next->go, s); } s = s->next; break; } } } } // find ``base'' state, if possible findBaseState(); delete head->action; head->action = NULL; } void DFA::emit(std::ostream &o, uint& ind, const RegExpMap* specMap, const std::string& condName, bool isLastCond, bool& bPrologBrace) { bool bProlog = (!cFlag || !bWroteCondCheck); if (!cFlag) { bUsedYYAccept = false; } uint start_label = next_label; (void) new Initial(head, next_label++, bSaveOnHead); if (bUseStartLabel) { if (startLabelName.empty()) { vUsedLabels.insert(start_label); } } State *s; for (s = head; s; s = s->next) { s->label = next_label++; } // Save 'next_fill_index' and compute information about code generation // while writing to null device. uint save_fill_index = next_fill_index; null_stream null_dev; for (s = head; s; s = s->next) { bool readCh = false; s->emit(null_dev, ind, readCh, condName); s->go.genGoto(null_dev, ind, s, s->next, readCh); } if (last_fill_index < next_fill_index) { last_fill_index = next_fill_index; } next_fill_index = save_fill_index; // Generate prolog if (bProlog) { o << "\n" << outputFileInfo; if (DFlag) { bPrologBrace = true; o << "digraph re2c {\n"; } else if ((!fFlag && bUsedYYAccept) || (!fFlag && bEmitYYCh) || (bFlag && !cFlag && BitMap::first) || (cFlag && !bWroteCondCheck && gFlag && !specMap->empty()) || (fFlag && !bWroteGetState && gFlag) ) { bPrologBrace = true; o << indent(ind++) << "{\n"; } else if (ind == 0) { ind = 1; } if (!fFlag && !DFlag) { if (bEmitYYCh) { o << indent(ind) << mapCodeName["YYCTYPE"] << " " << mapCodeName["yych"] << ";\n"; } if (bUsedYYAccept) { o << indent(ind) << "unsigned int " << mapCodeName["yyaccept"] << " = 0;\n"; } } else { o << "\n"; } } if (bFlag && !cFlag && BitMap::first) { BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256); } if (bProlog) { genCondTable(o, ind, *specMap); genGetStateGoto(o, ind, start_label); if (cFlag) { if (vUsedLabels.count(start_label)) { o << labelPrefix << start_label << ":\n"; } if (!startLabelName.empty()) { o << startLabelName << ":\n"; } } genCondGoto(o, ind, *specMap); } if (cFlag && !condName.empty()) { if (condDivider.length()) { o << replaceParam(condDivider, condDividerParam, condName) << "\n"; } if (DFlag) { o << condName << " -> " << (start_label+1) << "\n"; } else { o << condPrefix << condName << ":\n"; } } if (cFlag && bFlag && BitMap::first) { o << indent(ind++) << "{\n"; BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256); } // TODO: Shouldn't labels 0 and 1 be variable? if (vUsedLabels.count(1)) { vUsedLabels.insert(0); o << indent(ind) << "goto " << labelPrefix << "0;\n"; } // Generate code for (s = head; s; s = s->next) { bool readCh = false; s->emit(o, ind, readCh, condName); s->go.genGoto(o, ind, s, s->next, readCh); } if (cFlag && bFlag && BitMap::first) { o << indent(--ind) << "}\n"; } // Generate epilog if ((!cFlag || isLastCond) && bPrologBrace) { o << indent(--ind) << "}\n"; } // Cleanup if (BitMap::first) { delete BitMap::first; BitMap::first = NULL; } bUseStartLabel = false; } void genGetStateGotoSub(std::ostream &o, uint ind, uint start_label, int cMin, int cMax) { if (cMin == cMax) { if (cMin == -1) { o << indent(ind) << "goto " << labelPrefix << start_label << ";\n"; } else { o << indent(ind) << "goto " << mapCodeName["yyFillLabel"] << cMin << ";\n"; } } else { int cMid = cMin + ((cMax - cMin + 1) / 2); o << indent(ind) << "if (" << genGetState() << " < " << cMid << ") {\n"; genGetStateGotoSub(o, ind + 1, start_label, cMin, cMid - 1); o << indent(ind) << "} else {\n"; genGetStateGotoSub(o, ind + 1, start_label, cMid, cMax); o << indent(ind) << "}\n"; } } void genGetStateGoto(std::ostream &o, uint& ind, uint start_label) { if (fFlag && !bWroteGetState) { vUsedLabels.insert(start_label); if (gFlag) { o << indent(ind++) << "static void *" << mapCodeName["yystable"] << "[" << "] = {\n"; for (size_t i=0; isecond.first] = itSpec->first; } o << indent(ind++) << "static void *" << mapCodeName["yyctable"] << "[" << specMap.size() << "] = {\n"; for(RegExpIndices::const_iterator it = vCondList.begin(); it != vCondList.end(); ++it) { o << indent(ind) << "&&" << condPrefix << *it << ",\n"; } o << indent(--ind) << "};\n"; } } static void genCondGotoSub(std::ostream &o, uint ind, RegExpIndices& vCondList, uint cMin, uint cMax) { if (cMin == cMax) { o << indent(ind) << "goto " << condPrefix << vCondList[cMin] << ";\n"; } else { uint cMid = cMin + ((cMax - cMin + 1) / 2); o << indent(ind) << "if (" << genGetCondition() << " < " << cMid << ") {\n"; genCondGotoSub(o, ind + 1, vCondList, cMin, cMid - 1); o << indent(ind) << "} else {\n"; genCondGotoSub(o, ind + 1, vCondList, cMid, cMax); o << indent(ind) << "}\n"; } } void genCondGoto(std::ostream &o, uint ind, const RegExpMap& specMap) { if (cFlag && !bWroteCondCheck && specMap.size()) { if (gFlag) { o << indent(ind) << "goto *" << mapCodeName["yyctable"] << "[" << genGetCondition() << "];\n"; } else { if (sFlag) { RegExpIndices vCondList(specMap.size()); for(RegExpMap::const_iterator it = specMap.begin(); it != specMap.end(); ++it) { vCondList[it->second.first] = it->first; } genCondGotoSub(o, ind, vCondList, 0, vCondList.size() - 1); } else if (DFlag) { for(RegExpMap::const_iterator it = specMap.begin(); it != specMap.end(); ++it) { o << "0 -> " << it->first << " [label=\"state=" << it->first << "\"]\n"; } } else { o << indent(ind) << "switch (" << genGetCondition() << ") {\n"; for(RegExpMap::const_iterator it = specMap.begin(); it != specMap.end(); ++it) { o << indent(ind) << "case " << condEnumPrefix << it->first << ": goto " << condPrefix << it->first << ";\n"; } o << indent(ind) << "}\n"; } } bWroteCondCheck = true; } } void genTypes(std::string& o, uint ind, const RegExpMap& specMap) { o.clear(); o += indent(ind++) + "enum " + mapCodeName["YYCONDTYPE"] + " {\n"; RegExpIndices vCondList(specMap.size()); for(RegExpMap::const_iterator itSpecMap = specMap.begin(); itSpecMap != specMap.end(); ++itSpecMap) { // If an entry is < 0 then we did the 0/empty correction twice. assert(itSpecMap->second.first >= 0); vCondList[itSpecMap->second.first] = itSpecMap->first; } for(RegExpIndices::const_iterator itCondType = vCondList.begin(); itCondType != vCondList.end(); ++itCondType) { o += indent(ind) + condEnumPrefix + *itCondType + ",\n"; } o += indent(--ind) + "};\n"; } void genHeader(std::ostream &o, uint ind, const RegExpMap& specMap) { o << "/* Generated by re2c " PACKAGE_VERSION; if (!bNoGenerationDate) { o << " on "; time_t now = time(&now); o.write(ctime(&now), 24); } o << " */\n"; o << headerFileInfo; o << "\n"; // now the type(s) genTypes(typesInline, ind, specMap); o << typesInline; } std::ostream& operator << (std::ostream& o, const file_info& li) { if (li.ln && !iFlag) { o << "#line " << li.ln->get_line() << " \"" << li.fname << "\"\n"; } return o; } void Scanner::config(const Str& cfg, int num) { if (cfg.to_string() == "indent:top") { if (num < 0) { fatal("configuration 'indent:top' must be a positive integer"); } topIndent = num; } else if (cfg.to_string() == "yybm:hex") { yybmHexTable = num != 0; } else if (cfg.to_string() == "startlabel") { bUseStartLabel = num != 0; startLabelName = ""; } else if (cfg.to_string() == "state:abort") { bUseStateAbort = num != 0; } else if (cfg.to_string() == "state:nextlabel") { bUseStateNext = num != 0; } else if (cfg.to_string() == "yyfill:enable") { bUseYYFill = num != 0; } else if (cfg.to_string() == "yyfill:parameter") { bUseYYFillParam = num != 0; } else if (cfg.to_string() == "yyfill:check") { bUseYYFillCheck = num != 0; } else if (cfg.to_string() == "cgoto:threshold") { cGotoThreshold = num; } else if (cfg.to_string() == "yych:conversion") { if (num) { yychConversion = "("; yychConversion += mapCodeName["YYCTYPE"]; yychConversion += ")"; } else { yychConversion = ""; } } else if (cfg.to_string() == "yych:emit") { bEmitYYCh = num != 0; } else if (cfg.to_string() == "define:YYFILL:naked") { bUseYYFillNaked = num != 0; } else if (cfg.to_string() == "define:YYGETCONDITION:naked") { bUseYYGetConditionNaked = num != 0; } else if (cfg.to_string() == "define:YYGETSTATE:naked") { bUseYYGetStateNaked = num != 0; } else if (cfg.to_string() == "define:YYSETSTATE:naked") { bUseYYSetStateNaked = num != 0; } else if (cfg.to_string() == "flags:u") { if (!rFlag) { fatalf("cannot use configuration name '%s' without -r flag", cfg.to_string().c_str()); } uFlag = num != 0; } else if (cfg.to_string() == "flags:w") { if (!rFlag) { fatalf("cannot use configuration name '%s' without -r flag", cfg.to_string().c_str()); } wFlag = num != 0; } else { fatalf("unrecognized configuration name '%s' or illegal integer value", cfg.to_string().c_str()); } } static std::set mapVariableKeys; static std::set mapDefineKeys; static std::set mapLabelKeys; void Scanner::config(const Str& cfg, const Str& val) { if (mapDefineKeys.empty()) { mapVariableKeys.insert("variable:yyaccept"); mapVariableKeys.insert("variable:yybm"); mapVariableKeys.insert("variable:yych"); mapVariableKeys.insert("variable:yyctable"); mapVariableKeys.insert("variable:yystable"); mapVariableKeys.insert("variable:yytarget"); mapDefineKeys.insert("define:YYCONDTYPE"); mapDefineKeys.insert("define:YYCTXMARKER"); mapDefineKeys.insert("define:YYCTYPE"); mapDefineKeys.insert("define:YYCURSOR"); mapDefineKeys.insert("define:YYDEBUG"); mapDefineKeys.insert("define:YYFILL"); mapDefineKeys.insert("define:YYGETCONDITION"); mapDefineKeys.insert("define:YYGETSTATE"); mapDefineKeys.insert("define:YYLIMIT"); mapDefineKeys.insert("define:YYMARKER"); mapDefineKeys.insert("define:YYSETCONDITION"); mapDefineKeys.insert("define:YYSETSTATE"); mapLabelKeys.insert("label:yyFillLabel"); mapLabelKeys.insert("label:yyNext"); } std::string strVal; if (val.len >= 2 && val.str[0] == val.str[val.len-1] && (val.str[0] == '"' || val.str[0] == '\'')) { SubStr tmp(val.str + 1, val.len - 2); unescape(tmp, strVal); } else { strVal = val.to_string(); } if (cfg.to_string() == "indent:string") { indString = strVal; } else if (cfg.to_string() == "startlabel") { startLabelName = strVal; bUseStartLabel = !startLabelName.empty(); } else if (cfg.to_string() == "labelprefix") { labelPrefix = strVal; } else if (cfg.to_string() == "condprefix") { condPrefix = strVal; } else if (cfg.to_string() == "condenumprefix") { condEnumPrefix = strVal; } else if (cfg.to_string() == "cond:divider") { condDivider = strVal; } else if (cfg.to_string() == "cond:divider@cond") { condDividerParam = strVal; } else if (cfg.to_string() == "cond:goto") { condGoto = strVal; } else if (cfg.to_string() == "cond:goto@cond") { condGotoParam = strVal; } else if (cfg.to_string() == "define:YYFILL@len") { yyFillLength = strVal; bUseYYFillParam = false; } else if (cfg.to_string() == "define:YYSETCONDITION@cond") { yySetConditionParam = strVal; bUseYYSetConditionParam = false; } else if (cfg.to_string() == "define:YYSETSTATE@state") { yySetStateParam = strVal; bUseYYSetStateParam = false; } else if (mapVariableKeys.find(cfg.to_string()) != mapVariableKeys.end()) { if ((bFirstPass || rFlag) && !mapCodeName.insert( std::make_pair(cfg.to_string().substr(sizeof("variable:") - 1), strVal) ).second) { fatalf("variable '%s' already being used and cannot be changed", cfg.to_string().c_str()); } } else if (mapDefineKeys.find(cfg.to_string()) != mapDefineKeys.end()) { if ((bFirstPass || rFlag) && !mapCodeName.insert( std::make_pair(cfg.to_string().substr(sizeof("define:") - 1), strVal) ).second) { fatalf("define '%s' already being used and cannot be changed", cfg.to_string().c_str()); } } else if (mapLabelKeys.find(cfg.to_string()) != mapLabelKeys.end()) { if ((bFirstPass || rFlag) && !mapCodeName.insert( std::make_pair(cfg.to_string().substr(sizeof("label:") - 1), strVal) ).second) { fatalf("label '%s' already being used and cannot be changed", cfg.to_string().c_str()); } } else { std::string msg = "unrecognized configuration name '"; msg += cfg.to_string(); msg += "' or illegal string value"; fatal(msg.c_str()); } } ScannerState::ScannerState() : tok(NULL), ptr(NULL), cur(NULL), pos(NULL), ctx(NULL) , bot(NULL), lim(NULL), top(NULL), eof(NULL) , tchar(0), tline(0), cline(1), iscfg(0) , in_parse(false) { } Scanner::Scanner(std::istream& i, std::ostream& o) : ScannerState(), in(i), out(o) { } char *Scanner::fill(char *cursor, uint need) { if(!eof) { uint cnt; /* Do not get rid of anything when rFlag is active. Otherwise * get rid of everything that was already handedout. */ if (!rFlag) { cnt = tok - bot; if (cnt) { memmove(bot, tok, top - tok); tok = bot; ptr -= cnt; cur -= cnt; pos -= cnt; lim -= cnt; ctx -= cnt; cursor -= cnt; } } /* In crease buffer size. */ if (BSIZE > need) { need = BSIZE; } if (static_cast(top - lim) < need) { char *buf = new char[(lim - bot) + need]; if (!buf) { fatal("Out of memory"); } memcpy(buf, bot, lim - bot); tok = &buf[tok - bot]; ptr = &buf[ptr - bot]; cur = &buf[cur - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[need]; ctx = &buf[ctx - bot]; cursor = &buf[cursor - bot]; delete [] bot; bot = buf; } /* Append to buffer. */ in.read(lim, need); if ((cnt = in.gcount()) != need) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } void Scanner::set_in_parse(bool new_in_parse) { in_parse = new_in_parse; } void Scanner::fatal_at(uint line, uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << line << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } void Scanner::fatal(uint ofs, const char *msg) const { fatal_at(in_parse ? tline : cline, ofs, msg); } void Scanner::fatalf_at(uint line, const char* fmt, ...) const { char szBuf[4096]; va_list args; va_start(args, fmt); vsnprintf(szBuf, sizeof(szBuf), fmt, args); va_end(args); szBuf[sizeof(szBuf)-1] = '0'; fatal_at(line, 0, szBuf); } void Scanner::fatalf(const char *fmt, ...) const { char szBuf[4096]; va_list args; va_start(args, fmt); vsnprintf(szBuf, sizeof(szBuf), fmt, args); va_end(args); szBuf[sizeof(szBuf)-1] = '0'; fatal(szBuf); } Scanner::~Scanner() { if (bot) { delete [] bot; } } void Scanner::check_token_length(char *pos, uint len) const { if (pos < bot || pos + len > top) { fatal("Token exceeds limit"); } } Str Scanner::raw_token(std::string enclosure) const { return Str(std::string(enclosure + token().to_string() + enclosure).c_str()); } void Scanner::reuse() { next_label = 0; next_fill_index = 0; bWroteGetState = false; bWroteCondCheck = false; mapCodeName.clear(); } void Scanner::restore_state(const ScannerState& state) { int diff = bot - state.bot; char *old_bot = bot; char *old_lim = lim; char *old_top = top; char *old_eof = eof; *(ScannerState*)this = state; if (diff) { tok -= diff; ptr -= diff; cur -= diff; pos -= diff; ctx -= diff; bot = old_bot; lim = old_lim; top = old_top; eof = old_eof; } } } // end namespace re2c re2c-0.13.5/dfa.cc0000664000076500007660000001400611016275332010433 00000000000000#include #include #include #include "globals.h" #include "substr.h" #include "dfa.h" namespace re2c { void prtChOrHex(std::ostream& o, uint c, bool useTalx) { int oc = (int)(re2c::wFlag || !useTalx ? c : re2c::talx[c]); if ((oc < 256) && (isprint(oc) || isspace(oc))) { o << (DFlag ? '"' : '\''); prtCh(o, c); o << (DFlag ? '"' : '\''); } else { if (DFlag) o << '"'; prtHex(o, c); if (DFlag) o << '"'; } } void prtHex(std::ostream& o, uint c, bool useTalx) { int oc = (int)(re2c::wFlag || !useTalx ? c : re2c::talx[c]); if (re2c::uFlag) { o << "0x" << hexCh(oc >> 28) << hexCh(oc >> 24) << hexCh(oc >> 20) << hexCh(oc >> 16) << hexCh(oc >> 12) << hexCh(oc >> 8) << hexCh(oc >> 4) << hexCh(oc); } else if (re2c::wFlag) { o << "0x" << hexCh(oc >> 12) << hexCh(oc >> 8) << hexCh(oc >> 4) << hexCh(oc); } else { o << "0x" << hexCh(oc >> 4) << hexCh(oc); } } void prtCh(std::ostream& o, uint c, bool useTalx) { int oc = (int)(re2c::wFlag || !useTalx ? c : re2c::talx[c]); switch (oc) { case '\'': o << (DFlag ? "'" : "\\'"); break; case '"': o << (DFlag ? "\\\"" : "\""); break; case '\n': o << "\\n"; break; case '\t': o << "\\t"; break; case '\v': o << "\\v"; break; case '\b': o << "\\b"; break; case '\r': o << "\\r"; break; case '\f': o << "\\f"; break; case '\a': o << "\\a"; break; case '\\': o << "\\\\"; break; default: if ((oc < 256) && isprint(oc)) { o << (char) oc; } else if (re2c::uFlag) { o << "0x" << hexCh(oc >> 20) << hexCh(oc >> 16) << hexCh(oc >> 12) << hexCh(oc >> 8) << hexCh(oc >> 4) << hexCh(oc); } else if (re2c::wFlag) { o << "0x" << hexCh(oc >> 12) << hexCh(oc >> 8) << hexCh(oc >> 4) << hexCh(oc); } else { o << '\\' << octCh(oc / 64) << octCh(oc / 8) << octCh(oc); } } } void printSpan(std::ostream& o, uint lb, uint ub) { if (lb > ub) { o << "*"; } o << "["; if ((ub - lb) == 1) { prtCh(o, lb); } else { prtCh(o, lb); o << "-"; prtCh(o, ub - 1); } o << "]"; } uint Span::show(std::ostream &o, uint lb) const { if (to) { printSpan(o, lb, ub); o << " " << to->label << "; "; } return ub; } std::ostream& operator<<(std::ostream &o, const State &s) { o << "state " << s.label; if (s.rule) { o << " accepts " << s.rule->accept; } o << "\n"; uint lb = 0; for (uint i = 0; i < s.go.nSpans; ++i) { lb = s.go.span[i].show(o, lb); } return o; } std::ostream& operator<<(std::ostream &o, const DFA &dfa) { for (State *s = dfa.head; s; s = s->next) { o << s << "\n\n"; } return o; } State::State() : label(0) , rule(NULL) , next(0) , link(NULL) , depth(0) , kCount(0) , kernel(NULL) , isPreCtxt(false) , isBase(false) , go() , action(NULL) { } State::~State() { delete action; delete [] kernel; delete [] go.span; } static Ins **closure(Ins **cP, Ins *i) { while (!isMarked(i)) { mark(i); *(cP++) = i; if (i->i.tag == FORK) { cP = closure(cP, i + 1); i = (Ins*) i->i.link; } else if (i->i.tag == GOTO || i->i.tag == CTXT) { i = (Ins*) i->i.link; } else break; } return cP; } struct GoTo { Char ch; void *to; }; DFA::DFA(Ins *ins, uint ni, uint lb, uint ub, const Char *rep) : lbChar(lb) , ubChar(ub) , nStates(0) , head(NULL) , tail(&head) , toDo(NULL) , free_ins(ins) , free_rep(rep) { Ins **work = new Ins * [ni + 1]; uint nc = ub - lb; GoTo *goTo = new GoTo[nc]; Span *span = new Span[nc]; memset((char*) goTo, 0, nc*sizeof(GoTo)); findState(work, closure(work, &ins[0]) - work); while (toDo) { State *s = toDo; toDo = s->link; Ins **cP, **iP, *i; uint nGoTos = 0; uint j; s->rule = NULL; for (iP = s->kernel; (i = *iP); ++iP) { if (i->i.tag == CHAR) { for (Ins *j = i + 1; j < (Ins*) i->i.link; ++j) { if (!(j->c.link = goTo[j->c.value - lb].to)) goTo[nGoTos++].ch = j->c.value; goTo[j->c.value - lb].to = j; } } else if (i->i.tag == TERM) { if (!s->rule || ((RuleOp*) i->i.link)->accept < s->rule->accept) s->rule = (RuleOp*) i->i.link; } else if (i->i.tag == CTXT) { s->isPreCtxt = true; } } for (j = 0; j < nGoTos; ++j) { GoTo *go = &goTo[goTo[j].ch - lb]; i = (Ins*) go->to; for (cP = work; i; i = (Ins*) i->c.link) cP = closure(cP, i + i->c.bump); go->to = findState(work, cP - work); } s->go.nSpans = 0; for (j = 0; j < nc;) { State *to = (State*) goTo[rep[j]].to; while (++j < nc && goTo[rep[j]].to == to) ; span[s->go.nSpans].ub = lb + j; span[s->go.nSpans].to = to; s->go.nSpans++; } for (j = nGoTos; j-- > 0;) goTo[goTo[j].ch - lb].to = NULL; s->go.span = new Span[s->go.nSpans]; memcpy((char*) s->go.span, (char*) span, s->go.nSpans*sizeof(Span)); (void) new Match(s); } delete [] work; delete [] goTo; delete [] span; } DFA::~DFA() { State *s; while ((s = head)) { head = s->next; delete s; } delete [] free_ins; delete [] free_rep; delete [] saves; delete [] rules; } void DFA::addState(State **a, State *s) { s->label = nStates++; s->next = *a; *a = s; if (a == tail) tail = &s->next; } State *DFA::findState(Ins **kernel, uint kCount) { Ins **cP, **iP, *i; State *s; kernel[kCount] = NULL; cP = kernel; for (iP = kernel; (i = *iP); ++iP) { if (i->i.tag == CHAR || i->i.tag == TERM || i->i.tag == CTXT) { *cP++ = i; } else { unmark(i); } } kCount = cP - kernel; kernel[kCount] = NULL; for (s = head; s; s = s->next) { if (s->kCount == kCount) { for (iP = s->kernel; (i = *iP); ++iP) if (!isMarked(i)) goto nextState; goto unmarkAll; } nextState: ; } s = new State; addState(tail, s); s->kCount = kCount; s->kernel = new Ins * [kCount + 1]; memcpy(s->kernel, kernel, (kCount + 1)*sizeof(Ins*)); s->link = toDo; toDo = s; unmarkAll: for (iP = kernel; (i = *iP); ++iP) unmark(i); return s; } } // end namespace re2c re2c-0.13.5/main.cc0000664000076500007660000002550511016275332010633 00000000000000/* $Id: main.cc 858 2008-04-03 20:53:44Z helly $ */ #ifdef HAVE_CONFIG_H #include "config.h" #elif defined(_WIN32) #include "config_w32.h" #endif #include #include #include #include #include "globals.h" #include "parser.h" #include "dfa.h" #include "mbo_getopt.h" namespace re2c { file_info sourceFileInfo; file_info outputFileInfo; file_info headerFileInfo; bool bFlag = false; bool cFlag = false; bool dFlag = false; bool DFlag = false; bool eFlag = false; bool fFlag = false; bool FFlag = false; bool gFlag = false; bool iFlag = false; bool rFlag = false; bool sFlag = false; bool tFlag = false; bool uFlag = false; bool wFlag = false; bool bNoGenerationDate = false; bool bSinglePass = false; bool bFirstPass = true; bool bLastPass = false; bool bUsedYYBitmap = false; bool bUsedYYAccept = false; bool bUsedYYMaxFill = false; bool bUsedYYMarker = true; bool bEmitYYCh = true; bool bUseStartLabel = false; bool bUseStateNext = false; bool bUseYYFill = true; bool bUseYYFillParam = true; bool bUseYYFillCheck = true; bool bUseYYFillNaked = false; bool bUseYYSetConditionParam = true; bool bUseYYGetConditionNaked = false; bool bUseYYSetStateParam = true; bool bUseYYSetStateNaked = false; bool bUseYYGetStateNaked = false; std::string startLabelName; std::string labelPrefix("yy"); std::string condPrefix("yyc_"); std::string condEnumPrefix("yyc"); std::string condDivider("/* *********************************** */"); std::string condDividerParam("@@"); std::string condGoto("goto @@;"); std::string condGotoParam("@@"); std::string yychConversion(""); std::string yyFillLength("@@"); std::string yySetConditionParam("@@"); std::string yySetStateParam("@@"); std::string yySetupRule(""); uint maxFill = 1; uint next_label = 0; uint cGotoThreshold = 9; uint topIndent = 0; std::string indString("\t"); bool yybmHexTable = false; bool bUseStateAbort = false; bool bWroteGetState = false; bool bWroteCondCheck = false; bool bCaseInsensitive = false; bool bCaseInverted = false; bool bTypesDone = false; uint nRealChars = 256; uint next_fill_index = 0; uint last_fill_index = 0; std::set vUsedLabels; CodeNames mapCodeName; std::string typesInline; free_list RegExp::vFreeList; free_list Range::vFreeList; using namespace std; static char *opt_arg = NULL; static int opt_ind = 1; static const mbo_opt_struct OPTIONS[] = { mbo_opt_struct('?', 0, "help"), mbo_opt_struct('b', 0, "bit-vectors"), mbo_opt_struct('c', 0, "start-conditions"), mbo_opt_struct('d', 0, "debug-output"), mbo_opt_struct('D', 0, "emit-dot"), mbo_opt_struct('e', 0, "ecb"), mbo_opt_struct('f', 0, "storable-state"), mbo_opt_struct('F', 0, "flex-syntax"), mbo_opt_struct('g', 0, "computed-gotos"), mbo_opt_struct('h', 0, "help"), mbo_opt_struct('i', 0, "no-debug-info"), mbo_opt_struct('o', 1, "output"), mbo_opt_struct('r', 0, "reusable"), mbo_opt_struct('s', 0, "nested-ifs"), mbo_opt_struct('t', 1, "type-header"), mbo_opt_struct('u', 0, "unicode"), mbo_opt_struct('v', 0, "version"), mbo_opt_struct('V', 0, "vernum"), mbo_opt_struct('w', 0, "wide-chars"), mbo_opt_struct('1', 0, "single-pass"), mbo_opt_struct(10, 0, "no-generation-date"), mbo_opt_struct(11, 0, "case-insensitive"), mbo_opt_struct(12, 0, "case-inverted"), mbo_opt_struct('-', 0, NULL) /* end of args */ }; static void usage() { std::cerr << "usage: re2c [-bcdDefFghirsuvVw1] [-o of] [-t th] file\n" "\n" "-? -h --help Display this info.\n" "\n" "-b --bit-vectors Implies -s. Use bit vectors as well in the attempt to\n" " coax better code out of the compiler. Most useful for\n" " specifications with more than a few keywords (e.g. for\n" " most programming languages).\n" "\n" "-c --conditions Require start conditions.\n" "\n" "-d --debug-output Creates a parser that dumps information during\n" " about the current position and in which state the\n" " parser is.\n" "\n" "-D --emit-dot Emit a Graphviz dot view of the DFA graph\n" "\n" "-e --ecb Cross-compile from an ASCII platform to an EBCDIC one.\n" " This cannot be combined with -w, -u or -r.\n" "\n" "-f --storable-state Generate a scanner that supports storable states.\n" "\n" "-F --flex-syntax Partial support for flex syntax.\n" "\n" "-g --computed-gotos Implies -b. Generate computed goto code (only useable\n" " with gcc).\n" "\n" "-i --no-debug-info Do not generate '#line' info (usefull for versioning).\n" "\n" "-o of --output=of Specify the output file (of) instead of stdout\n" "\n" "-r --reusable Allow reuse of scanner definitions.\n" " This cannot be used together with -e switch.\n" "\n" "-s --nested-ifs Generate nested ifs for some switches. Many compilers\n" " need this assist to generate better code.\n" "\n" "-t th --type-header=th Generate a type header file (th) with type definitions.\n" "\n" "-u --unicode Implies -w but supports the full Unicode character set.\n" " This cannot be used together with -e switch.\n" "\n" "-v --version Show version information.\n" "\n" "-V --vernum Show version as one number.\n" "\n" "-w --wide-chars Create a parser that supports wide chars (UCS-2). This\n" " implies -s and cannot be used together with -e switch.\n" "\n" "-1 --single-pass Force single pass generation, this cannot be combined\n" " with -f and disables YYMAXFILL generation prior to last\n" " re2c block.\n" "\n" "--no-generation-date Suppress date output in the generated output so that it\n" " only shows the re2c version.\n" "\n" "--case-insensitive All strings are case insensitive, so all \"-expressions\n" " are treated in the same way '-expressions are.\n" "\n" "--case-inverted Invert the meaning of single and double quoted strings.\n" " With this switch single quotes are case sensitive and\n" " double quotes are case insensitive.\n" ; } } // end namespace re2c using namespace re2c; int main(int argc, char *argv[]) { int c; const char *sourceFileName = 0; const char *outputFileName = 0; const char *headerFileName = 0; if (argc == 1) { usage(); return 2; } while ((c = mbo_getopt(argc, argv, OPTIONS, &opt_arg, &opt_ind, 1)) != -1) { switch (c) { case 'b': bFlag = true; sFlag = true; break; case 'c': cFlag = true; break; case 'e': xlat = asc2ebc; talx = ebc2asc; eFlag = true; break; case 'd': dFlag = true; break; case 'D': DFlag = true; iFlag = true; break; case 'f': fFlag = true; break; case 'F': FFlag = true; break; case 'g': gFlag = true; bFlag = true; sFlag = true; break; case 'i': iFlag = true; break; case 'o': outputFileName = opt_arg; break; case 'r': rFlag = true; break; case 's': sFlag = true; break; case 't': tFlag = true; headerFileName = opt_arg; break; case '1': bSinglePass = true; break; case 'v': cout << "re2c " << PACKAGE_VERSION << "\n"; return 2; case 'V': { string vernum(PACKAGE_VERSION); if (vernum[1] == '.') { vernum.insert(0, "0"); } vernum.erase(2, 1); if (vernum[3] == '.') { vernum.insert(2, "0"); } vernum.erase(4, 1); if (vernum.length() < 6 || vernum[5] < '0' || vernum[5] > '9') { vernum.insert(4, "0"); } vernum.resize(6); cout << vernum << endl; return 2; } case 'w': nRealChars = (1<<16); /* 0x10000 */ sFlag = true; wFlag = true; break; case 'u': nRealChars = 0x110000; /* 17 times w-Flag */ sFlag = true; uFlag = true; break; default: case 'h': case '?': usage(); return 2; case 10: bNoGenerationDate = true; break; case 11: bCaseInsensitive = true; break; case 12: bCaseInverted = true; break; } } if ((bFlag || fFlag) && bSinglePass) { std::cerr << "re2c: error: Cannot combine -1 and -b or -f switch\n"; return 1; } if (!cFlag && headerFileName) { std::cerr << "re2c: error: Can only output a header file when using -c switch\n"; return 2; } if (rFlag && eFlag) { std::cerr << "re2c: error: Cannot combine -e with -r switch\n"; return 2; } if (wFlag && eFlag) { std::cerr << "re2c: error: Cannot combine -e with -w or -u switch\n"; return 2; } if (wFlag && uFlag) { std::cerr << "re2c: error: Cannot combine -u with -w switch\n"; return 2; } if (dFlag && DFlag) { std::cerr << "re2c: error: Cannot combine -d with -D switch\n"; return 2; } if (uFlag) { wFlag = true; } if (argc == opt_ind + 1) { sourceFileName = argv[opt_ind]; } else { std::cerr << "Unexpected argument: " << argv[argc-1] << "\n\n"; usage(); return 2; } // set up the source stream re2c::ifstream_lc source; if (sourceFileName[0] == '-' && sourceFileName[1] == '\0') { if (fFlag) { std::cerr << "re2c: error: multiple /*!re2c stdin is not acceptable when -f is specified\n"; return 1; } sourceFileName = ""; source.open(stdin); } else if (!source.open(sourceFileName).is_open()) { cerr << "re2c: error: cannot open " << sourceFileName << "\n"; return 1; } // set up the output stream re2c::ofstream_lc output; re2c::ofstream_lc header; if (outputFileName == 0 || (sourceFileName[0] == '-' && sourceFileName[1] == '\0')) { outputFileName = ""; output.open(stdout); } else if (!output.open(outputFileName).is_open()) { cerr << "re2c: error: cannot open " << outputFileName << "\n"; return 1; } if (headerFileName) { if (!header.open(headerFileName).is_open()) { cerr << "re2c: error: cannot open " << headerFileName << "\n"; return 1; } headerFileInfo = file_info(headerFileName, &header); } Scanner scanner(source, output); sourceFileInfo = file_info(sourceFileName, &scanner); outputFileInfo = file_info(outputFileName, &output); if (!bSinglePass) { bUsedYYMarker = false; re2c::ifstream_lc null_source; if (!null_source.open(sourceFileName).is_open()) { cerr << "re2c: error: cannot re-open " << sourceFileName << "\n"; return 1; } null_stream null_dev; Scanner null_scanner(null_source, null_dev); parse(null_scanner, null_dev, NULL); next_label = 0; next_fill_index = 0; bWroteGetState = false; bWroteCondCheck = false; bUsedYYMaxFill = false; bFirstPass = false; sourceFileInfo.set_fname(sourceFileName); } bLastPass = true; parse(scanner, output, header.is_open() ? &header : NULL); return 0; } re2c-0.13.5/parser.cc0000664000076500007660000017152011016275373011207 00000000000000/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.3" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 0 /* Using locations. */ #define YYLSP_NEEDED 0 /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CLOSESIZE = 258, CLOSE = 259, STAR = 260, NOCOND = 261, ID = 262, CODE = 263, RANGE = 264, STRING = 265, CONFIG = 266, VALUE = 267, NUMBER = 268, SETUP = 269, FID = 270 }; #endif /* Tokens. */ #define CLOSESIZE 258 #define CLOSE 259 #define STAR 260 #define NOCOND 261 #define ID 262 #define CODE 263 #define RANGE 264 #define STRING 265 #define CONFIG 266 #define VALUE 267 #define NUMBER 268 #define SETUP 269 #define FID 270 /* Copy the first part of user declarations. */ #line 1 "parser.y" /* $Id: parser.y 858 2008-04-03 20:53:44Z helly $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include "globals.h" #include "parser.h" #include "basics.h" #include "dfa.h" #define YYMALLOC malloc #define YYFREE free using namespace re2c; extern "C" { int yylex(); void yyerror(const char*); } static re2c::uint accept; static re2c::RegExpMap specMap; static RegExp *spec = NULL, *specNone = NULL; static RuleOpList specStar; static Scanner *in = NULL; static Scanner::ParseMode parseMode; static SetupMap ruleSetupMap; static bool foundRules; /* Bison version 1.875 emits a definition that is not working * with several g++ version. Hence we disable it here. */ #if defined(__GNUC__) #define __attribute__(x) #endif /* strdup() isn't standard C, so if we don't have it, we'll create our * own version */ #if !defined(HAVE_STRDUP) static char* strdup(const char* s) { char* rv = (char*)malloc(strlen(s) + 1); if (rv == NULL) { return NULL; } strcpy(rv, s); return rv; } #endif void context_check(CondList *clist) { if (!cFlag) { delete clist; in->fatal("conditions are only allowed when using -c switch"); } } void context_none(CondList *clist) { delete clist; context_check(NULL); in->fatal("no expression specified"); } void context_rule(CondList *clist, RegExp *expr, RegExp *look, Str *newcond, Token *code) { context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { //Str *condcpy = newcond ? new Str(*newcond) : newcond; Token *token = new Token(code, sourceFileInfo, newcond);//condcpy); RuleOp *rule = new RuleOp(expr, look, token, accept++); RegExpMap::iterator itRE = specMap.find(*it); if (itRE != specMap.end()) { itRE->second.second = mkAlt(itRE->second.second, rule); } else { size_t nIndex = specMap.size() + 1; // 0 is reserved for "0"-spec specMap[*it] = std::make_pair(nIndex, rule); } } delete clist; delete newcond; delete code; } void setup_rule(CondList *clist, Token *code) { assert(clist); assert(code); context_check(clist); if (bFirstPass) { for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (ruleSetupMap.find(*it) != ruleSetupMap.end()) { in->fatalf_at(code->line, "code to setup rule '%s' is already defined", it->c_str()); } ruleSetupMap[*it] = std::make_pair(code->line, code->text.to_string()); } } delete clist; delete code; } /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 131 "parser.y" { re2c::Symbol *symbol; re2c::RegExp *regexp; re2c::Token *token; char op; int number; re2c::ExtOp extop; re2c::Str *str; re2c::CondList *clist; } /* Line 187 of yacc.c. */ #line 265 "parser.cc" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif /* Copy the second part of user declarations. */ /* Line 216 of yacc.c. */ #line 278 "parser.cc" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int i) #else static int YYID (i) int i; #endif { return i; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss; YYSTYPE yyvs; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack, Stack, yysize); \ Stack = &yyptr->Stack; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 2 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 96 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 27 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 14 /* YYNRULES -- Number of rules. */ #define YYNRULES 48 /* YYNRULES -- Number of states. */ #define YYNSTATES 91 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 270 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint8 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 25, 26, 2, 2, 22, 2, 2, 18, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 21, 17, 19, 16, 20, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 24, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint8 yyprhs[] = { 0, 0, 3, 4, 7, 10, 15, 18, 23, 27, 32, 37, 41, 49, 57, 64, 71, 79, 87, 94, 101, 105, 109, 114, 119, 120, 122, 124, 128, 129, 133, 134, 137, 139, 143, 145, 149, 151, 154, 156, 159, 162, 164, 166, 169, 172, 174, 176, 178 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int8 yyrhs[] = { 28, 0, -1, -1, 28, 30, -1, 28, 29, -1, 7, 16, 35, 17, -1, 15, 35, -1, 7, 16, 35, 18, -1, 15, 35, 18, -1, 11, 16, 12, 17, -1, 11, 16, 13, 17, -1, 35, 34, 8, -1, 19, 31, 20, 35, 34, 33, 8, -1, 19, 31, 20, 35, 34, 21, 33, -1, 19, 31, 20, 34, 33, 8, -1, 19, 31, 20, 34, 21, 33, -1, 19, 5, 20, 35, 34, 33, 8, -1, 19, 5, 20, 35, 34, 21, 33, -1, 19, 5, 20, 34, 33, 8, -1, 19, 5, 20, 34, 21, 33, -1, 6, 33, 8, -1, 6, 21, 33, -1, 14, 5, 20, 8, -1, 14, 31, 20, 8, -1, -1, 32, -1, 7, -1, 32, 22, 7, -1, -1, 16, 20, 7, -1, -1, 18, 35, -1, 36, -1, 35, 23, 36, -1, 37, -1, 36, 24, 37, -1, 38, -1, 37, 38, -1, 40, -1, 40, 39, -1, 40, 3, -1, 4, -1, 5, -1, 39, 4, -1, 39, 5, -1, 7, -1, 9, -1, 10, -1, 25, 35, 26, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 160, 160, 162, 166, 170, 178, 186, 190, 194, 200, 208, 217, 221, 226, 231, 237, 245, 253, 258, 264, 276, 288, 294, 302, 305, 312, 317, 326, 329, 337, 340, 347, 351, 358, 362, 373, 377, 384, 388, 403, 410, 414, 418, 422, 429, 437, 441, 445 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "CLOSESIZE", "CLOSE", "STAR", "NOCOND", "ID", "CODE", "RANGE", "STRING", "CONFIG", "VALUE", "NUMBER", "SETUP", "FID", "'='", "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'", "'('", "')'", "$accept", "spec", "decl", "rule", "cond", "clist", "newcond", "look", "expr", "diff", "term", "factor", "close", "primary", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 61, 59, 47, 60, 62, 58, 44, 124, 92, 40, 41 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint8 yyr1[] = { 0, 27, 28, 28, 28, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 0, 2, 2, 4, 2, 4, 3, 4, 4, 3, 7, 7, 6, 6, 7, 7, 6, 6, 3, 3, 4, 4, 0, 1, 1, 3, 0, 3, 0, 2, 1, 3, 1, 3, 1, 2, 1, 2, 2, 1, 1, 2, 2, 1, 1, 1, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint8 yydefact[] = { 2, 0, 1, 28, 45, 46, 47, 0, 24, 0, 24, 0, 4, 3, 30, 32, 34, 36, 38, 0, 28, 0, 0, 0, 0, 26, 0, 25, 45, 6, 0, 0, 0, 0, 0, 0, 0, 37, 40, 41, 42, 39, 0, 21, 20, 0, 0, 0, 0, 0, 0, 8, 30, 30, 48, 31, 33, 11, 35, 43, 44, 29, 5, 7, 9, 10, 22, 23, 27, 28, 30, 28, 30, 28, 0, 28, 28, 0, 28, 19, 18, 28, 0, 15, 14, 28, 0, 17, 16, 13, 12 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int8 yydefgoto[] = { -1, 1, 12, 13, 26, 27, 21, 35, 14, 15, 16, 17, 41, 18 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -47 static const yytype_int8 yypact[] = { -47, 2, -47, -11, -1, -47, -47, 27, 64, 23, 65, 23, -47, -47, 17, 15, 23, -47, 63, 30, 48, 67, 23, 6, 56, -47, 57, 58, -47, 18, 59, 61, 37, 23, 23, 70, 23, -47, -47, -47, -47, 69, 75, -47, -47, 11, 66, 68, 76, 78, 80, -47, 13, 13, -47, 71, 15, -47, 23, -47, -47, -47, -47, -47, -47, -47, -47, -47, -47, 21, 17, 31, 17, 48, 81, 38, 48, 82, 41, -47, -47, 48, 83, -47, -47, 48, 84, -47, -47, -47, -47 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int8 yypgoto[] = { -47, -47, -47, -47, 85, -47, -20, -46, -8, 54, 60, -12, -47, -47 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -1 static const yytype_uint8 yytable[] = { 43, 29, 2, 32, 37, 19, 69, 71, 3, 4, 20, 5, 6, 7, 45, 22, 8, 9, 46, 47, 28, 10, 5, 6, 75, 55, 78, 11, 62, 63, 28, 33, 5, 6, 34, 33, 51, 19, 11, 36, 34, 34, 73, 23, 70, 72, 37, 19, 11, 74, 42, 77, 76, 79, 19, 82, 83, 19, 86, 81, 34, 87, 85, 54, 19, 89, 38, 39, 40, 24, 30, 25, 25, 59, 60, 44, 48, 49, 57, 52, 50, 53, 61, 64, 66, 65, 67, 68, 56, 80, 84, 88, 90, 0, 34, 31, 58 }; static const yytype_int8 yycheck[] = { 20, 9, 0, 11, 16, 16, 52, 53, 6, 7, 21, 9, 10, 11, 22, 16, 14, 15, 12, 13, 7, 19, 9, 10, 70, 33, 72, 25, 17, 18, 7, 18, 9, 10, 23, 18, 18, 16, 25, 24, 23, 23, 21, 16, 52, 53, 58, 16, 25, 69, 20, 71, 21, 73, 16, 75, 76, 16, 78, 21, 23, 81, 21, 26, 16, 85, 3, 4, 5, 5, 5, 7, 7, 4, 5, 8, 20, 20, 8, 20, 22, 20, 7, 17, 8, 17, 8, 7, 34, 8, 8, 8, 8, -1, 23, 10, 36 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint8 yystos[] = { 0, 28, 0, 6, 7, 9, 10, 11, 14, 15, 19, 25, 29, 30, 35, 36, 37, 38, 40, 16, 21, 33, 16, 16, 5, 7, 31, 32, 7, 35, 5, 31, 35, 18, 23, 34, 24, 38, 3, 4, 5, 39, 20, 33, 8, 35, 12, 13, 20, 20, 22, 18, 20, 20, 26, 35, 36, 8, 37, 4, 5, 7, 17, 18, 17, 17, 8, 8, 7, 34, 35, 34, 35, 21, 33, 34, 21, 33, 34, 33, 8, 21, 33, 33, 8, 21, 33, 33, 8, 33, 8 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (YYLEX_PARAM) #else # define YYLEX yylex () #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *bottom, yytype_int16 *top) #else static void yy_stack_print (bottom, top) yytype_int16 *bottom; yytype_int16 *top; #endif { YYFPRINTF (stderr, "Stack now"); for (; bottom <= top; ++bottom) YYFPRINTF (stderr, " %d", *bottom); YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule) #else static void yy_reduce_print (yyvsp, yyrule) YYSTYPE *yyvsp; int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { fprintf (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); fprintf (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /* The look-ahead symbol. */ int yychar; /* The semantic value of the look-ahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; /*----------. | yyparse. | `----------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () #endif #endif { int yystate; int yyn; int yyresult; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* Look-ahead token as an internal (translated) token number. */ int yytoken = 0; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif /* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss = yyssa; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs = yyvsa; YYSTYPE *yyvsp; #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) YYSIZE_T yystacksize = YYINITDEPTH; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss); YYSTACK_RELOCATE (yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a look-ahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to look-ahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a look-ahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } if (yyn == YYFINAL) YYACCEPT; /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the look-ahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token unless it is eof. */ if (yychar != YYEOF) yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: #line 160 "parser.y" { } break; case 3: #line 163 "parser.y" { foundRules = true; } break; case 5: #line 171 "parser.y" { if ((yyvsp[(1) - (4)].symbol)->re) { in->fatal("sym already defined"); } (yyvsp[(1) - (4)].symbol)->re = (yyvsp[(3) - (4)].regexp); } break; case 6: #line 179 "parser.y" { if ((yyvsp[(1) - (2)].symbol)->re) { in->fatal("sym already defined"); } (yyvsp[(1) - (2)].symbol)->re = (yyvsp[(2) - (2)].regexp); } break; case 7: #line 187 "parser.y" { in->fatal("trailing contexts are not allowed in named definitions"); } break; case 8: #line 191 "parser.y" { in->fatal("trailing contexts are not allowed in named definitions"); } break; case 9: #line 195 "parser.y" { in->config(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].str)); delete (yyvsp[(1) - (4)].str); delete (yyvsp[(3) - (4)].str); } break; case 10: #line 201 "parser.y" { in->config(*(yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].number)); delete (yyvsp[(1) - (4)].str); } break; case 11: #line 209 "parser.y" { if (cFlag) { in->fatal("condition or '<*>' required when using -c switch"); } (yyval.regexp) = new RuleOp((yyvsp[(1) - (3)].regexp), (yyvsp[(2) - (3)].regexp), (yyvsp[(3) - (3)].token), accept++); spec = spec? mkAlt(spec, (yyval.regexp)) : (yyval.regexp); } break; case 12: #line 218 "parser.y" { context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(6) - (7)].str), (yyvsp[(7) - (7)].token)); } break; case 13: #line 222 "parser.y" { assert((yyvsp[(7) - (7)].str)); context_rule((yyvsp[(2) - (7)].clist), (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(7) - (7)].str), NULL); } break; case 14: #line 227 "parser.y" { context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(5) - (6)].str); } break; case 15: #line 232 "parser.y" { assert((yyvsp[(6) - (6)].str)); context_none((yyvsp[(2) - (6)].clist)); delete (yyvsp[(6) - (6)].str); } break; case 16: #line 238 "parser.y" { context_check(NULL); Token *token = new Token((yyvsp[(7) - (7)].token), (yyvsp[(7) - (7)].token)->source, (yyvsp[(7) - (7)].token)->line, (yyvsp[(6) - (7)].str)); delete (yyvsp[(7) - (7)].token); delete (yyvsp[(6) - (7)].str); specStar.push_back(new RuleOp((yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), token, accept++)); } break; case 17: #line 246 "parser.y" { assert((yyvsp[(7) - (7)].str)); context_check(NULL); Token *token = new Token(NULL, sourceFileInfo, (yyvsp[(7) - (7)].str)); delete (yyvsp[(7) - (7)].str); specStar.push_back(new RuleOp((yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), token, accept++)); } break; case 18: #line 254 "parser.y" { context_none(NULL); delete (yyvsp[(5) - (6)].str); } break; case 19: #line 259 "parser.y" { assert((yyvsp[(6) - (6)].str)); context_none(NULL); delete (yyvsp[(6) - (6)].str); } break; case 20: #line 265 "parser.y" { context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token((yyvsp[(3) - (3)].token), (yyvsp[(3) - (3)].token)->source, (yyvsp[(3) - (3)].token)->line, (yyvsp[(2) - (3)].str)); delete (yyvsp[(2) - (3)].str); delete (yyvsp[(3) - (3)].token); (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } break; case 21: #line 277 "parser.y" { assert((yyvsp[(3) - (3)].str)); context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token(NULL, sourceFileInfo, (yyvsp[(3) - (3)].str)); delete (yyvsp[(3) - (3)].str); (yyval.regexp) = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } break; case 22: #line 289 "parser.y" { CondList *clist = new CondList(); clist->insert("*"); setup_rule(clist, (yyvsp[(4) - (4)].token)); } break; case 23: #line 295 "parser.y" { setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].token)); } break; case 24: #line 302 "parser.y" { in->fatal("unnamed condition not supported"); } break; case 25: #line 306 "parser.y" { (yyval.clist) = (yyvsp[(1) - (1)].clist); } break; case 26: #line 313 "parser.y" { (yyval.clist) = new CondList(); (yyval.clist)->insert((yyvsp[(1) - (1)].symbol)->GetName().to_string()); } break; case 27: #line 318 "parser.y" { (yyvsp[(1) - (3)].clist)->insert((yyvsp[(3) - (3)].symbol)->GetName().to_string()); (yyval.clist) = (yyvsp[(1) - (3)].clist); } break; case 28: #line 326 "parser.y" { (yyval.str) = NULL; } break; case 29: #line 330 "parser.y" { (yyval.str) = new Str((yyvsp[(3) - (3)].symbol)->GetName().to_string().c_str()); } break; case 30: #line 337 "parser.y" { (yyval.regexp) = new NullOp; } break; case 31: #line 341 "parser.y" { (yyval.regexp) = (yyvsp[(2) - (2)].regexp); } break; case 32: #line 348 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 33: #line 352 "parser.y" { (yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); } break; case 34: #line 359 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 35: #line 363 "parser.y" { (yyval.regexp) = mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp)); if(!(yyval.regexp)) { in->fatal("can only difference char sets"); } } break; case 36: #line 374 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 37: #line 378 "parser.y" { (yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp)); } break; case 38: #line 385 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 39: #line 389 "parser.y" { switch((yyvsp[(2) - (2)].op)) { case '*': (yyval.regexp) = mkAlt(new CloseOp((yyvsp[(1) - (2)].regexp)), new NullOp()); break; case '+': (yyval.regexp) = new CloseOp((yyvsp[(1) - (2)].regexp)); break; case '?': (yyval.regexp) = mkAlt((yyvsp[(1) - (2)].regexp), new NullOp()); break; } } break; case 40: #line 404 "parser.y" { (yyval.regexp) = new CloseVOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).minsize, (yyvsp[(2) - (2)].extop).maxsize); } break; case 41: #line 411 "parser.y" { (yyval.op) = (yyvsp[(1) - (1)].op); } break; case 42: #line 415 "parser.y" { (yyval.op) = (yyvsp[(1) - (1)].op); } break; case 43: #line 419 "parser.y" { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; } break; case 44: #line 423 "parser.y" { (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*'; } break; case 45: #line 430 "parser.y" { if(!(yyvsp[(1) - (1)].symbol)->re) { in->fatal("can't find symbol"); } (yyval.regexp) = (yyvsp[(1) - (1)].symbol)->re; } break; case 46: #line 438 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 47: #line 442 "parser.y" { (yyval.regexp) = (yyvsp[(1) - (1)].regexp); } break; case 48: #line 446 "parser.y" { (yyval.regexp) = (yyvsp[(2) - (3)].regexp); } break; /* Line 1267 of yacc.c. */ #line 1936 "parser.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (yymsg); } else { yyerror (YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse look-ahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse look-ahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } if (yyn == YYFINAL) YYACCEPT; *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #ifndef yyoverflow /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEOF && yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); } #line 451 "parser.y" extern "C" { void yyerror(const char* s) { in->fatal(s); } int yylex(){ return in ? in->scan() : 0; } } // end extern "C" namespace re2c { void parse(Scanner& i, std::ostream& o, std::ostream* h) { std::map dfa_map; ScannerState rules_state; in = &i; o << "/* Generated by re2c " PACKAGE_VERSION; if (!bNoGenerationDate) { o << " on "; time_t now = time(&now); o.write(ctime(&now), 24); } o << " */\n"; o << sourceFileInfo; bool uFlagOld = uFlag; bool wFlagOld = wFlag; uint nRealCharsOld = nRealChars; while ((parseMode = i.echo()) != Scanner::Stop) { bool bPrologBrace = false; ScannerState curr_state; i.save_state(curr_state); foundRules = false; if (rFlag && parseMode == Scanner::Rules && dfa_map.size()) { in->fatal("cannot have a second 'rules:re2c' block"); } if (parseMode == Scanner::Reuse) { if (dfa_map.empty()) { in->fatal("got 'use:re2c' without 'rules:re2c'"); } } else if (parseMode == Scanner::Rules) { i.save_state(rules_state); } else { dfa_map.clear(); } accept = 0; spec = NULL; in->set_in_parse(true); yyparse(); in->set_in_parse(false); if (rFlag && parseMode == Scanner::Reuse) { uint nRealCharsLast = nRealChars; if (uFlag) { nRealChars = 0x110000; // 17 times w-Flag } else if (wFlag) { nRealChars = (1<<16); // 0x10000 } else { nRealChars = (1<<8); // 0x100 } if (foundRules || nRealCharsLast != nRealChars) { // Re-parse rules parseMode = Scanner::Parse; i.restore_state(rules_state); i.reuse(); dfa_map.clear(); parse_cleanup(); spec = NULL; accept = 0; in->set_in_parse(true); yyparse(); in->set_in_parse(false); // Now append potential new rules i.restore_state(curr_state); parseMode = Scanner::Parse; in->set_in_parse(true); yyparse(); in->set_in_parse(false); } uFlagOld = uFlag; wFlagOld = wFlag; nRealCharsOld = nRealChars; } if (cFlag) { RegExpMap::iterator it; SetupMap::const_iterator itRuleSetup; if (parseMode != Scanner::Reuse) { if (!specStar.empty()) { for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { it->second.second = mkAlt((*itOp)->copy(accept++), it->second.second); } } } if (specNone) { // After merging star rules merge none code to specmap // this simplifies some stuff. // Note that "0" inserts first, which is important. specMap["0"] = std::make_pair(0, specNone); } else { // We reserved 0 for specNone but it is not present, // so we can decrease all specs. for (it = specMap.begin(); it != specMap.end(); ++it) { it->second.first--; } } } size_t nCount = specMap.size(); for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); if (parseMode != Scanner::Reuse) { itRuleSetup = ruleSetupMap.find(it->first); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { yySetupRule = ""; } } dfa_map[it->first] = genCode(it->second.second); dfa_map[it->first]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end()) { dfa_map[it->first]->emit(o, topIndent, &specMap, it->first, !--nCount, bPrologBrace); } } if (!h && !bTypesDone) { genTypes(typesInline, 0, specMap); } } else if (spec || !dfa_map.empty()) { if (parseMode != Scanner::Reuse) { dfa_map[""] = genCode(spec); dfa_map[""]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end()) { dfa_map[""]->emit(o, topIndent, NULL, "", 0, bPrologBrace); } } o << sourceFileInfo; /* restore original char handling mode*/ uFlag = uFlagOld; wFlag = wFlagOld; nRealChars = nRealCharsOld; } if (cFlag) { SetupMap::const_iterator itRuleSetup; for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup) { if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end()) { in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str()); } } if (specMap.size() < ruleSetupMap.size()) { uint line = in->get_cline(); itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { line = itRuleSetup->second.first; } in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly"); } } if (h) { genHeader(*h, 0, specMap); } parse_cleanup(); in = NULL; } void parse_cleanup() { RegExp::vFreeList.clear(); Range::vFreeList.clear(); Symbol::ClearTable(); specMap.clear(); specStar.clear(); specNone = NULL; } } // end namespace re2c re2c-0.13.5/actions.cc0000664000076500007660000004044311016275332011345 00000000000000/* $Id: actions.cc 850 2008-03-24 01:05:08Z helly $ */ #include #include #include #include #include #include "globals.h" #include "parser.h" #include "dfa.h" namespace re2c { void Symbol::ClearTable() { for (SymbolTable::iterator it = symbol_table.begin(); it != symbol_table.end(); ++it) { delete it->second; } symbol_table.clear(); } Symbol::SymbolTable Symbol::symbol_table; Symbol *Symbol::find(const SubStr &str) { const std::string ss(str.to_string()); SymbolTable::const_iterator it = symbol_table.find(ss); if (it == symbol_table.end()) { return (*symbol_table.insert(SymbolTable::value_type(ss, new Symbol(str))).first).second; } return (*it).second; } void showIns(std::ostream &o, const Ins &i, const Ins &base) { o.width(3); o << &i - &base << ": "; switch (i.i.tag) { case CHAR: { o << "match "; for (const Ins *j = &(&i)[1]; j < (Ins*) i.i.link; ++j) prtCh(o, j->c.value); break; } case GOTO: o << "goto " << ((Ins*) i.i.link - &base); break; case FORK: o << "fork " << ((Ins*) i.i.link - &base); break; case CTXT: o << "ctxt"; break; case TERM: o << "term " << ((RuleOp*) i.i.link)->accept; break; } o << "\n"; } uint RegExp::fixedLength() { return ~0u; } const char *NullOp::type = "NullOp"; void NullOp::calcSize(Char*) { size = 0; } uint NullOp::fixedLength() { return 0; } void NullOp::compile(Char*, Ins*) { ; } void NullOp::split(CharSet&) { ; } std::ostream& operator<<(std::ostream &o, const Range &r) { if ((r.ub - r.lb) == 1) { prtCh(o, r.lb); } else { prtCh(o, r.lb); o << "-"; prtCh(o, r.ub - 1); } return o << r.next; } Range *doUnion(Range *r1, Range *r2) { Range *r, **rP = &r; for (;;) { Range *s; if (r1->lb <= r2->lb) { s = new Range(*r1); } else { s = new Range(*r2); } *rP = s; rP = &s->next; for (;;) { if (r1->lb <= r2->lb) { if (r1->lb > s->ub) break; if (r1->ub > s->ub) s->ub = r1->ub; if (!(r1 = r1->next)) { uint ub = 0; for (; r2 && r2->lb <= s->ub; r2 = r2->next) ub = r2->ub; if (ub > s->ub) s->ub = ub; *rP = r2; return r; } } else { if (r2->lb > s->ub) break; if (r2->ub > s->ub) s->ub = r2->ub; if (!(r2 = r2->next)) { uint ub = 0; for (; r1 && r1->lb <= s->ub; r1 = r1->next) ub = r1->ub; if (ub > s->ub) s->ub = ub; *rP = r1; return r; } } } } *rP = NULL; return r; } Range *doDiff(Range *r1, Range *r2) { Range *r, *s, **rP = &r; for (; r1; r1 = r1->next) { uint lb = r1->lb; for (; r2 && r2->ub <= r1->lb; r2 = r2->next) ; for (; r2 && r2->lb < r1->ub; r2 = r2->next) { if (lb < r2->lb) { *rP = s = new Range(lb, r2->lb); rP = &s->next; } if ((lb = r2->ub) >= r1->ub) goto noMore; } *rP = s = new Range(lb, r1->ub); rP = &s->next; noMore: ; } *rP = NULL; return r; } MatchOp *merge(MatchOp *m1, MatchOp *m2) { if (!m1) return m2; if (!m2) return m1; return new MatchOp(doUnion(m1->match, m2->match)); } const char *MatchOp::type = "MatchOp"; void MatchOp::display(std::ostream &o) const { o << match; } void MatchOp::calcSize(Char *rep) { size = 1; for (Range *r = match; r; r = r->next) for (uint c = r->lb; c < r->ub; ++c) if (rep[c] == c) ++size; } uint MatchOp::fixedLength() { return 1; } void MatchOp::compile(Char *rep, Ins *i) { i->i.tag = CHAR; i->i.link = &i[size]; Ins *j = &i[1]; uint bump = size; for (Range *r = match; r; r = r->next) { for (uint c = r->lb; c < r->ub; ++c) { if (rep[c] == c) { j->c.value = c; j->c.bump = --bump; j++; } } } } void MatchOp::split(CharSet &s) { for (Range *r = match; r; r = r->next) { for (uint c = r->lb; c < r->ub; ++c) { CharPtn *x = s.rep[c], *a = x->nxt; if (!a) { if (x->card == 1) continue; x->nxt = a = s.freeHead; if (!(s.freeHead = s.freeHead->nxt)) s.freeTail = &s.freeHead; a->nxt = NULL; x->fix = s.fix; s.fix = x; } if (--(x->card) == 0) { *s.freeTail = x; *(s.freeTail = &x->nxt) = NULL; } s.rep[c] = a; ++(a->card); } } for (; s.fix; s.fix = s.fix->fix) if (s.fix->card) s.fix->nxt = NULL; } RegExp * mkDiff(RegExp *e1, RegExp *e2) { MatchOp *m1, *m2; if (!(m1 = (MatchOp*) e1->isA(MatchOp::type))) return NULL; if (!(m2 = (MatchOp*) e2->isA(MatchOp::type))) return NULL; Range *r = doDiff(m1->match, m2->match); return r ? (RegExp*) new MatchOp(r) : (RegExp*) new NullOp; } RegExp *doAlt(RegExp *e1, RegExp *e2) { if (!e1) return e2; if (!e2) return e1; return new AltOp(e1, e2); } RegExp *mkAlt(RegExp *e1, RegExp *e2) { AltOp *a; MatchOp *m1, *m2; if ((a = (AltOp*) e1->isA(AltOp::type))) { if ((m1 = (MatchOp*) a->exp1->isA(MatchOp::type))) e1 = a->exp2; } else if ((m1 = (MatchOp*) e1->isA(MatchOp::type))) { e1 = NULL; } if ((a = (AltOp*) e2->isA(AltOp::type))) { if ((m2 = (MatchOp*) a->exp1->isA(MatchOp::type))) e2 = a->exp2; } else if ((m2 = (MatchOp*) e2->isA(MatchOp::type))) { e2 = NULL; } return doAlt(merge(m1, m2), doAlt(e1, e2)); } const char *AltOp::type = "AltOp"; void AltOp::calcSize(Char *rep) { exp1->calcSize(rep); exp2->calcSize(rep); size = exp1->size + exp2->size + 2; } uint AltOp::fixedLength() { uint l1 = exp1->fixedLength(); uint l2 = exp1->fixedLength(); if (l1 != l2 || l1 == ~0u) return ~0u; return l1; } void AltOp::compile(Char *rep, Ins *i) { i->i.tag = FORK; Ins *j = &i[exp1->size + 1]; i->i.link = &j[1]; exp1->compile(rep, &i[1]); j->i.tag = GOTO; j->i.link = &j[exp2->size + 1]; exp2->compile(rep, &j[1]); } void AltOp::split(CharSet &s) { exp1->split(s); exp2->split(s); } const char *CatOp::type = "CatOp"; void CatOp::calcSize(Char *rep) { exp1->calcSize(rep); exp2->calcSize(rep); size = exp1->size + exp2->size; } uint CatOp::fixedLength() { uint l1, l2; if ((l1 = exp1->fixedLength()) != ~0u ) if ((l2 = exp2->fixedLength()) != ~0u) return l1 + l2; return ~0u; } void CatOp::compile(Char *rep, Ins *i) { exp1->compile(rep, &i[0]); exp2->compile(rep, &i[exp1->size]); } void CatOp::split(CharSet &s) { exp1->split(s); exp2->split(s); } const char *CloseOp::type = "CloseOp"; void CloseOp::calcSize(Char *rep) { exp->calcSize(rep); size = exp->size + 1; } void CloseOp::compile(Char *rep, Ins *i) { exp->compile(rep, &i[0]); i += exp->size; i->i.tag = FORK; i->i.link = i - exp->size; } void CloseOp::split(CharSet &s) { exp->split(s); } const char *CloseVOp::type = "CloseVOp"; void CloseVOp::calcSize(Char *rep) { exp->calcSize(rep); if (max >= 0) { size = (exp->size * min) + ((1 + exp->size) * (max - min)); } else { size = (exp->size * min) + 1; } } void CloseVOp::compile(Char *rep, Ins *i) { Ins *jumppoint; int st; jumppoint = i + ((1 + exp->size) * (max - min)); for (st = min; st < max; st++) { i->i.tag = FORK; i->i.link = jumppoint; i++; exp->compile(rep, &i[0]); i += exp->size; } for (st = 0; st < min; st++) { exp->compile(rep, &i[0]); i += exp->size; if (max < 0 && st == 0) { i->i.tag = FORK; i->i.link = i - exp->size; i++; } } } void CloseVOp::split(CharSet &s) { exp->split(s); } RegExp *expr(Scanner &); uint Scanner::unescape(SubStr &s) const { static const char * hex = "0123456789abcdef"; static const char * oct = "01234567"; s.len--; uint c, ucb = 0; if ((c = *s.str++) != '\\' || s.len == 0) { return xlat(c); } s.len--; switch (c = *s.str++) { case 'n': return xlat('\n'); case 't': return xlat('\t'); case 'v': return xlat('\v'); case 'b': return xlat('\b'); case 'r': return xlat('\r'); case 'f': return xlat('\f'); case 'a': return xlat('\a'); case 'x': { if (s.len < 2) { fatal(s.ofs()+s.len, "Illegal hexadecimal character code, two hexadecimal digits are required"); return ~0u; } const char *p1 = strchr(hex, tolower(s.str[0])); const char *p2 = strchr(hex, tolower(s.str[1])); if (!p1 || !p2) { fatal(s.ofs()+(p1?1:0), "Illegal hexadecimal character code"); return ~0u; } else { s.len -= 2; s.str += 2; uint v = (uint)((p1 - hex) << 4) + (uint)((p2 - hex)); return v; } } case 'U': { if (s.len < 8) { fatal(s.ofs()+s.len, "Illegal unicode character, eight hexadecimal digits are required"); return ~0u; } uint l = 0; if (s.str[0] == '0') { l++; if (s.str[1] == '0') { l++; if (s.str[2] == '0' || (s.str[2] == '1' && uFlag)) { l++; if (uFlag) { const char *u3 = strchr(hex, tolower(s.str[2])); const char *u4 = strchr(hex, tolower(s.str[3])); if (u3 && u4) { ucb = (uint)((u3 - hex) << 20) + (uint)((u4 - hex) << 16); l++; } } else if (s.str[3] == '0') { l++; } } } } if (l != 4) { fatal(s.ofs()+l, "Illegal unicode character, eight hexadecimal digits are required"); } s.len -= 4; s.str += 4; // no break; } case 'X': case 'u': { if (s.len < 4) { fatal(s.ofs()+s.len, c == 'X' ? "Illegal hexadecimal character code, four hexadecimal digits are required" : "Illegal unicode character, four hexadecimal digits are required"); return ~0u; } const char *p1 = strchr(hex, tolower(s.str[0])); const char *p2 = strchr(hex, tolower(s.str[1])); const char *p3 = strchr(hex, tolower(s.str[2])); const char *p4 = strchr(hex, tolower(s.str[3])); if (!p1 || !p2 || !p3 || !p4) { fatal(s.ofs()+(p1?1:0)+(p2?1:0)+(p3?1:0), c == 'X' ? "Illegal hexadecimal character code, non hexxdecimal digit found" : "Illegal unicode character, non hexadecimal digit found"); return ~0u; } else { s.len -= 4; s.str += 4; uint v = (uint)((p1 - hex) << 12) + (uint)((p2 - hex) << 8) + (uint)((p3 - hex) << 4) + (uint)((p4 - hex)) + ucb; if (v >= nRealChars) { fatal(s.ofs(), c == 'X' ? "Illegal hexadecimal character code, out of range" : "Illegal unicode character, out of range"); } return v; } } case '4': case '5': case '6': case '7': { fatal(s.ofs()-1, "Illegal octal character code, first digit must be 0 thru 3"); return ~0u; } case '0': case '1': case '2': case '3': { if (s.len < 2) { fatal(s.ofs()+s.len, "Illegal octal character code, three octal digits are required"); return ~0u; } const char *p0 = strchr(oct, c); const char *p1 = strchr(oct, s.str[0]); const char *p2 = strchr(oct, s.str[1]); if (!p0 || !p1 || !p2) { fatal(s.ofs()+(p1?1:0), "Illegal octal character code, non octal digit found"); return ~0u; } else { s.len -= 2; s.str += 2; uint v = (uint)((p0 - oct) << 6) + (uint)((p1 - oct) << 3) + (uint)(p2 - oct); return v; } } default: return xlat(c); } } std::string& Scanner::unescape(SubStr& str_in, std::string& str_out) const { str_out.clear(); while(str_in.len) { uint c = unescape(str_in); if (c > 0xFF) { fatal(str_in.ofs(), "Illegal character"); } str_out += static_cast(c); } return str_out; } Range * Scanner::getRange(SubStr &s) const { uint lb = unescape(s), ub, xlb, xub, c; if (s.len < 2 || *s.str != '-') { ub = lb; } else { s.len--; s.str++; ub = unescape(s); if (ub < lb) { uint tmp = lb; lb = ub; ub = tmp; } xlb = xlat(lb); xub = xlat(ub); for(c = lb; c <= ub; c++) { if (!(xlb <= xlat(c) && xlat(c) <= ub)) { /* range doesn't work */ Range * r = new Range(xlb, xlb + 1); for (c = lb + 1; c <= ub; c++) { r = doUnion(r, new Range(xlat(c), xlat(c) + 1)); } return r; } } lb = xlb; ub = xub; } return new Range(lb, ub + 1); } RegExp * Scanner::matchChar(uint c) const { return new MatchOp(new Range(c, c + 1)); } RegExp * Scanner::strToRE(SubStr s) const { s.len -= 2; s.str += 1; if (s.len == 0) return new NullOp; RegExp *re = matchChar(unescape(s)); while (s.len > 0) re = new CatOp(re, matchChar(unescape(s))); return re; } RegExp * Scanner::strToCaseInsensitiveRE(SubStr s) const { s.len -= 2; s.str += 1; if (s.len == 0) return new NullOp; uint c = unescape(s); RegExp *re, *reL, *reU; if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { reL = matchChar(xlat(tolower(c))); reU = matchChar(xlat(toupper(c))); re = mkAlt(reL, reU); } else { re = matchChar(c); } while (s.len > 0) { uint c = unescape(s); if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) { reL = matchChar(xlat(tolower(c))); reU = matchChar(xlat(toupper(c))); re = new CatOp(re, mkAlt(reL, reU)); } else { re = new CatOp(re, matchChar(c)); } } return re; } RegExp * Scanner::ranToRE(SubStr s) const { s.len -= 2; s.str += 1; if (s.len == 0) return new NullOp; Range *r = getRange(s); while (s.len > 0) r = doUnion(r, getRange(s)); return new MatchOp(r); } RegExp * Scanner::getAnyRE() const { if (eFlag) { return ranToRE(SubStr("[\\000-\\377]")); } else { return new MatchOp(new Range(0, nRealChars)); } } RegExp * Scanner::invToRE(SubStr s) const { s.len--; s.str++; RegExp * any = getAnyRE(); if (s.len <= 2) { return any; } RegExp * ran = ranToRE(s); RegExp * inv = mkDiff(any, ran); delete ran; delete any; return inv; } RegExp * Scanner::mkDot() const { RegExp * any = getAnyRE(); RegExp * ran = matchChar(xlat('\n')); RegExp * inv = mkDiff(any, ran); delete ran; delete any; return inv; } const char *RuleOp::type = "RuleOp"; RuleOp::RuleOp(RegExp *e, RegExp *c, Token *t, uint a) : exp(e) , ctx(c) , ins(NULL) , accept(a) , code(t) , line(0) { ; } RuleOp* RuleOp::copy(uint a) const { Token *token = new Token(*code); return new RuleOp(exp, ctx, token, a); } void RuleOp::calcSize(Char *rep) { exp->calcSize(rep); ctx->calcSize(rep); size = exp->size + (ctx->size ? ctx->size + 2 : 1); } void RuleOp::compile(Char *rep, Ins *i) { ins = i; exp->compile(rep, &i[0]); i += exp->size; if (ctx->size) { i->i.tag = CTXT; i->i.link = &i[1]; i++; ctx->compile(rep, &i[0]); i += ctx->size; } i->i.tag = TERM; i->i.link = this; } void RuleOp::split(CharSet &s) { exp->split(s); ctx->split(s); } void optimize(Ins *i) { while (!isMarked(i)) { mark(i); if (i->i.tag == CHAR) { i = (Ins*) i->i.link; } else if (i->i.tag == GOTO || i->i.tag == FORK) { Ins *target = (Ins*) i->i.link; optimize(target); if (target->i.tag == GOTO) i->i.link = target->i.link == target ? i : target; if (i->i.tag == FORK) { Ins *follow = (Ins*) & i[1]; optimize(follow); if (follow->i.tag == GOTO && follow->i.link == follow) { i->i.tag = GOTO; } else if (i->i.link == i) { i->i.tag = GOTO; i->i.link = follow; } } return ; } else { ++i; } } } CharSet::CharSet() : fix(0) , freeHead(0) , freeTail(0) , rep(new CharPtr[nRealChars]) , ptn(new CharPtn[nRealChars]) { for (uint j = 0; j < nRealChars; ++j) { rep[j] = &ptn[0]; ptn[j].nxt = &ptn[j + 1]; /* wrong for j=nRealChars but will be corrected below */ ptn[j].card = 0; } freeHead = &ptn[1]; *(freeTail = &ptn[nRealChars - 1].nxt) = NULL; ptn[0].card = nRealChars; ptn[0].nxt = NULL; } CharSet::~CharSet() { delete[] rep; delete[] ptn; } DFA* genCode(RegExp *re) { CharSet cs; uint j; re->split(cs); /* for(uint k = 0; k < nChars;){ for(j = k; ++k < nRealChars && cs.rep[k] == cs.rep[j];); printSpan(cerr, j, k); cerr << "\t" << cs.rep[j] - &cs.ptn[0] << endl; } */ Char *rep = new Char[nRealChars]; for (j = 0; j < nRealChars; ++j) { if (!cs.rep[j]->nxt) cs.rep[j]->nxt = &cs.ptn[j]; rep[j] = (Char) (cs.rep[j]->nxt - &cs.ptn[0]); } re->calcSize(rep); Ins *ins = new Ins[re->size + 1]; memset(ins, 0, (re->size + 1)*sizeof(Ins)); re->compile(rep, ins); Ins *eoi = &ins[re->size]; eoi->i.tag = GOTO; eoi->i.link = eoi; optimize(ins); for (j = 0; j < re->size;) { unmark(&ins[j]); if (ins[j].i.tag == CHAR) { j = (Ins*) ins[j].i.link - ins; } else { j++; } } return new DFA(ins, re->size, 0, nRealChars, rep); } } // end namespace re2c re2c-0.13.5/scanner.re0000664000076500007660000002615511016275332011363 00000000000000/* $Id: scanner.re 858 2008-04-03 20:53:44Z helly $ */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define YYCTYPE unsigned char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYCTXMARKER ctx #define YYFILL(n) {cursor = fill(cursor, n);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { /*!re2c zero = "\000"; any = [\000-\377]; dot = any \ [\n]; esc = dot \ [\\]; istring = "[" "^" ((esc \ [\]]) | "\\" dot)* "]" ; cstring = "[" ((esc \ [\]]) | "\\" dot)* "]" ; dstring = "\"" ((esc \ ["] ) | "\\" dot)* "\""; sstring = "'" ((esc \ ['] ) | "\\" dot)* "'" ; letter = [a-zA-Z]; digit = [0-9]; lineno = [1-9] digit*; number = "0" | ("-"? [1-9] digit*); name = (letter|"_") (letter|digit|"_")*; cname = ":" name; space = [ \t]; ws = (space | [\r\n]); eol = ("\r\n" | "\n"); config = "re2c" cname+ ("@" name)?; value = [^\r\n; \t]* | dstring | sstring; lineinf = lineno (space+ dstring)? eol; */ Scanner::ParseMode Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; int ignore_cnt = 0; if (eof && cursor == eof) // Catch EOF { return Stop; } tok = cursor; echo: /*!re2c "/*!re2c" { if (rFlag) { fatal("found standard 're2c' block while using -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); } tok = cursor; RETURN(Parse); } "/*!rules:re2c" { if (rFlag) { mapCodeName.clear(); } else { fatal("found 'reules:re2c' block without -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } tok = cursor; RETURN(Rules); } "/*!use:re2c" { if (!rFlag) { fatal("found 'use:re2c' block without -r flag"); } reuse(); if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-11]) - (const char*)(tok)); } tok = cursor; RETURN(Reuse); } "/*!max:re2c" { if (bUsedYYMaxFill) { fatal("cannot generate YYMAXFILL twice"); } if (!DFlag) { out << "#define YYMAXFILL " << maxFill << std::endl; } tok = pos = cursor; ignore_eoc = true; bUsedYYMaxFill = true; goto echo; } "/*!getstate:re2c" { tok = pos = cursor; genGetStateGoto(out, topIndent, 0); ignore_eoc = true; goto echo; } "/*!ignore:re2c" { tok = pos = cursor; ignore_eoc = true; goto echo; } "/*!types:re2c" { if (bSinglePass) { fatal("cannot generate types inline in single pass mode"); } tok = pos = cursor; ignore_eoc = true; if (bLastPass && !DFlag) { out << outputFileInfo; out << "\n"; out << typesInline; out << "\n"; out << sourceFileInfo; } goto echo; } "*" "/" "\r"? "\n" { cline++; if (ignore_eoc) { if (ignore_cnt) { out << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } "*" "/" { if (ignore_eoc) { if (ignore_cnt) { out << "\n" << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline(cursor); goto echo; } "\n" { if (ignore_eoc) { ignore_cnt++; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; cline++; goto echo; } zero { if (!ignore_eoc && !DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 } if(cursor == eof) { RETURN(Stop); } } any { goto echo; } */ } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } /*!re2c "{" { depth = 1; goto code; } ":" / "=>" { RETURN(*tok); } ":=" { cur = cursor; tok += 2; /* skip ":=" */ depth = 0; goto code; } "/*" { depth = 1; goto comment; } "*/" { tok = cursor; RETURN(0); } dstring { cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(token()); } else { yylval.regexp = strToRE(token()); } return STRING; } sstring { cur = cursor; if (bCaseInverted) { yylval.regexp = strToRE(token()); } else { yylval.regexp = strToCaseInsensitiveRE(token()); } return STRING; } "\"" { fatal("unterminated string constant (missing \")"); } "'" { fatal("unterminated string constant (missing ')"); } istring { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } cstring { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } "[" { fatal("unterminated range (missing ])"); } "<>" / (space* ("{" | "=>" | ":=")) { RETURN(NOCOND); } ",()|=;/\\] { RETURN(*tok); } "*" { yylval.op = *tok; RETURN(STAR); } [+?] { yylval.op = *tok; RETURN(CLOSE); } "{0,}" { yylval.op = '*'; RETURN(CLOSE); } "{" [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } "{" [0-9]+ "," [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } "{" [0-9]+ ",}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } "{" name "}" { if (!FFlag) { fatal("curly braces for names only allowed with -F switch"); } cur = cursor; yylval.symbol = Symbol::find(token(1, cur - tok - 2)); return ID; } config { cur = cursor; tok += 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } name / (space+ [^=>,]) { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return FFlag ? FID : ID; } name / (space* [=>,]) { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return ID; } name / [^] { if (!FFlag) { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } else { /* Add one char in front and one behind instead of 's or "s */ cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(raw_token("\"")); } else { yylval.regexp = strToRE(raw_token("\"")); } return STRING; } } "." { cur = cursor; yylval.regexp = mkDot(); return RANGE; } space+ { goto scan; } eol space* "#" space* "line" space+ / lineinf { set_sourceline(cursor); goto scan; } eol { if (cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } any { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } */ code: /*!re2c "}" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else if (--depth == 0) { cur = cursor; yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } goto code; } "{" { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else { ++depth; } goto code; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline(cursor); goto code; } "\n" / ws { if (depth == 0) { goto code; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } "\n" { if (depth == 0) { cur = cursor; tok += strspn(tok, " \t\r\n"); while (cur > tok && strchr(" \t\r\n", cur[-1])) { --cur; } yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } zero { if (cursor == eof) { if (depth) { fatal("missing '}'"); } RETURN(0); } goto code; } dstring | sstring | any { goto code; } */ comment: /*!re2c "*/" { if (--depth == 0) { goto scan; } else { goto comment; } } "/*" { ++depth; fatal("ambiguous /* found"); goto comment; } "\n" space* "#" space* "line" space+ / lineinf { set_sourceline(cursor); goto comment; } "\n" { if (cursor == eof) { RETURN(0); } tok = pos = cursor; cline++; goto comment; } any { if (cursor == eof) { RETURN(0); } goto comment; } */ config: /*!re2c space+ { goto config; } "=" space* { iscfg = 2; cur = cursor; RETURN('='); } any { fatal("missing '='"); } */ value: /*!re2c number { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } value { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } */ } void Scanner::set_sourceline(char *& cursor) { sourceline: tok = cursor; /*!re2c lineno { cur = cursor; cline = atoi(token().to_string().c_str()); goto sourceline; } dstring { cur = cursor; sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string()); goto sourceline; } "\n" { if (cursor == eof) { --cursor; } else { pos = cursor; } tok = cursor; return; } any { goto sourceline; } */ } } // end namespace re2c re2c-0.13.5/substr.cc0000664000076500007660000000156511016275332011231 00000000000000/* $Id: substr.cc 860 2008-04-09 22:57:45Z nuno-lopes $ */ #include #include #include "substr.h" #include "globals.h" #ifndef HAVE_STRNDUP char *strndup(const char *str, size_t len) { char * ret = (char*)malloc(len + 1); memcpy(ret, str, len); ret[len] = '\0'; return ret; } #endif namespace re2c { void SubStr::out(std::ostream& o) const { o.write(str, len); } bool operator==(const SubStr &s1, const SubStr &s2) { return (bool) (s1.len == s2.len && memcmp(s1.str, s2.str, s1.len) == 0); } Str::Str(const SubStr& s) : SubStr(strndup(s.str, s.len), s.len) { ; } Str::Str(Str& s) : SubStr(s.str, s.len) { s.str = NULL; s.len = 0; } Str::Str(const char *s) : SubStr(strdup(s), strlen(s)) { ; } Str::Str() : SubStr((char*) NULL, 0) { ; } Str::~Str() { if (str) { free((void*)str); } str = NULL; len = 0; } } // end namespace re2c re2c-0.13.5/translate.cc0000664000076500007660000001255411016275332011704 00000000000000/* $Id: translate.cc 714 2007-04-29 15:36:42Z helly $ */ #include "globals.h" namespace re2c { char octCh(uint c) { return '0' + c % 8; } static const char * sHex = "0123456789ABCDEF"; char hexCh(uint c) { return sHex[c & 0x0F]; } uint asc2asc[256] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }; uint *xlat = asc2asc; uint *talx = asc2asc; uint asc2ebc[256] = { /* Based on ISO 8859/1 and Code Page 37 */ 0x00, 0x01, 0x02, 0x03, 0x37, 0x2d, 0x2e, 0x2f, 0x16, 0x05, 0x25, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x3c, 0x3d, 0x32, 0x26, 0x18, 0x19, 0x3f, 0x27, 0x1c, 0x1d, 0x1e, 0x1f, 0x40, 0x5a, 0x7f, 0x7b, 0x5b, 0x6c, 0x50, 0x7d, 0x4d, 0x5d, 0x5c, 0x4e, 0x6b, 0x60, 0x4b, 0x61, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0x7a, 0x5e, 0x4c, 0x7e, 0x6e, 0x6f, 0x7c, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xba, 0xe0, 0xbb, 0xb0, 0x6d, 0x79, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xc0, 0x4f, 0xd0, 0xa1, 0x07, 0x20, 0x21, 0x22, 0x23, 0x24, 0x15, 0x06, 0x17, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x09, 0x0a, 0x1b, 0x30, 0x31, 0x1a, 0x33, 0x34, 0x35, 0x36, 0x08, 0x38, 0x39, 0x3a, 0x3b, 0x04, 0x14, 0x3e, 0xff, 0x41, 0xaa, 0x4a, 0xb1, 0x9f, 0xb2, 0x6a, 0xb5, 0xbd, 0xb4, 0x9a, 0x8a, 0x5f, 0xca, 0xaf, 0xbc, 0x90, 0x8f, 0xea, 0xfa, 0xbe, 0xa0, 0xb6, 0xb3, 0x9d, 0xda, 0x9b, 0x8b, 0xb7, 0xb8, 0xb9, 0xab, 0x64, 0x65, 0x62, 0x66, 0x63, 0x67, 0x9e, 0x68, 0x74, 0x71, 0x72, 0x73, 0x78, 0x75, 0x76, 0x77, 0xac, 0x69, 0xed, 0xee, 0xeb, 0xef, 0xec, 0xbf, 0x80, 0xfd, 0xfe, 0xfb, 0xfc, 0xad, 0x8e, 0x59, 0x44, 0x45, 0x42, 0x46, 0x43, 0x47, 0x9c, 0x48, 0x54, 0x51, 0x52, 0x53, 0x58, 0x55, 0x56, 0x57, 0x8c, 0x49, 0xcd, 0xce, 0xcb, 0xcf, 0xcc, 0xe1, 0x70, 0xdd, 0xde, 0xdb, 0xdc, 0x8d, 0xae, 0xdf }; uint ebc2asc[256] = { /* Based on ISO 8859/1 and Code Page 37 */ 0x00, 0x01, 0x02, 0x03, 0x9c, 0x09, 0x86, 0x7f, 0x97, 0x8d, 0x8e, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x9d, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8f, 0x1c, 0x1d, 0x1e, 0x1f, 0x80, 0x81, 0x82, 0x83, 0x84, 0x0a, 0x17, 0x1b, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x05, 0x06, 0x07, 0x90, 0x91, 0x16, 0x93, 0x94, 0x95, 0x96, 0x04, 0x98, 0x99, 0x9a, 0x9b, 0x14, 0x15, 0x9e, 0x1a, 0x20, 0xa0, 0xe2, 0xe4, 0xe0, 0xe1, 0xe3, 0xe5, 0xe7, 0xf1, 0xa2, 0x2e, 0x3c, 0x28, 0x2b, 0x7c, 0x26, 0xe9, 0xea, 0xeb, 0xe8, 0xed, 0xee, 0xef, 0xec, 0xdf, 0x21, 0x24, 0x2a, 0x29, 0x3b, 0xac, 0x2d, 0x2f, 0xc2, 0xc4, 0xc0, 0xc1, 0xc3, 0xc5, 0xc7, 0xd1, 0xa6, 0x2c, 0x25, 0x5f, 0x3e, 0x3f, 0xf8, 0xc9, 0xca, 0xcb, 0xc8, 0xcd, 0xce, 0xcf, 0xcc, 0x60, 0x3a, 0x23, 0x40, 0x27, 0x3d, 0x22, 0xd8, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0xab, 0xbb, 0xf0, 0xfd, 0xde, 0xb1, 0xb0, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e, 0x6f, 0x70, 0x71, 0x72, 0xaa, 0xba, 0xe6, 0xb8, 0xc6, 0xa4, 0xb5, 0x7e, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0xa1, 0xbf, 0xd0, 0xdd, 0xfe, 0xae, 0x5e, 0xa3, 0xa5, 0xb7, 0xa9, 0xa7, 0xb6, 0xbc, 0xbd, 0xbe, 0x5b, 0x5d, 0xaf, 0xa8, 0xb4, 0xd7, 0x7b, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0xad, 0xf4, 0xf6, 0xf2, 0xf3, 0xf5, 0x7d, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xb9, 0xfb, 0xfc, 0xf9, 0xfa, 0xff, 0x5c, 0xf7, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0xb2, 0xd4, 0xd6, 0xd2, 0xd3, 0xd5, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0xb3, 0xdb, 0xdc, 0xd9, 0xda, 0x9f }; } // end namespace re2c re2c-0.13.5/scanner.cc0000664000076500007660000014135611016275374011351 00000000000000/* Generated by re2c 0.13.4.dev on Sat Apr 5 15:54:36 2008 */ /* $Id: scanner.cc 859 2008-04-05 15:09:33Z helly $ */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define YYCTYPE unsigned char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYCTXMARKER ctx #define YYFILL(n) {cursor = fill(cursor, n);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::ParseMode Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; int ignore_cnt = 0; if (eof && cursor == eof) // Catch EOF { return Stop; } tok = cursor; echo: { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16); yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x00) goto yy7; if (yych == '\n') goto yy5; goto yy9; } else { if (yych <= '*') goto yy4; if (yych != '/') goto yy9; } yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy37; yy3: { goto echo; } yy4: yych = *++YYCURSOR; if (yych == '/') goto yy32; goto yy3; yy5: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy10; } if (yych == '#') goto yy13; yy6: { if (ignore_eoc) { ignore_cnt++; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; cline++; goto echo; } yy7: ++YYCURSOR; { if (!ignore_eoc && !DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 } if(cursor == eof) { RETURN(Stop); } } yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy10; } if (yych == '#') goto yy13; yy12: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy6; } } else { goto yy33; } yy13: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy13; goto yy12; } else { if (yych <= ' ') goto yy13; if (yych != 'l') goto yy12; } yych = *++YYCURSOR; if (yych != 'i') goto yy12; yych = *++YYCURSOR; if (yych != 'n') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych <= '0') goto yy20; if (yych <= '9') goto yy12; goto yy20; yy19: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy20: if (yych <= 0x1F) { if (yych == '\t') goto yy19; goto yy12; } else { if (yych <= ' ') goto yy19; if (yych <= '0') goto yy12; if (yych >= ':') goto yy12; } yy21: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy21; } if (yych <= '\f') { if (yych <= 0x08) goto yy12; if (yych <= '\t') goto yy23; if (yych <= '\n') goto yy25; goto yy12; } else { if (yych <= '\r') goto yy27; if (yych != ' ') goto yy12; } yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy23; goto yy12; } else { if (yych <= ' ') goto yy23; if (yych == '"') goto yy28; goto yy12; } yy25: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto echo; } yy27: yych = *++YYCURSOR; if (yych == '\n') goto yy25; goto yy12; yy28: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy28; } if (yych <= '!') goto yy12; if (yych <= '"') goto yy31; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy12; goto yy28; yy31: yych = *++YYCURSOR; if (yych == '\n') goto yy25; if (yych == '\r') goto yy27; goto yy12; yy32: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy35; if (yych == '\r') goto yy34; yy33: { if (ignore_eoc) { if (ignore_cnt) { out << "\n" << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } yy34: yych = *++YYCURSOR; if (yych != '\n') goto yy12; yy35: ++YYCURSOR; { cline++; if (ignore_eoc) { if (ignore_cnt) { out << sourceFileInfo; } ignore_eoc = false; ignore_cnt = 0; } else if (!DFlag) { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } yy37: yych = *++YYCURSOR; if (yych != '!') goto yy12; yych = *++YYCURSOR; switch (yych) { case 'g': goto yy41; case 'i': goto yy40; case 'm': goto yy42; case 'r': goto yy44; case 't': goto yy39; case 'u': goto yy43; default: goto yy12; } yy39: yych = *++YYCURSOR; if (yych == 'y') goto yy99; goto yy12; yy40: yych = *++YYCURSOR; if (yych == 'g') goto yy88; goto yy12; yy41: yych = *++YYCURSOR; if (yych == 'e') goto yy75; goto yy12; yy42: yych = *++YYCURSOR; if (yych == 'a') goto yy67; goto yy12; yy43: yych = *++YYCURSOR; if (yych == 's') goto yy59; goto yy12; yy44: yych = *++YYCURSOR; if (yych == 'e') goto yy45; if (yych == 'u') goto yy46; goto yy12; yy45: yych = *++YYCURSOR; if (yych == '2') goto yy56; goto yy12; yy46: yych = *++YYCURSOR; if (yych != 'l') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (rFlag) { mapCodeName.clear(); } else { fatal("found 'reules:re2c' block without -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } tok = cursor; RETURN(Rules); } yy56: yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (rFlag) { fatal("found standard 're2c' block while using -r flag"); } if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); } tok = cursor; RETURN(Parse); } yy59: yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (!rFlag) { fatal("found 'use:re2c' block without -r flag"); } reuse(); if (bUsedYYMaxFill && bSinglePass) { fatal("found scanner block after YYMAXFILL declaration"); } if (!DFlag) { out.write((const char*)(tok), (const char*)(&cursor[-11]) - (const char*)(tok)); } tok = cursor; RETURN(Reuse); } yy67: yych = *++YYCURSOR; if (yych != 'x') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (bUsedYYMaxFill) { fatal("cannot generate YYMAXFILL twice"); } if (!DFlag) { out << "#define YYMAXFILL " << maxFill << std::endl; } tok = pos = cursor; ignore_eoc = true; bUsedYYMaxFill = true; goto echo; } yy75: yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 'a') goto yy12; yych = *++YYCURSOR; if (yych != 't') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { tok = pos = cursor; genGetStateGoto(out, topIndent, 0); ignore_eoc = true; goto echo; } yy88: yych = *++YYCURSOR; if (yych != 'n') goto yy12; yych = *++YYCURSOR; if (yych != 'o') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { tok = pos = cursor; ignore_eoc = true; goto echo; } yy99: yych = *++YYCURSOR; if (yych != 'p') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != 's') goto yy12; yych = *++YYCURSOR; if (yych != ':') goto yy12; yych = *++YYCURSOR; if (yych != 'r') goto yy12; yych = *++YYCURSOR; if (yych != 'e') goto yy12; yych = *++YYCURSOR; if (yych != '2') goto yy12; yych = *++YYCURSOR; if (yych != 'c') goto yy12; ++YYCURSOR; { if (bSinglePass) { fatal("cannot generate types inline in single pass mode"); } tok = pos = cursor; ignore_eoc = true; if (bLastPass && !DFlag) { out << outputFileInfo; out << "\n"; out << typesInline; out << "\n"; out << sourceFileInfo; } goto echo; } } } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 212, 208, 192, 208, 208, 208, 208, 80, 208, 208, 208, 208, 208, 208, 208, 208, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 208, 208, 208, 208, 208, 208, 208, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 208, 0, 144, 208, 240, 208, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, }; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '/') { if (yych <= '"') { if (yych <= '\f') { if (yych <= 0x08) goto yy138; if (yych <= '\t') goto yy133; if (yych <= '\n') goto yy135; goto yy138; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy137; goto yy138; } else { if (yych <= ' ') goto yy133; if (yych <= '!') goto yy138; goto yy119; } } } else { if (yych <= '*') { if (yych <= '&') goto yy138; if (yych <= '\'') goto yy121; if (yych <= ')') goto yy126; goto yy117; } else { if (yych <= ',') { if (yych <= '+') goto yy127; goto yy126; } else { if (yych <= '-') goto yy138; if (yych <= '.') goto yy131; goto yy115; } } } } else { if (yych <= '[') { if (yych <= '<') { if (yych <= '9') goto yy138; if (yych <= ':') goto yy113; if (yych <= ';') goto yy126; goto yy125; } else { if (yych <= '?') { if (yych <= '>') goto yy126; goto yy127; } else { if (yych <= '@') goto yy138; if (yych <= 'Z') goto yy130; goto yy123; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= '\\') goto yy126; goto yy138; } else { if (yych == '`') goto yy138; goto yy130; } } else { if (yych <= 'z') { if (yych <= 'r') goto yy129; goto yy130; } else { if (yych <= '{') goto yy111; if (yych <= '|') goto yy126; goto yy138; } } } } yy111: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '/') { if (yych == ',') goto yy229; } else { if (yych <= '0') goto yy226; if (yych <= '9') goto yy227; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy224; if (yych >= '_') goto yy224; } else { if (yych <= '`') goto yy112; if (yych <= 'z') goto yy224; } } yy112: { depth = 1; goto code; } yy113: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((yych = *YYCURSOR) == '=') goto yy220; yy114: { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } yy115: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy218; yy116: { RETURN(*tok); } yy117: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy216; { yylval.op = *tok; RETURN(STAR); } yy119: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy212; yy120: { fatal("unterminated string constant (missing \")"); } yy121: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy207; yy122: { fatal("unterminated string constant (missing ')"); } yy123: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy124; if (yych == '^') goto yy198; goto yy197; yy124: { fatal("unterminated range (missing ])"); } yy125: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == '!') goto yy187; if (yych == '>') goto yy189; goto yy116; yy126: yych = *++YYCURSOR; goto yy116; yy127: ++YYCURSOR; { yylval.op = *tok; RETURN(CLOSE); } yy129: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych == 'e') goto yy176; goto yy165; yy130: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; goto yy165; yy131: ++YYCURSOR; { cur = cursor; yylval.regexp = mkDot(); return RANGE; } yy133: ++YYCURSOR; yych = *YYCURSOR; goto yy163; yy134: { goto scan; } yy135: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; yy136: { if (cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } yy137: yych = *++YYCURSOR; if (yych == '\n') goto yy139; goto yy114; yy138: yych = *++YYCURSOR; goto yy114; yy139: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; goto yy136; yy140: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy140; } if (yych == '#') goto yy143; yy142: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy112; } else { goto yy120; } } else { if (yyaccept <= 2) { goto yy122; } else { goto yy124; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy116; } else { goto yy136; } } else { if (yyaccept <= 6) { goto yy182; } else { goto yy230; } } } yy143: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy143; goto yy142; } else { if (yych <= ' ') goto yy143; if (yych != 'l') goto yy142; } yych = *++YYCURSOR; if (yych != 'i') goto yy142; yych = *++YYCURSOR; if (yych != 'n') goto yy142; yych = *++YYCURSOR; if (yych != 'e') goto yy142; yych = *++YYCURSOR; if (yych <= '0') goto yy150; if (yych <= '9') goto yy142; goto yy150; yy149: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy150: if (yych <= 0x1F) { if (yych == '\t') goto yy149; goto yy142; } else { if (yych <= ' ') goto yy149; if (yych <= '0') goto yy142; if (yych >= ':') goto yy142; } yy151: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 8) { goto yy151; } if (yych <= '\f') { if (yych <= 0x08) goto yy142; if (yych <= '\t') goto yy153; if (yych <= '\n') goto yy155; goto yy142; } else { if (yych <= '\r') goto yy157; if (yych != ' ') goto yy142; } yy153: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy153; goto yy142; } else { if (yych <= ' ') goto yy153; if (yych == '"') goto yy158; goto yy142; } yy155: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto scan; } yy157: yych = *++YYCURSOR; if (yych == '\n') goto yy155; goto yy142; yy158: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy158; } if (yych <= '!') goto yy142; if (yych <= '"') goto yy161; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy158; yy161: yych = *++YYCURSOR; if (yych == '\n') goto yy155; if (yych == '\r') goto yy157; goto yy142; yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy163: if (yych == '\t') goto yy162; if (yych == ' ') goto yy162; goto yy134; yy164: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy165: if (yybm[0+yych] & 32) { goto yy164; } if (yych <= ' ') { if (yych == '\t') goto yy168; if (yych <= 0x1F) goto yy167; goto yy168; } else { if (yych <= ',') { if (yych <= '+') goto yy167; goto yy169; } else { if (yych <= '<') goto yy167; if (yych <= '>') goto yy169; goto yy167; } } yy166: YYCURSOR = YYCTXMARKER; { if (!FFlag) { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } else { /* Add one char in front and one behind instead of 's or "s */ cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(raw_token("\"")); } else { yylval.regexp = strToRE(raw_token("\"")); } return STRING; } } yy167: yych = *++YYCURSOR; goto yy166; yy168: yych = *++YYCURSOR; goto yy174; yy169: ++YYCURSOR; yy170: YYCURSOR = YYCTXMARKER; { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return ID; } yy171: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { cur = ptr > tok ? ptr - 1 : cursor; yylval.symbol = Symbol::find(token()); return FFlag ? FID : ID; } yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy174: if (yych <= ' ') { if (yych == '\t') goto yy173; if (yych <= 0x1F) goto yy171; goto yy173; } else { if (yych <= ',') { if (yych <= '+') goto yy171; } else { if (yych <= '<') goto yy171; if (yych >= '?') goto yy171; } } yych = *++YYCURSOR; goto yy170; yy176: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != '2') goto yy165; YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != 'c') goto yy165; YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych != ':') goto yy165; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy166; if (yych >= '[') goto yy166; } else { if (yych == '`') goto yy166; if (yych >= '{') goto yy166; } yy180: yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '9') { if (yych >= '0') goto yy180; } else { if (yych <= ':') goto yy184; if (yych >= '@') goto yy183; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy180; if (yych >= '_') goto yy180; } else { if (yych <= '`') goto yy182; if (yych <= 'z') goto yy180; } } yy182: { cur = cursor; tok += 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } yy183: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy185; goto yy142; } else { if (yych == '`') goto yy142; if (yych <= 'z') goto yy185; goto yy142; } yy184: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy180; goto yy142; } else { if (yych == '`') goto yy142; if (yych <= 'z') goto yy180; goto yy142; } yy185: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy182; if (yych <= '9') goto yy185; if (yych <= '@') goto yy182; goto yy185; } else { if (yych <= '_') { if (yych <= '^') goto yy182; goto yy185; } else { if (yych <= '`') goto yy182; if (yych <= 'z') goto yy185; goto yy182; } } yy187: ++YYCURSOR; { RETURN(SETUP); } yy189: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; goto yy191; yy190: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy191: if (yych <= '9') { if (yych <= '\t') { if (yych <= 0x08) goto yy142; goto yy190; } else { if (yych == ' ') goto yy190; goto yy142; } } else { if (yych <= '=') { if (yych <= ':') goto yy195; if (yych <= '<') goto yy142; goto yy194; } else { if (yych != '{') goto yy142; } } yy192: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { RETURN(NOCOND); } yy194: yych = *++YYCURSOR; if (yych == '>') goto yy192; goto yy142; yy195: yych = *++YYCURSOR; if (yych == '=') goto yy192; goto yy142; yy196: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy197: if (yybm[0+yych] & 64) { goto yy196; } if (yych <= '[') goto yy142; if (yych <= '\\') goto yy200; goto yy201; yy198: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '[') { if (yych == '\n') goto yy142; goto yy198; } else { if (yych <= '\\') goto yy203; if (yych <= ']') goto yy204; goto yy198; } yy200: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy196; yy201: ++YYCURSOR; { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } yy203: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy198; yy204: ++YYCURSOR; { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } yy206: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy207: if (yybm[0+yych] & 128) { goto yy206; } if (yych <= '&') goto yy142; if (yych <= '\'') goto yy209; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy206; yy209: ++YYCURSOR; { cur = cursor; if (bCaseInverted) { yylval.regexp = strToRE(token()); } else { yylval.regexp = strToCaseInsensitiveRE(token()); } return STRING; } yy211: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy212: if (yych <= '!') { if (yych == '\n') goto yy142; goto yy211; } else { if (yych <= '"') goto yy214; if (yych != '\\') goto yy211; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy142; goto yy211; yy214: ++YYCURSOR; { cur = cursor; if (bCaseInsensitive || bCaseInverted) { yylval.regexp = strToCaseInsensitiveRE(token()); } else { yylval.regexp = strToRE(token()); } return STRING; } yy216: ++YYCURSOR; { tok = cursor; RETURN(0); } yy218: ++YYCURSOR; { depth = 1; goto comment; } yy220: ++YYCURSOR; if ((yych = *YYCURSOR) == '>') goto yy222; { cur = cursor; tok += 2; /* skip ":=" */ depth = 0; goto code; } yy222: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { RETURN(*tok); } yy224: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych <= '9') { if (yych <= '/') goto yy142; goto yy224; } else { if (yych <= '@') goto yy142; if (yych <= 'Z') goto yy224; goto yy142; } } else { if (yych <= 'z') { if (yych == '`') goto yy142; goto yy224; } else { if (yych == '}') goto yy243; goto yy142; } } yy226: yych = *++YYCURSOR; if (yych == ',') goto yy240; goto yy228; yy227: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy228: if (yych <= '/') { if (yych == ',') goto yy233; goto yy142; } else { if (yych <= '9') goto yy227; if (yych == '}') goto yy231; goto yy142; } yy229: ++YYCURSOR; yy230: { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } yy231: ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } yy233: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy230; if (yych <= '9') goto yy236; if (yych != '}') goto yy230; ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } yy236: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy142; if (yych <= '9') goto yy236; if (yych != '}') goto yy142; ++YYCURSOR; { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } yy240: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy230; if (yych <= '9') goto yy236; if (yych != '}') goto yy230; ++YYCURSOR; { yylval.op = '*'; RETURN(CLOSE); } yy243: ++YYCURSOR; { if (!FFlag) { fatal("curly braces for names only allowed with -F switch"); } cur = cursor; yylval.symbol = Symbol::find(token(1, cur - tok - 2)); return ID; } } code: { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 48, 48, 48, 48, 48, 48, 48, 48, 48, 112, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 112, 48, 16, 48, 48, 48, 48, 32, 48, 48, 48, 48, 48, 48, 48, 48, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 0, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, }; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= 0x00) goto yy253; if (yych <= '\t') goto yy255; goto yy251; } else { if (yych == '"') goto yy257; goto yy255; } } else { if (yych <= '{') { if (yych <= '\'') goto yy258; if (yych <= 'z') goto yy255; goto yy249; } else { if (yych != '}') goto yy255; } } ++YYCURSOR; { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else if (--depth == 0) { cur = cursor; yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } goto code; } yy249: ++YYCURSOR; { if (depth == 0) { fatal("Curly braces are not allowed after ':='"); } else { ++depth; } goto code; } yy251: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '\r') { if (yych <= '\t') { if (yych >= '\t') goto yy266; } else { if (yych <= '\n') goto yy268; if (yych >= '\r') goto yy268; } } else { if (yych <= ' ') { if (yych >= ' ') goto yy266; } else { if (yych == '#') goto yy269; } } yy252: { if (depth == 0) { cur = cursor; tok += strspn(tok, " \t\r\n"); while (cur > tok && strchr(" \t\r\n", cur[-1])) { --cur; } yylval.token = new Token(token(), sourceFileInfo.fname, tline); return CODE; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } yy253: ++YYCURSOR; { if (cursor == eof) { if (depth) { fatal("missing '}'"); } RETURN(0); } goto code; } yy255: ++YYCURSOR; yy256: { goto code; } yy257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy256; goto yy264; yy258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy256; goto yy260; yy259: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy260: if (yybm[0+yych] & 16) { goto yy259; } if (yych <= '&') goto yy261; if (yych <= '\'') goto yy255; goto yy262; yy261: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy252; } else { goto yy256; } } else { goto yy267; } yy262: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy259; yy263: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy264: if (yybm[0+yych] & 32) { goto yy263; } if (yych <= '!') goto yy261; if (yych <= '"') goto yy255; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy263; yy266: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy288; } else { if (yych <= ' ') goto yy288; if (yych == '#') goto yy269; } yy267: YYCURSOR = YYCTXMARKER; { if (depth == 0) { goto code; } else if (cursor == eof) { fatal("missing '}'"); } pos = cursor; cline++; goto code; } yy268: yych = *++YYCURSOR; goto yy267; yy269: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy269; } if (yych != 'l') goto yy261; yych = *++YYCURSOR; if (yych != 'i') goto yy261; yych = *++YYCURSOR; if (yych != 'n') goto yy261; yych = *++YYCURSOR; if (yych != 'e') goto yy261; yych = *++YYCURSOR; if (yych <= '0') goto yy276; if (yych <= '9') goto yy261; goto yy276; yy275: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy276: if (yych <= 0x1F) { if (yych == '\t') goto yy275; goto yy261; } else { if (yych <= ' ') goto yy275; if (yych <= '0') goto yy261; if (yych >= ':') goto yy261; } yy277: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy277; } if (yych <= '\f') { if (yych <= 0x08) goto yy261; if (yych <= '\t') goto yy279; if (yych <= '\n') goto yy281; goto yy261; } else { if (yych <= '\r') goto yy283; if (yych != ' ') goto yy261; } yy279: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy279; goto yy261; } else { if (yych <= ' ') goto yy279; if (yych == '"') goto yy284; goto yy261; } yy281: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto code; } yy283: yych = *++YYCURSOR; if (yych == '\n') goto yy281; goto yy261; yy284: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy261; goto yy284; } else { if (yych <= '"') goto yy287; if (yych != '\\') goto yy284; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy261; goto yy284; yy287: yych = *++YYCURSOR; if (yych == '\n') goto yy281; if (yych == '\r') goto yy283; goto yy261; yy288: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy288; goto yy261; } else { if (yych <= ' ') goto yy288; if (yych == '#') goto yy269; goto yy261; } } comment: { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 160, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy295; goto yy297; } else { if (yych <= '*') goto yy292; if (yych == '/') goto yy294; goto yy297; } yy292: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy322; yy293: { if (cursor == eof) { RETURN(0); } goto comment; } yy294: yych = *++YYCURSOR; if (yych == '*') goto yy320; goto yy293; yy295: yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 32) { goto yy298; } if (yych == '#') goto yy301; yy296: { if (cursor == eof) { RETURN(0); } tok = pos = cursor; cline++; goto comment; } yy297: yych = *++YYCURSOR; goto yy293; yy298: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy298; } if (yych == '#') goto yy301; yy300: YYCURSOR = YYMARKER; goto yy296; yy301: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy301; goto yy300; } else { if (yych <= ' ') goto yy301; if (yych != 'l') goto yy300; } yych = *++YYCURSOR; if (yych != 'i') goto yy300; yych = *++YYCURSOR; if (yych != 'n') goto yy300; yych = *++YYCURSOR; if (yych != 'e') goto yy300; yych = *++YYCURSOR; if (yych <= '0') goto yy308; if (yych <= '9') goto yy300; goto yy308; yy307: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy308: if (yych <= 0x1F) { if (yych == '\t') goto yy307; goto yy300; } else { if (yych <= ' ') goto yy307; if (yych <= '0') goto yy300; if (yych >= ':') goto yy300; } yy309: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy309; } if (yych <= '\f') { if (yych <= 0x08) goto yy300; if (yych <= '\t') goto yy311; if (yych <= '\n') goto yy313; goto yy300; } else { if (yych <= '\r') goto yy315; if (yych != ' ') goto yy300; } yy311: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych == '\t') goto yy311; goto yy300; } else { if (yych <= ' ') goto yy311; if (yych == '"') goto yy316; goto yy300; } yy313: ++YYCURSOR; YYCURSOR = YYCTXMARKER; { set_sourceline(cursor); goto comment; } yy315: yych = *++YYCURSOR; if (yych == '\n') goto yy313; goto yy300; yy316: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy316; } if (yych <= '!') goto yy300; if (yych <= '"') goto yy319; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy300; goto yy316; yy319: yych = *++YYCURSOR; if (yych == '\n') goto yy313; if (yych == '\r') goto yy315; goto yy300; yy320: ++YYCURSOR; { ++depth; fatal("ambiguous /* found"); goto comment; } yy322: ++YYCURSOR; { if (--depth == 0) { goto scan; } else { goto comment; } } } config: { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych != '\t') goto yy330; } else { if (yych <= ' ') goto yy326; if (yych == '=') goto yy328; goto yy330; } yy326: ++YYCURSOR; yych = *YYCURSOR; goto yy335; yy327: { goto config; } yy328: ++YYCURSOR; yych = *YYCURSOR; goto yy333; yy329: { iscfg = 2; cur = cursor; RETURN('='); } yy330: ++YYCURSOR; { fatal("missing '='"); } yy332: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy333: if (yybm[0+yych] & 128) { goto yy332; } goto yy329; yy334: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy335: if (yych == '\t') goto yy334; if (yych == ' ') goto yy334; goto yy327; } value: { YYCTYPE yych; static const unsigned char yybm[] = { 248, 248, 248, 248, 248, 248, 248, 248, 248, 192, 0, 248, 248, 192, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 192, 248, 104, 248, 248, 248, 248, 152, 248, 248, 248, 248, 248, 248, 248, 248, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 248, 192, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 8, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy344; if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy344; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy344; } else { if (yych == '"') goto yy346; goto yy344; } } } else { if (yych <= '/') { if (yych <= '\'') goto yy348; if (yych == '-') goto yy341; goto yy344; } else { if (yych <= '9') { if (yych <= '0') goto yy339; goto yy342; } else { if (yych != ';') goto yy344; } } } yy338: { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } yy339: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 8) { goto yy344; } yy340: { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } yy341: yych = *++YYCURSOR; if (yych <= '0') goto yy345; if (yych >= ':') goto yy345; yy342: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy342; } if (yych <= '\r') { if (yych <= 0x08) goto yy344; if (yych <= '\n') goto yy340; if (yych >= '\r') goto yy340; } else { if (yych <= ' ') { if (yych >= ' ') goto yy340; } else { if (yych == ';') goto yy340; } } yy344: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy345: if (yybm[0+yych] & 8) { goto yy344; } goto yy338; yy346: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy346; } if (yych <= '!') { if (yych == '\n') goto yy338; goto yy356; } else { if (yych <= '"') goto yy344; if (yych <= '[') goto yy356; goto yy358; } yy348: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy348; } if (yych <= '&') { if (yych == '\n') goto yy338; } else { if (yych <= '\'') goto yy344; if (yych >= '\\') goto yy353; } yy350: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 64) { goto yy350; } if (yych <= '&') goto yy352; if (yych <= '\'') goto yy354; goto yy355; yy352: YYCURSOR = YYMARKER; goto yy338; yy353: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy348; goto yy350; } else { if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy348; goto yy350; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy348; goto yy350; } else { if (yych == ';') goto yy350; goto yy348; } } yy354: yych = *++YYCURSOR; goto yy338; yy355: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy352; goto yy350; yy356: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy356; } if (yych <= '!') goto yy352; if (yych <= '"') goto yy354; goto yy359; yy358: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy346; goto yy356; } else { if (yych <= '\n') goto yy338; if (yych <= '\f') goto yy346; goto yy356; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy346; goto yy356; } else { if (yych == ';') goto yy356; goto yy346; } } yy359: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy352; goto yy356; } } void Scanner::set_sourceline(char *& cursor) { sourceline: tok = cursor; { YYCTYPE yych; static const unsigned char yybm[] = { 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy366; goto yy368; } else { if (yych <= '"') goto yy364; if (yych <= '0') goto yy368; if (yych >= ':') goto yy368; } ++YYCURSOR; yych = *YYCURSOR; goto yy376; yy363: { cur = cursor; cline = atoi(token().to_string().c_str()); goto sourceline; } yy364: yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy370; yy365: { goto sourceline; } yy366: ++YYCURSOR; { if (cursor == eof) { --cursor; } else { pos = cursor; } tok = cursor; return; } yy368: yych = *++YYCURSOR; goto yy365; yy369: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy370: if (yybm[0+yych] & 64) { goto yy369; } if (yych <= '!') goto yy371; if (yych <= '"') goto yy373; goto yy372; yy371: YYCURSOR = YYMARKER; goto yy365; yy372: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy371; goto yy369; yy373: ++YYCURSOR; { cur = cursor; sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string()); goto sourceline; } yy375: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy376: if (yybm[0+yych] & 128) { goto yy375; } goto yy363; } } } // end namespace re2c re2c-0.13.5/mbo_getopt.cc0000775000076500007660000000675511016275332012057 00000000000000/* Author: Marcus Boerger */ /* $Id: mbo_getopt.cc 698 2007-04-23 21:06:56Z helly $ */ #include #include #include #include #include "mbo_getopt.h" #define OPTERRCOLON (1) #define OPTERRNF (2) #define OPTERRARG (3) namespace re2c { static int mbo_opt_error(int, char * const *argv, int oint, int optchr, int err, int show_err) { if (show_err) { fprintf(stderr, "Error in argument %d, char %d: ", oint, optchr + 1); switch (err) { case OPTERRCOLON: fprintf(stderr, ": in flags\n"); break; case OPTERRNF: fprintf(stderr, "option not found %c\n", argv[oint][optchr]); break; case OPTERRARG: fprintf(stderr, "no argument for option %c\n", argv[oint][optchr]); break; default: fprintf(stderr, "unknown\n"); break; } } return ('?'); } int mbo_getopt(int argc, char* const *argv, const mbo_opt_struct *opts, char **optarg, int *optind, int show_err) { static int optchr = 0; static int dash = 0; /* have already seen the - */ int arg_start = 2; int opts_idx = -1; if (*optind >= argc) { return (EOF); } if (!dash) { if ((argv[*optind][0] != '-')) { return (EOF); } else { if (!argv[*optind][1]) { /* * use to specify stdin. Need to let pgm process this and * the following args */ return (EOF); } } } if ((argv[*optind][0] == '-') && (argv[*optind][1] == '-')) { /* '--' indicates end of args if not followed by a known long option name */ if (argv[*optind][2] == '\0') { (*optind)++; return(EOF); } while (1) { opts_idx++; if (opts[opts_idx].opt_char == '-') { (*optind)++; return (mbo_opt_error(argc, argv, *optind - 1, optchr, OPTERRARG, show_err)); } else if (opts[opts_idx].opt_name && !strcmp(&argv[*optind][2], opts[opts_idx].opt_name)) { break; } } optchr = 0; dash = 0; arg_start = 2 + strlen(opts[opts_idx].opt_name); } else { if (!dash) { dash = 1; optchr = 1; } /* Check if the guy tries to do a -: kind of flag */ if (argv[*optind][optchr] == ':') { dash = 0; (*optind)++; return (mbo_opt_error(argc, argv, *optind - 1, optchr, OPTERRCOLON, show_err)); } arg_start = 1 + optchr; } if (opts_idx < 0) { while (1) { opts_idx++; if (opts[opts_idx].opt_char == '-') { int errind = *optind; int errchr = optchr; if (!argv[*optind][optchr + 1]) { dash = 0; (*optind)++; } else { optchr++; arg_start++; } return (mbo_opt_error(argc, argv, errind, errchr, OPTERRNF, show_err)); } else if (argv[*optind][optchr] == opts[opts_idx].opt_char) { break; } } } if (opts[opts_idx].need_param) { /* Check for cases where the value of the argument is in the form - or in the form - */ dash = 0; if (!argv[*optind][arg_start]) { (*optind)++; if (*optind == argc) { return (mbo_opt_error(argc, argv, *optind - 1, optchr, OPTERRARG, show_err)); } *optarg = argv[(*optind)++]; } else { *optarg = &argv[*optind][arg_start]; (*optind)++; } return opts[opts_idx].opt_char; } else { if (arg_start >= 2 && !((argv[*optind][0] == '-') && (argv[*optind][1] == '-'))) { if (!argv[*optind][optchr + 1]) { dash = 0; (*optind)++; } else { optchr++; } } else { (*optind)++; } return opts[opts_idx].opt_char; } assert(0); return (0); /* never reached */ } } // end namespace re2c re2c-0.13.5/basics.h0000664000076500007660000000210211016275332011001 00000000000000/* $Id: basics.h 520 2006-05-25 13:31:06Z helly $ */ #ifndef _basics_h #define _basics_h #ifdef HAVE_CONFIG_H #include "config.h" #elif defined(_WIN32) #include "config_w32.h" #endif namespace re2c { #if SIZEOF_CHAR == 1 typedef unsigned char byte; #elif SIZEOF_SHORT == 1 typedef unsigned short byte; #elif SIZEOF_INT == 1 typedef unsigned int byte; #elif SIZEOF_LONG == 1 typedef unsigned long byte; #else typedef unsigned char byte; #endif #if SIZEOF_CHAR == 2 typedef unsigned char word; #elif SIZEOF_SHORT == 2 typedef unsigned short word; #elif SIZEOF_INT == 2 typedef unsigned int word; #elif SIZEOF_LONG == 2 typedef unsigned long word; #else typedef unsigned short word; #endif #if SIZEOF_CHAR == 4 typedef unsigned char dword; #elif SIZEOF_SHORT == 4 typedef unsigned short dword; #elif SIZEOF_INT == 4 typedef unsigned int dword; #elif SIZEOF_LONG == 4 typedef unsigned long dword; #else typedef unsigned long dword; #endif typedef unsigned int uint; typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned long ulong; } // end namespace re2c #endif re2c-0.13.5/dfa.h0000664000076500007660000001467611016275332010312 00000000000000/* $Id: dfa.h 850 2008-03-24 01:05:08Z helly $ */ #ifndef _dfa_h #define _dfa_h #include #include #include "re.h" namespace re2c { extern void prtCh(std::ostream&, uint, bool useTalx = true); extern void prtHex(std::ostream&, uint, bool useTalx = true); extern void prtChOrHex(std::ostream&, uint, bool useTalx = true); extern void printSpan(std::ostream&, uint, uint); class DFA; class State; class Action { public: State *state; public: Action(State*); virtual ~Action(); virtual void emit(std::ostream&, uint, bool&, const std::string&) const = 0; virtual bool isRule() const; virtual bool isMatch() const; virtual bool isInitial() const; virtual bool readAhead() const; #ifdef PEDANTIC protected: Action(const Action& oth) : state(oth.state) { } Action& operator = (const Action& oth) { state = oth.state; return *this; } #endif }; class Match: public Action { public: Match(State*); void emit(std::ostream&, uint, bool&, const std::string&) const; bool isMatch() const; }; class Enter: public Action { public: uint label; public: Enter(State*, uint); void emit(std::ostream&, uint, bool&, const std::string&) const; }; class Initial: public Enter { public: bool setMarker; public: Initial(State*, uint, bool); void emit(std::ostream&, uint, bool&, const std::string&) const; bool isInitial() const; }; class Save: public Match { public: uint selector; public: Save(State*, uint); void emit(std::ostream&, uint, bool&, const std::string&) const; bool isMatch() const; }; class Move: public Action { public: Move(State*); void emit(std::ostream&, uint, bool&, const std::string&) const; }; class Accept: public Action { public: typedef std::map RuleMap; uint nRules; uint *saves; State **rules; RuleMap mapRules; public: Accept(State*, uint, uint*, State**); void emit(std::ostream&, uint, bool&, const std::string&) const; void emitBinary(std::ostream &o, uint ind, uint l, uint r, bool &readCh) const; void genRuleMap(); #ifdef PEDANTIC private: Accept(const Accept& oth) : Action(oth) , nRules(oth.nRules) , saves(oth.saves) , rules(oth.rules) { } Accept& operator=(const Accept& oth) { new(this) Accept(oth); return *this; } #endif }; class Rule: public Action { public: RuleOp *rule; public: Rule(State*, RuleOp*); void emit(std::ostream&, uint, bool&, const std::string&) const; bool isRule() const; #ifdef PEDANTIC private: Rule (const Rule& oth) : Action(oth) , rule(oth.rule) { } Rule& operator=(const Rule& oth) { new(this) Rule(oth); return *this; } #endif }; class Span { public: uint ub; State *to; public: uint show(std::ostream&, uint) const; }; class Go { public: Go() : nSpans(0) , wSpans(~0u) , lSpans(~0u) , dSpans(~0u) , lTargets(~0u) , span(NULL) { } public: uint nSpans; // number of spans uint wSpans; // number of spans in wide mode uint lSpans; // number of low (non wide) spans uint dSpans; // number of decision spans (decide between g and b mode) uint lTargets; Span *span; public: void genGoto( std::ostream&, uint ind, const State *from, const State *next, bool &readCh); void genBase( std::ostream&, uint ind, const State *from, const State *next, bool &readCh, uint mask) const; void genLinear(std::ostream&, uint ind, const State *from, const State *next, bool &readCh, uint mask) const; void genBinary(std::ostream&, uint ind, const State *from, const State *next, bool &readCh, uint mask) const; void genSwitch(std::ostream&, uint ind, const State *from, const State *next, bool &readCh, uint mask) const; void genCpGoto(std::ostream&, uint ind, const State *from, const State *next, bool &readCh) const; void compact(); void unmap(Go*, const State*); }; class State { public: uint label; RuleOp *rule; State *next; State *link; uint depth; // for finding SCCs uint kCount; Ins **kernel; bool isPreCtxt; bool isBase; Go go; Action *action; public: State(); ~State(); void emit(std::ostream&, uint, bool&, const std::string&) const; friend std::ostream& operator<<(std::ostream&, const State&); friend std::ostream& operator<<(std::ostream&, const State*); #ifdef PEDANTIC private: State(const State& oth) : label(oth.label) , rule(oth.rule) , next(oth.next) , link(oth.link) , depth(oth.depth) , kCount(oth.kCount) , kernel(oth.kernel) , isBase(oth.isBase) , go(oth.go) , action(oth.action) { } State& operator = (const State& oth) { new(this) State(oth); return *this; } #endif }; class DFA { public: uint lbChar; uint ubChar; uint nStates; State *head, **tail; State *toDo; const Ins *free_ins; const Char *free_rep; protected: bool bSaveOnHead; uint *saves; State **rules; public: DFA(Ins*, uint, uint, uint, const Char*); ~DFA(); void addState(State**, State*); State *findState(Ins**, uint); void split(State*); void findSCCs(); void findBaseState(); void prepare(); void emit(std::ostream&, uint&, const RegExpMap*, const std::string&, bool, bool&); friend std::ostream& operator<<(std::ostream&, const DFA&); friend std::ostream& operator<<(std::ostream&, const DFA*); #ifdef PEDANTIC DFA(const DFA& oth) : lbChar(oth.lbChar) , ubChar(oth.ubChar) , nStates(oth.nStates) , head(oth.head) , tail(oth.tail) , toDo(oth.toDo) { } DFA& operator = (const DFA& oth) { new(this) DFA(oth); return *this; } #endif }; inline Action::Action(State *s) : state(s) { delete s->action; s->action = this; } inline Action::~Action() { } inline bool Action::isRule() const { return false; } inline bool Action::isMatch() const { return false; } inline bool Action::isInitial() const { return false; } inline bool Action::readAhead() const { return !isMatch() || (state && state->next && state->next->action && !state->next->action->isRule()); } inline Match::Match(State *s) : Action(s) { } inline bool Match::isMatch() const { return true; } inline Enter::Enter(State *s, uint l) : Action(s), label(l) { } inline Initial::Initial(State *s, uint l, bool b) : Enter(s, l), setMarker(b) { } inline bool Initial::isInitial() const { return true; } inline Save::Save(State *s, uint i) : Match(s), selector(i) { } inline bool Save::isMatch() const { return false; } inline bool Rule::isRule() const { return true; } inline std::ostream& operator<<(std::ostream &o, const State *s) { return o << *s; } inline std::ostream& operator<<(std::ostream &o, const DFA *dfa) { return o << *dfa; } } // end namespace re2c #endif re2c-0.13.5/globals.h0000664000076500007660000000443211016275332011170 00000000000000/* $Id: globals.h 855 2008-03-24 18:46:49Z helly $ */ #ifndef _globals_h #define _globals_h #include "basics.h" #include #include #include #include "stream_lc.h" #include "code_names.h" namespace re2c { enum { BSIZE = 8192}; extern file_info sourceFileInfo; extern file_info outputFileInfo; extern file_info headerFileInfo; extern bool bFlag; extern bool cFlag; extern bool dFlag; extern bool DFlag; extern bool eFlag; extern bool fFlag; extern bool FFlag; extern bool gFlag; extern bool iFlag; extern bool rFlag; extern bool sFlag; extern bool tFlag; extern bool uFlag; extern bool wFlag; extern bool bNoGenerationDate; extern bool bSinglePass; extern bool bFirstPass; extern bool bLastPass; extern bool bUsedYYAccept; extern bool bUsedYYMaxFill; extern bool bUsedYYMarker; extern bool bUsedYYBitmap; extern bool bUseStartLabel; extern std::string startLabelName; extern std::string labelPrefix; extern std::string condPrefix; extern std::string condEnumPrefix; extern std::string condDivider; extern std::string condDividerParam; extern std::string condGoto; extern std::string condGotoParam; extern std::string yychConversion; extern std::string yyFillLength; extern std::string yySetConditionParam; extern std::string yySetStateParam; extern std::string yySetupRule; extern uint maxFill; extern uint next_label; extern uint cGotoThreshold; /* configurations */ extern uint topIndent; extern std::string indString; extern bool yybmHexTable; extern bool bEmitYYCh; extern bool bUseStateAbort; extern bool bUseStateNext; extern bool bUseYYFill; extern bool bUseYYFillParam; extern bool bUseYYFillCheck; extern bool bUseYYFillNaked; extern bool bUseYYSetConditionParam; extern bool bUseYYGetConditionNaked; extern bool bUseYYSetStateParam; extern bool bUseYYSetStateNaked; extern bool bUseYYGetStateNaked; extern bool bWroteGetState; extern bool bWroteCondCheck; extern bool bCaseInsensitive; extern bool bCaseInverted; extern bool bTypesDone; extern uint asc2ebc[256]; extern uint ebc2asc[256]; extern uint *xlat, *talx; extern uint next_fill_index; extern uint last_fill_index; extern std::set vUsedLabels; extern CodeNames mapCodeName; extern std::string typesInline; extern uint nRealChars; extern char octCh(uint c); extern char hexCh(uint c); } // end namespace re2c #endif re2c-0.13.5/ins.h0000664000076500007660000000112311016275332010330 00000000000000/* $Id: ins.h 535 2006-05-25 13:36:14Z helly $ */ #ifndef _ins_h #define _ins_h #include "basics.h" namespace re2c { typedef unsigned short Char; const uint CHAR = 0; const uint GOTO = 1; const uint FORK = 2; const uint TERM = 3; const uint CTXT = 4; union Ins { struct { byte tag; byte marked; void *link; } i; struct { ushort value; ushort bump; void *link; } c; }; inline bool isMarked(Ins *i) { return i->i.marked != 0; } inline void mark(Ins *i) { i->i.marked = true; } inline void unmark(Ins *i) { i->i.marked = false; } } // end namespace re2c #endif re2c-0.13.5/parser.h0000664000076500007660000000144311016275332011040 00000000000000/* $Id: parser.h 854 2008-03-24 16:41:12Z helly $ */ #ifndef _parser_h #define _parser_h #include "scanner.h" #include "re.h" #include namespace re2c { class Symbol { public: RegExp* re; static Symbol *find(const SubStr&); static void ClearTable(); typedef std::map SymbolTable; const Str& GetName() const { return name; } protected: Symbol(const SubStr& str) : re(NULL) , name(str) { } private: static SymbolTable symbol_table; Str name; #if PEDANTIC Symbol(const Symbol& oth) : re(oth.re) , name(oth.name) { } Symbol& operator = (const Symbol& oth) { new(this) Symbol(oth); return *this; } #endif }; extern void parse(Scanner&, std::ostream&, std::ostream*); extern void parse_cleanup(); } // end namespace re2c #endif re2c-0.13.5/re.h0000664000076500007660000001644011016275332010155 00000000000000/* $Id: re.h 850 2008-03-24 01:05:08Z helly $ */ #ifndef _re_h #define _re_h #include #include #include #include #include #include #include "token.h" #include "ins.h" #include "globals.h" namespace re2c { template class free_list: protected std::set<_Ty> { public: typedef typename std::set<_Ty>::iterator iterator; typedef typename std::set<_Ty>::size_type size_type; typedef typename std::set<_Ty>::key_type key_type; free_list(): in_clear(false) { } using std::set<_Ty>::insert; size_type erase(const key_type& key) { if (!in_clear) { return std::set<_Ty>::erase(key); } return 0; } void clear() { in_clear = true; for(iterator it = this->begin(); it != this->end(); ++it) { delete *it; } std::set<_Ty>::clear(); in_clear = false; } ~free_list() { clear(); } protected: bool in_clear; }; typedef struct extop { char op; int minsize; int maxsize; } ExtOp; struct CharPtn { uint card; CharPtn *fix; CharPtn *nxt; }; typedef CharPtn *CharPtr; struct CharSet { CharSet(); ~CharSet(); CharPtn *fix; CharPtn *freeHead, **freeTail; CharPtr *rep; CharPtn *ptn; }; class Range { public: Range *next; uint lb, ub; // [lb,ub) static free_list vFreeList; public: Range(uint l, uint u) : next(NULL), lb(l), ub(u) { vFreeList.insert(this); } Range(Range &r) : next(NULL), lb(r.lb), ub(r.ub) { vFreeList.insert(this); } ~Range() { vFreeList.erase(this); } friend std::ostream& operator<<(std::ostream&, const Range&); friend std::ostream& operator<<(std::ostream&, const Range*); }; inline std::ostream& operator<<(std::ostream &o, const Range *r) { return r ? o << *r : o; } class RegExp { public: uint size; static free_list vFreeList; public: RegExp() : size(0) { vFreeList.insert(this); } virtual ~RegExp() { vFreeList.erase(this); } virtual const char *typeOf() = 0; RegExp *isA(const char *t) { return typeOf() == t ? this : NULL; } virtual void split(CharSet&) = 0; virtual void calcSize(Char*) = 0; virtual uint fixedLength(); virtual void compile(Char*, Ins*) = 0; virtual void display(std::ostream&) const = 0; friend std::ostream& operator<<(std::ostream&, const RegExp&); friend std::ostream& operator<<(std::ostream&, const RegExp*); }; inline std::ostream& operator<<(std::ostream &o, const RegExp &re) { re.display(o); return o; } inline std::ostream& operator<<(std::ostream &o, const RegExp *re) { return o << *re; } class NullOp: public RegExp { public: static const char *type; public: const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); uint fixedLength(); void compile(Char*, Ins*); void display(std::ostream &o) const { o << "_"; } }; class MatchOp: public RegExp { public: static const char *type; Range *match; public: MatchOp(Range *m) : match(m) { } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); uint fixedLength(); void compile(Char*, Ins*); void display(std::ostream&) const; #ifdef PEDANTIC private: MatchOp(const MatchOp& oth) : RegExp(oth) , match(oth.match) { } MatchOp& operator = (const MatchOp& oth) { new(this) MatchOp(oth); return *this; } #endif }; class RuleOp: public RegExp { public: static const char *type; private: RegExp *exp; public: RegExp *ctx; Ins *ins; uint accept; Token *code; uint line; public: RuleOp(RegExp*, RegExp*, Token*, uint); ~RuleOp() { delete code; } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); void compile(Char*, Ins*); void display(std::ostream &o) const { o << exp << "/" << ctx << ";"; } RuleOp* copy(uint) const; #ifdef PEDANTIC private: RuleOp(const RuleOp& oth) : RegExp(oth) , exp(oth.exp) , ctx(oth.ctx) , ins(oth.ins) , accept(oth.accept) , code(oth.code) , line(oth.line) { } RuleOp& operator = (const RuleOp& oth) { new(this) RuleOp(oth); return *this; } #endif }; class RuleLine: public line_number { public: RuleLine(const RuleOp& _op) : op(_op) { } uint get_line() const { return op.code->line; } const RuleOp& op; }; RegExp *mkAlt(RegExp*, RegExp*); class AltOp: public RegExp { private: RegExp *exp1, *exp2; public: static const char *type; public: AltOp(RegExp *e1, RegExp *e2) : exp1(e1) , exp2(e2) { } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); uint fixedLength(); void compile(Char*, Ins*); void display(std::ostream &o) const { o << exp1 << "|" << exp2; } friend RegExp *mkAlt(RegExp*, RegExp*); #ifdef PEDANTIC private: AltOp(const AltOp& oth) : RegExp(oth) , exp1(oth.exp1) , exp2(oth.exp2) { } AltOp& operator = (const AltOp& oth) { new(this) AltOp(oth); return *this; } #endif }; class CatOp: public RegExp { private: RegExp *exp1, *exp2; public: static const char *type; public: CatOp(RegExp *e1, RegExp *e2) : exp1(e1) , exp2(e2) { } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); uint fixedLength(); void compile(Char*, Ins*); void display(std::ostream &o) const { o << exp1 << exp2; } #ifdef PEDANTIC private: CatOp(const CatOp& oth) : RegExp(oth) , exp1(oth.exp1) , exp2(oth.exp2) { } CatOp& operator = (const CatOp& oth) { new(this) CatOp(oth); return *this; } #endif }; class CloseOp: public RegExp { private: RegExp *exp; public: static const char *type; public: CloseOp(RegExp *e) : exp(e) { } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); void compile(Char*, Ins*); void display(std::ostream &o) const { o << exp << "+"; } #ifdef PEDANTIC private: CloseOp(const CloseOp& oth) : RegExp(oth) , exp(oth.exp) { } CloseOp& operator = (const CloseOp& oth) { new(this) CloseOp(oth); return *this; } #endif }; class CloseVOp: public RegExp { private: RegExp *exp; int min; int max; public: static const char *type; public: CloseVOp(RegExp *e, int lb, int ub) : exp(e) , min(lb) , max(ub) { } const char *typeOf() { return type; } void split(CharSet&); void calcSize(Char*); void compile(Char*, Ins*); void display(std::ostream &o) const { o << exp << "+"; } #ifdef PEDANTIC private: CloseVOp(const CloseVOp& oth) : RegExp(oth) , exp(oth.exp) , min(oth.min) , max(oth.max) { } CloseVOp& operator = (const CloseVOp& oth) { new(this) CloseVOp(oth); return *this; } #endif }; typedef std::set CondList; typedef std::pair NRegExp; typedef std::map RegExpMap; typedef std::vector RegExpIndices; typedef std::list RuleOpList; typedef std::pair LineCode; typedef std::map SetupMap; class DFA; extern DFA* genCode(RegExp*); extern void genGetStateGoto(std::ostream&, uint&, uint); extern void genCondTable(std::ostream&, uint, const RegExpMap&); extern void genCondGoto(std::ostream&, uint, const RegExpMap&); extern void genTypes(std::string&, uint, const RegExpMap&); extern void genHeader(std::ostream&, uint, const RegExpMap&); extern RegExp *mkDiff(RegExp*, RegExp*); extern RegExp *mkAlt(RegExp*, RegExp*); } // end namespace re2c #endif re2c-0.13.5/scanner.h0000664000076500007660000000516311016275332011200 00000000000000/* $Id: scanner.h 860 2008-04-09 22:57:45Z nuno-lopes $ */ #ifndef _scanner_h #define _scanner_h #include #include #include "token.h" #include "re.h" #include "globals.h" namespace re2c { struct ScannerState { ScannerState(); char *tok, *ptr, *cur, *pos, *ctx; // positioning char *bot, *lim, *top, *eof; // buffer uint tchar, tline, cline, iscfg, buf_size; bool in_parse; }; class Scanner: public line_number, private ScannerState { private: std::istream& in; std::ostream& out; private: char *fill(char*, uint); Scanner(const Scanner&); //unimplemented Scanner& operator=(const Scanner&); //unimplemented void set_sourceline(char *& cursor); public: Scanner(std::istream&, std::ostream&); ~Scanner(); enum ParseMode { Stop, Parse, Reuse, Rules }; ParseMode echo(); int scan(); void reuse(); size_t get_pos() const; void save_state(ScannerState&) const; void restore_state(const ScannerState&); uint get_cline() const; void set_in_parse(bool new_in_parse); void fatal_at(uint line, uint ofs, const char *msg) const; void fatalf_at(uint line, const char*, ...) const; void fatalf(const char*, ...) const; void fatal(const char*) const; void fatal(uint, const char*) const; void config(const Str&, int); void config(const Str&, const Str&); void check_token_length(char *pos, uint len) const; SubStr token() const; SubStr token(uint start, uint len) const; Str raw_token(std::string enclosure) const; virtual uint get_line() const; uint xlat(uint c) const; uint unescape(SubStr &s) const; std::string& unescape(SubStr& str_in, std::string& str_out) const; Range * getRange(SubStr &s) const; RegExp * matchChar(uint c) const; RegExp * strToName(SubStr s) const; RegExp * strToRE(SubStr s) const; RegExp * strToCaseInsensitiveRE(SubStr s) const; RegExp * ranToRE(SubStr s) const; RegExp * getAnyRE() const; RegExp * invToRE(SubStr s) const; RegExp * mkDot() const; }; inline size_t Scanner::get_pos() const { return cur - bot; } inline uint Scanner::get_line() const { return cline; } inline uint Scanner::get_cline() const { return cline; } inline void Scanner::save_state(ScannerState& state) const { state = *this; } inline void Scanner::fatal(const char *msg) const { fatal(0, msg); } inline SubStr Scanner::token() const { check_token_length(tok, cur - tok); return SubStr(tok, cur - tok); } inline SubStr Scanner::token(uint start, uint len) const { check_token_length(tok + start, len); return SubStr(tok + start, len); } inline uint Scanner::xlat(uint c) const { return re2c::wFlag ? c : re2c::xlat[c & 0xFF]; } } // end namespace re2c #endif re2c-0.13.5/substr.h0000664000076500007660000000330611016275332011066 00000000000000/* $Id: substr.h 860 2008-04-09 22:57:45Z nuno-lopes $ */ #ifndef _substr_h #define _substr_h #include #include #include "basics.h" namespace re2c { class SubStr { public: const char * str; const char * const org; uint len; public: friend bool operator==(const SubStr &, const SubStr &); SubStr(const uchar*, uint); SubStr(const char*, uint); SubStr(const char*); SubStr(const SubStr&); virtual ~SubStr(); void out(std::ostream&) const; std::string to_string() const; uint ofs() const; #ifdef PEDANTIC protected: SubStr& operator = (const SubStr& oth); #endif }; class Str: public SubStr { public: Str(const SubStr&); Str(Str&); Str(const char*); Str(); ~Str(); }; inline std::ostream& operator<<(std::ostream& o, const SubStr &s) { s.out(o); return o; } inline std::ostream& operator<<(std::ostream& o, const SubStr* s) { return o << *s; } inline SubStr::SubStr(const uchar *s, uint l) : str((char*)s), org((char*)s), len(l) { } inline SubStr::SubStr(const char *s, uint l) : str(s), org(s), len(l) { } inline SubStr::SubStr(const char *s) : str(s), org(s), len(strlen(s)) { } inline SubStr::SubStr(const SubStr &s) : str(s.str), org(s.str), len(s.len) { } inline SubStr::~SubStr() { } inline std::string SubStr::to_string() const { return str && len ? std::string(str, len) : std::string(); } inline uint SubStr::ofs() const { return str - org; } #ifdef PEDANTIC inline SubStr& SubStr::operator = (const SubStr& oth) { new(this) SubStr(oth); return *this; } #endif } // end namespace re2c #ifndef HAVE_STRNDUP char *strndup(const char *str, size_t len); #endif #if defined(_MSC_VER) && !defined(vsnprintf) #define vsnprintf _vsnprintf #endif #endif re2c-0.13.5/token.h0000664000076500007660000000303511016275332010663 00000000000000/* $Id: token.h 858 2008-04-03 20:53:44Z helly $ */ #ifndef _token_h #define _token_h #include "substr.h" #include "stream_lc.h" namespace re2c { class Token { public: const Str text; const std::string newcond; const std::string source; uint line; const bool autogen; public: Token(const SubStr&, const file_info&); Token(const SubStr&, const std::string&, uint); Token(const Token*, const file_info&, const Str*); Token(const Token*, const std::string&, uint, const Str*); Token(const Token& oth); ~Token(); }; inline Token::Token(const SubStr& t, const file_info& fi) : text(t) , newcond() , source(fi.fname) , line(fi.ln->get_line()) , autogen(false) { ; } inline Token::Token(const SubStr& t, const std::string& s, uint l) : text(t) , newcond() , source(s) , line(l) , autogen(false) { ; } inline Token::Token(const Token* t, const file_info& fi, const Str *c) : text(t ? t->text.to_string().c_str() : "") , newcond(c ? c->to_string() : "") , source(t ? t->source : fi.fname) , line(t ? t->line : fi.ln->get_line()) , autogen(t == NULL) { ; } inline Token::Token(const Token* t, const std::string& s, uint l, const Str *c) : text(t ? t->text.to_string().c_str() : "") , newcond(c ? c->to_string() : "") , source(s) , line(l) , autogen(t == NULL) { ; } inline Token::Token(const Token& oth) : text(oth.text.to_string().c_str()) , newcond(oth.newcond) , source(oth.source) , line(oth.line) , autogen(oth.autogen) { ; } inline Token::~Token() { } } // end namespace re2c #endif re2c-0.13.5/mbo_getopt.h0000775000076500007660000000135611016275332011711 00000000000000/* Author: Marcus Boerger */ /* $Id: mbo_getopt.h 539 2006-05-25 13:37:38Z helly $ */ /* Define structure for one recognized option (both single char and long name). * If short_open is '-' this is the last option. */ #ifndef RE2C_MBO_GETOPT_H_INCLUDE_GUARD_ #define RE2C_MBO_GETOPT_H_INCLUDE_GUARD_ namespace re2c { struct mbo_opt_struct { mbo_opt_struct(char _opt_char, int _need_param, const char * _opt_name) : opt_char(_opt_char), need_param(_need_param), opt_name(_opt_name) { } const char opt_char; const int need_param; const char * opt_name; }; int mbo_getopt(int argc, char* const *argv, const mbo_opt_struct *opts, char **optarg, int *optind, int show_err); } // end namespace re2c #endif re2c-0.13.5/code.h0000775000076500007660000000155611016275332010466 00000000000000/* $Id: code.h 525 2006-05-25 13:32:49Z helly $ */ #ifndef _code_h #define _code_h #include "re.h" #include "dfa.h" namespace re2c { class BitMap { public: static BitMap *first; const Go *go; const State *on; const BitMap *next; uint i; uint m; public: static const BitMap *find(const Go*, const State*); static const BitMap *find(const State*); static void gen(std::ostream&, uint ind, uint, uint); static void stats(); BitMap(const Go*, const State*); ~BitMap(); #if PEDANTIC BitMap(const BitMap& oth) : go(oth.go) , on(oth.on) , next(oth.next) , i(oth.i) , m(oth.m) { } BitMap& operator = (const BitMap& oth) { new(this) BitMap(oth); return *this; } #endif }; #ifdef _MSC_VER # pragma warning(disable: 4355) /* 'this' : used in base member initializer list */ #endif } // end namespace re2c #endif re2c-0.13.5/stream_lc.h0000775000076500007660000001627211016275332011526 00000000000000/* Author: Marcus Boerger */ /* $Id: stream_lc.h 858 2008-04-03 20:53:44Z helly $ */ #ifndef _stream_lc_h #define _stream_lc_h #include #include #include #include namespace re2c { template > class basic_null_streambuf : public std::basic_streambuf<_E, _Tr> { public: basic_null_streambuf() : std::basic_streambuf<_E, _Tr>() { } }; typedef basic_null_streambuf null_streambuf; template > class basic_null_stream : public std::basic_ostream<_E, _Tr> { public: basic_null_stream() : std::basic_ostream<_E, _Tr>(null_buf = new basic_null_streambuf<_E, _Tr>()) { } virtual ~basic_null_stream() { delete null_buf; } basic_null_stream& put(_E) { // nothing to do return *this; } basic_null_stream& write(const _E *, std::streamsize) { // nothing to do return *this; } protected: basic_null_streambuf<_E, _Tr> * null_buf; }; typedef basic_null_stream null_stream; class line_number { public: virtual ~line_number() { } virtual uint get_line() const = 0; }; template > class basic_filebuf_lc : public std::basic_streambuf<_E, _Tr> , public line_number { public: typedef std::basic_streambuf<_E, _Tr> _Mybase; typedef basic_filebuf_lc<_E, _Tr> _Myt; typedef _E char_type; typedef _Tr traits_type; typedef typename _Tr::int_type int_type; typedef typename _Tr::pos_type pos_type; typedef typename _Tr::off_type off_type; basic_filebuf_lc(FILE *_fp = 0) : _Mybase() , fp(_fp) , must_close(false) , fline(1) { } virtual ~basic_filebuf_lc() { sync(); if (must_close) { close(); } } uint get_line() const { return fline + 1; } bool is_open() const { return fp != 0; } _Myt* open(const char *filename, std::ios_base::openmode mode = std::ios_base::out) { if (fp != 0) { return 0; } const char * fmode = (mode & std::ios_base::out) ? "wt" : "rt"; if ((fp = fopen(filename, fmode)) == 0) { return 0; } must_close = true; return this; } _Myt* open(FILE * _fp) { if (fp != 0) { return 0; } fp = _fp; must_close = false; return this; } _Myt* close() { sync(); if (fp == 0 || fclose(fp) != 0) { fp = 0; return 0; } else { fp = 0; return this; } } protected: virtual int_type overflow(int_type c = _Tr::eof()) { if (c == '\n') { ++fline; } if (_Tr::eq_int_type(_Tr::eof(), c)) { return _Tr::not_eof(c); } else { buffer += _Tr::to_char_type(c); return c; } } virtual int_type pbackfail(int_type c = _Tr::eof()) { assert(0); c = 0; return _Tr::eof(); } virtual int_type underflow() // don't point past it { int c; if (buffer.length()) { return buffer[0]; } if (fp == 0 || ((c = fgetc(fp)) == EOF)) { return _Tr::eof(); } buffer += (char)c; return c; } virtual int_type uflow() // point past it { int c; if (buffer.length()) { c = buffer[0]; buffer.erase(0, 1); return c; } if (fp == 0 || ((c = fgetc(fp)) == EOF)) { return _Tr::eof(); } else if (c == '\n') { ++fline; } return c; } #if 0 virtual std::streamsize xsgetn(_E* buf, std::streamsize n) { std::streamsize r = 0; while(n--) { int_type c = underflow(); if (_Tr::eq_int_type(_Tr::eof(), c)) { break; } buf[r++] = c; } buf[r] = '\0'; return r; } #endif virtual pos_type seekoff(off_type off, std::ios_base::seekdir whence, std::ios_base::openmode = (std::ios_base::openmode)(std::ios_base::in | std::ios_base::out)) { return fseek(fp, (long)off, whence); } virtual pos_type seekpos(pos_type fpos, std::ios_base::openmode = (std::ios_base::openmode)(std::ios_base::in | std::ios_base::out)) { return fseek(fp, (long)fpos, SEEK_SET); } virtual _Mybase * setbuf(_E *, std::streamsize) { assert(0); return this; } virtual int sync() { if (buffer.length() != 0) { fwrite(buffer.c_str(), sizeof(_E), buffer.length(), fp); } buffer.clear(); return fp == 0 || _Tr::eq_int_type(_Tr::eof(), overflow()) || 0 <= fflush(fp) ? 0 : -1; } virtual std::streamsize xsputn(const _E *buf, std::streamsize cnt) { if (buffer.length() != 0) { fwrite(buffer.c_str(), sizeof(_E), buffer.length(), fp); } buffer.clear(); /*fline += std::count(buf, buf + cnt, '\n');*/ for (std::streamsize pos = 0; pos < cnt; ++pos) { if (buf[pos] == '\n') { ++fline; } } if (cnt != 0) { return fwrite(buf, sizeof(_E), cnt, fp); } else { return 0; } } private: FILE * fp; bool must_close; uint fline; std::basic_string<_E, _Tr> buffer; }; typedef basic_filebuf_lc filebuf_lc; template< class _E, class _BaseStream, std::ios_base::openmode _DefOpenMode, class _Tr = std::char_traits<_E> > class basic_fstream_lc : public _BaseStream , public line_number { public: typedef basic_fstream_lc<_E, _BaseStream, _DefOpenMode, _Tr> _Myt; typedef std::basic_ios<_E, _Tr> _Myios; typedef _BaseStream _Mybase; typedef basic_filebuf_lc<_E, _Tr> _Mybuf; basic_fstream_lc() : _Mybase(mybuf = new _Mybuf()) { } virtual ~basic_fstream_lc() { delete mybuf; } bool is_open() const { return mybuf->is_open(); } _Myt& open(const char * filename, std::ios_base::openmode mode = _DefOpenMode) { if ((mode & _DefOpenMode) == 0 || mybuf->open(filename, mode) == 0) { _Myios::setstate(std::ios_base::failbit); } return *this; } _Myt& open(FILE *fp) { if (mybuf->open(fp) == 0) { _Myios::setstate(std::ios_base::failbit); } return *this; } void close() { if (mybuf->close() == 0) { _Myios::setstate(std::ios_base::failbit); } } uint get_line() const { return mybuf->get_line(); } protected: mutable _Mybuf *mybuf; }; template > class basic_ofstream_lc : public basic_fstream_lc<_E, std::basic_ostream<_E, _Tr>, std::ios_base::out, _Tr> { }; typedef basic_ofstream_lc ofstream_lc; template > class basic_ifstream_lc : public basic_fstream_lc<_E, std::basic_istream<_E, _Tr>, std::ios_base::in, _Tr> { }; typedef basic_ifstream_lc ifstream_lc; class file_info { public: static std::string escape(const std::string& _str) { std::string str(_str); size_t l = str.length(); for (size_t p = 0; p < l; ++p) { if (str[p] == '\\') { str.insert(++p, "\\"); ++l; } } return str; } file_info() : ln(NULL) { } file_info(const std::string& _fname, const line_number* _ln, bool _escape = true) : fname(_escape ? escape(_fname) : _fname) , ln(_ln) { } file_info(const file_info& oth, const line_number* _ln = NULL) : fname(oth.fname) , ln(_ln) { } file_info& operator = (const file_info& oth) { *(const_cast(&this->fname)) = oth.fname; ln = oth.ln; return *this; } void set_fname(const std::string& _fname) { *(const_cast(&this->fname)) = _fname; } const std::string fname; const line_number* ln; }; std::ostream& operator << (std::ostream& o, const file_info& li); } // end namespace re2c #endif /* _stream_lc_h */ re2c-0.13.5/code_names.h0000775000076500007660000000106411016275332011643 00000000000000/* $Id: token.h 547 2006-05-25 13:40:35Z helly $ */ #ifndef _code_names_h #define _code_names_h #include #include namespace re2c { class CodeNames: public std::map { public: std::string& operator [] (const char * what); }; inline std::string& CodeNames::operator [] (const char * what) { CodeNames::iterator it = find(std::string(what)); if (it != end()) { return it->second; } else { return insert(std::make_pair(std::string(what), std::string(what))).first->second; } } } // end namespace re2c #endif re2c-0.13.5/re2c.10000664000076500007660000010174211016275423010314 00000000000000./" ./" $Id: re2c.1.in 862 2008-05-25 14:30:45Z helly $ ./" .TH RE2C 1 "25 May 2008" "Version 0.13.5" .ds re \fBre2c\fP .ds le \fBlex\fP .ds rx regular-expression .ds rxs regular-expressions .ds lx \fIl\fP-expression .SH NAME \*(re \- convert \*(rxs to C/C++ .SH SYNOPSIS \*(re [\fB-bdDefFghisuvVw1\fP] [\fB-o output\fP] [\fB-c\fP [\fB-t header\fP]] \fBfile\fP .SH DESCRIPTION \*(re is a preprocessor that generates C-based recognizers from regular expressions. The input to \*(re consists of C/C++ source interleaved with comments of the form \fC/*!re2c\fP ... \fC*/\fP which contain scanner specifications. In the output these comments are replaced with code that, when executed, will find the next input token and then execute some user-supplied token-specific code. For example, given the following code .in +3 .nf char *scan(char *p) { /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:indent:top = 1; [0-9]+ {return p;} [^] {return (char*)0;} */ } .fi .in -3 \*(re -is will generate .in +3 .nf /* Generated by re2c on Sat Apr 16 11:40:58 1994 */ char *scan(char *p) { { unsigned char yych; yych = (unsigned char)*p; if(yych <= '/') goto yy4; if(yych >= ':') goto yy4; ++p; yych = (unsigned char)*p; goto yy7; yy3: {return p;} yy4: ++p; yych = (unsigned char)*p; {return char*)0;} yy6: ++p; yych = (unsigned char)*p; yy7: if(yych <= '/') goto yy3; if(yych <= '9') goto yy6; goto yy3; } } .fi .in -3 You can place one \fC/*!max:re2c */\fP comment that will output a "#define \fCYYMAXFILL\fP " line that holds the maximum number of characters required to parse the input. That is the maximum value \fCYYFILL\fP(n) will receive. If -1 is in effect then YYMAXFILL can only be triggered once after the last \fC/*!re2c */\fP. You can also use \fC/*!ignore:re2c */\fP blocks that allows to document the scanner code and will not be part of the output. .SH OPTIONS \*(re provides the following options: .TP \fB-?\fP \fB-h\fP Invoke a short help. .TP \fB-b\fP Implies \fB-s\fP. Use bit vectors as well in the attempt to coax better code out of the compiler. Most useful for specifications with more than a few keywords (e.g. for most programming languages). .TP \fB-c\fP Used to support (f)lex-like condition support. .TP \fB-d\fP Creates a parser that dumps information about the current position and in which state the parser is while parsing the input. This is useful to debug parser issues and states. If you use this switch you need to define a macro \fIYYDEBUG\fP that is called like a function with two parameters: \fIvoid YYDEBUG(int state, char current)\fP. The first parameter receives the state or -1 and the second parameter receives the input at the current cursor. .TP \fB-D\fP Emit Graphviz dot data. It can then be processed with e.g. "dot -Tpng input.dot > output.png". Please note that scanners with many states may crash dot. .TP \fB-e\fP Cross-compile from an ASCII platform to an EBCDIC one. .TP \fB-f\fP Generate a scanner with support for storable state. For details see below at \fBSCANNER WITH STORABLE STATES\fP. .TP \fB-F\fP Partial support for flex syntax. When this flag is active then named definitions must be surrounded by curly braces and can be defined without an equal sign and the terminating semi colon. Instead names are treated as direct double quoted strings. .TP \fB-g\fP Generate a scanner that utilizes GCC's computed goto feature. That is \*(re generates jump tables whenever a decision is of a certain complexity (e.g. a lot of if conditions are otherwise necessary). This is only useable with GCC and produces output that cannot be compiled with any other compiler. Note that this implies -b and that the complexity threshold can be configured using the inplace configuration "cgoto:threshold". .TP \fB-i\fP Do not output #line information. This is usefull when you want use a CMS tool with the \*(re output which you might want if you do not require your users to have \*(re themselves when building from your source. \fB-o output\fP Specify the output file. .TP \fB-r\fP Allows reuse of scanner definitions with '\fB/*!use:re2c\fP' after '\fB/*!rules:re2c\fP'. In this mode no '\fB/*!re2c\fP' block and exactly one '\fB/*!rules:re2c\fP' must be present. The rules are being saved and used by every '\fB/*!use:re2c\fP' block that follows. These blocks can contain inplace configurations, especially '\fBre2c:flags:w\fP' and '\fBre2c:flags:u\fP'. That way it is possible to create the same scanner multiple times for different character types, different input mechanisms or different output mechanisms. The '\fB/*!use:re2c\fP' blocks can also contain additional rules that will be appended to the set of rules in '\fB/*!rules:re2c\fP'. .TP \fB-s\fP Generate nested \fCif\fPs for some \fCswitch\fPes. Many compilers need this assist to generate better code. .TP \fB-t\fP Create a header file that contains types for the (f)lex-like condition support. This can only be activated when \fB-c\fP is in use. .TP \fB-u\fP Generate a parser that supports Unicode chars (UTF-32). This means the generated code can deal with any valid Unicode character up to 0x10FFFF. When UTF-8 or UTF-16 needs to be supported you need to convert the incoming stream to UTF-32 upon input yourself. .TP \fB-v\fP Show version information. .TP \fB-V\fP Show the version as a number XXYYZZ. .TP \fB-w\fP Create a parser that supports wide chars (UCS-2). This implies \fB-s\fP and cannot be used together with \fB-e\fP switch. .TP \fB-1\fP Force single pass generation, this cannot be combined with -f and disables YYMAXFILL generation prior to last \*(re block. .TP \fB--no-generation-date\fP Suppress date output in the generated output so that it only shows the re2c version. .TP \fb--case-insensitive\fP All strings are case insensitive, so all "-expressions are treated in the same way '-expressions are. .TP \fB--case-inverted\fP Invert the meaning of single and double quoted strings. With this switch single quotes are case sensitive and double quotes are case insensitive. .SH "INTERFACE CODE" Unlike other scanner generators, \*(re does not generate complete scanners: the user must supply some interface code. In particular, the user must define the following macros or use the corresponding inplace configurations: .TP \fCYYCONDTYPE\fP In \fB-c\fP mode you can use \fB-t\fP to generate a file that contains the enumeration used as conditions. Each of the values refers to a condition of a rule set. .TP \fCYYCTXMARKER\fP \*(lx of type \fC*YYCTYPE\fP. The generated code saves trailing context backtracking information in \fCYYCTXMARKER\fP. The user only needs to define this macro if a scanner specification uses trailing context in one or more of its \*(rxs. .TP \fCYYCTYPE\fP Type used to hold an input symbol. Usually \fCchar\fP or \fCunsigned char\fP. .TP \fCYYCURSOR\fP \*(lx of type \fC*YYCTYPE\fP that points to the current input symbol. The generated code advances \fCYYCURSOR\fP as symbols are matched. On entry, \fCYYCURSOR\fP is assumed to point to the first character of the current token. On exit, \fCYYCURSOR\fP will point to the first character of the following token. .TP \fCYYDEBUG(\fP\fIstate\fP,\fIcurrent\fC)\fP This is only needed if the \fB-d\fP flag was specified. It allows to easily debug the generated parser by calling a user defined function for every state. The function should have the following signature: \fIvoid YYDEBUG(int state, char current)\fP. The first parameter receives the state or -1 and the second parameter receives the input at the current cursor. .TP \fCYYFILL\fP(\fIn\fP\fC\fP) The generated code "calls" \fCYYFILL\fP(n) when the buffer needs (re)filling: at least \fIn\fP additional characters should be provided. \fCYYFILL\fP(n) should adjust \fCYYCURSOR\fP, \fCYYLIMIT\fP, \fCYYMARKER\fP and \fCYYCTXMARKER\fP as needed. Note that for typical programming languages \fIn\fP will be the length of the longest keyword plus one. The user can place a comment of the form \fC/*!max:re2c */\fP once to insert a \fCYYMAXFILL\fP(n) definition that is set to the maximum length value. If -1 switch is used then \fCYYMAXFILL\fP can be triggered only once after the last \fC/*!re2c */\fP block. .TP \fCYYGETCONDITION\fP() This define is used to get the condition prior to entering the scanner code when using \fB-c\fP switch. The value must be initialized with a value from the enumeration \fCYYCONDTYPE\fP type. .TP \fCYYGETSTATE\fP() The user only needs to define this macro if the \fB-f\fP flag was specified. In that case, the generated code "calls" \fCYYGETSTATE\fP() at the very beginning of the scanner in order to obtain the saved state. \fCYYGETSTATE\fP() must return a signed integer. The value must be either -1, indicating that the scanner is entered for the first time, or a value previously saved by \fCYYSETSTATE\fP(s). In the second case, the scanner will resume operations right after where the last \fCYYFILL\fP(n) was called. .TP \fCYYLIMIT\fP Expression of type \fC*YYCTYPE\fP that marks the end of the buffer (\fCYYLIMIT[-1]\fP is the last character in the buffer). The generated code repeatedly compares \fCYYCURSOR\fP to \fCYYLIMIT\fP to determine when the buffer needs (re)filling. .TP \fCYYMARKER\fP \*(lx of type \fC*YYCTYPE\fP. The generated code saves backtracking information in \fCYYMARKER\fP. Some easy scanners might not use this. .TP \fCYYMAXFILL This will be automatically defined by \fC/*!max:re2c */\fP blocks as explained above. .TP \fCYYSETCONDITION(\fP\fIc\fP\fC)\fP This define is used to set the condition in transition rules. This is only being used when \fB-c\fP is active and transition rules are being used. .TP \fCYYSETSTATE(\fP\fIs\fP\fC)\fP The user only needs to define this macro if the \fB-f\fP flag was specified. In that case, the generated code "calls" \fCYYSETSTATE\fP just before calling \fCYYFILL\fP(n). The parameter to \fCYYSETSTATE\fP is a signed integer that uniquely identifies the specific instance of \fCYYFILL\fP(n) that is about to be called. Should the user wish to save the state of the scanner and have \fCYYFILL\fP(n) return to the caller, all he has to do is store that unique identifer in a variable. Later, when the scannered is called again, it will call \fCYYGETSTATE()\fP and resume execution right where it left off. The generated code will contain both \fCYYSETSTATE\fP(s) and \fCYYGETSTATE\fP even if \fCYYFILL\fP(n) is being disabled. .SH "SCANNER WITH STORABLE STATES" When the \fB-f\fP flag is specified, \*(re generates a scanner that can store its current state, return to the caller, and later resume operations exactly where it left off. The default operation of \*(re is a "pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner" the parsing loop, and that may not always be convenient. Typically, if there is a preprocessor ahead of the scanner in the stream, or for that matter any other procedural source of data, the scanner cannot "ask" for more data unless both scanner and source live in a separate threads. The \fB-f\fP flag is useful for just this situation : it lets users design scanners that work in a "push" model, i.e. where data is fed to the scanner chunk by chunk. When the scanner runs out of data to consume, it just stores its state, and return to the caller. When more input data is fed to the scanner, it resumes operations exactly where it left off. When using the -f option \*(re does not accept stdin because it has to do the full generation process twice which means it has to read the input twice. That means \*(re would fail in case it cannot open the input twice or reading the input for the first time influences the second read attempt. Changes needed compared to the "pull" model. 1. User has to supply macros YYSETSTATE() and YYGETSTATE(state) 2. The \fB-f\fP option inhibits declaration of \fIyych\fP and \fIyyaccept\fP. So the user has to declare these. Also the user has to save and restore these. In the example \fIexamples/push.re\fP these are declared as fields of the (C++) class of which the scanner is a method, so they do not need to be saved/restored explicitly. For C they could e.g. be made macros that select fields from a structure passed in as parameter. Alternatively, they could be declared as local variables, saved with YYFILL(n) when it decides to return and restored at entry to the function. Also, it could be more efficient to save the state from YYFILL(n) because YYSETSTATE(state) is called unconditionally. YYFILL(n) however does not get \fIstate\fP as parameter, so we would have to store state in a local variable by YYSETSTATE(state). 3. Modify YYFILL(n) to return (from the function calling it) if more input is needed. 4. Modify caller to recognise "more input is needed" and respond appropriately. 5. The generated code will contain a switch block that is used to restores the last state by jumping behind the corrspoding YYFILL(n) call. This code is automatically generated in the epilog of the first "\fC/*!re2c */\fP" block. It is possible to trigger generation of the YYGETSTATE() block earlier by placing a "\fC/*!getstate:re2c */\fP" comment. This is especially useful when the scanner code should be wrapped inside a loop. Please see examples/push.re for push-model scanner. The generated code can be tweaked using inplace configurations "\fBstate:abort\fP" and "\fBstate:nextlabel\fP". .SH "SCANNER WITH CONDITION SUPPORT" You can preceed \*(rxs with a list of condition names when using the \fB-c\fP switch. In this case \*(re generates scanner blocks for each conditon. Where each of the generated blocks has its own precondition. The precondition is given by the interface define \fBYYGETCONDITON\fP and must be of type \fBYYCONDTYPE\fP. .LP There are two special rule types. First, the rules of the condition '*' are merged to all conditions. And second the empty condition list allows to provide a code block that does not have a scanner part. Meaning it does not allow any regular expression. The condition value referring to this special block is always the one with the enumeration value 0. This way the code of this special rule can be used to initialize a scanner. It is in no way necessary to have these rules: but sometimes it is helpful to have a dedicated uninitialized condition state. .LP Non empty rules allow to specify the new condition, which makes them transition rules. Besides generating calls for the define \fBYYSETCONDTITION\fP no other special code is generated. .LP There is another kind of special rules that allow to prepend code to any code block of all rules of a certain set of conditions or to all code blocks to all rules. This can be helpful when some operation is common among rules. For instance this can be used to store the length of the scanned string. These special setup rules start with an exclamation mark followed by either a list of conditions \fB\fP or a star \fB\fP. When \*(re generates the code for a rule whose state does not have a setup rule and a star'd setup rule is present, than that code will be used as setup code. .SH "SCANNER SPECIFICATIONS" Each scanner specification consists of a set of \fIrules\fP, \fInamed definitions\fP and \fIconfigurations\fP. .LP \fIRules\fP consist of a \*(rx along with a block of C/C++ code that is to be executed when the associated \fI\*(rx\fP is matched. You can either start the code with an opening curly brace or the sequence '\fB:=\fP'. When the code with a curly brace then \*(re counts the brace depth and stops looking for code automatically. Otherwise curly braces are not allowed and \*(re stops looking for code at the first line that does not begin with whitespace. .P .RS \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .RE .P If \fB-c\fP is active then each \*(rx is preceeded by a list of comma separated condition names. Besides normal naming rules there are two special cases. A rule may contain the single condition name '*' and no contition name at all. In the latter case the rule cannot have a \*(rx. Non empty rules may further more specify the new condition. In that case \*(re will generated the necessary code to chnage the condition automatically. Just as above code can be started with a curly brace of the sequence '\fB:=\fP'. Further more rules can use ':=>' as a shortcut to automatically generate code that not only sets the new condition state but also continues execution with the new state. A shortcut rule should not be used in a loop where there is code between the start of the loop and the \*(re block unless \fIre2c:cond:goto\fP is changed to '\fIcontinue;\fP'. If code is necessary before all rule (though not simple jumps) you can doso by using \fP \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC:=>\fP \fP\fIcondition\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<\fP\fI*\fP\fC>\fP \fI\*(rx\fP \fC:=>\fP \fP\fIcondition\fP .P \fC<>\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<>\fP \fC:=\fP \fIC/C++ code\fP .P \fC<>\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC<>\fP \fC=>\fP \fP\fIcondition\fP \fC:=\fP \fIC/C++ code\fP .P \fC<>\fP \fC:=>\fP \fP\fIcondition\fP .P \fC\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC\fP \fC:=\fP \fIC/C++ code\fP .P \fC\fP \fC{\fP \fIC/C++ code\fP \fC}\fP .P \fC\fP \fC:=\fP \fIC/C++ code\fP .RE .LP Named definitions are of the form: .P .RS \fIname\fP \fC=\fP \fI\*(rx\fP\fC;\fP .RE .LP \fB-F\fP is active, then named definitions are also of the form: .P .RS \fIname\fP \fI\*(rx\fP .RE .LP Configurations look like named definitions whose names start with "\fBre2c:\fP": .P .RS \fCre2c:\fP\fIname\fP \fC=\fP \fIvalue\fP\fC;\fP .RE .RS \fCre2c:\fP\fIname\fP \fC=\fP \fB"\fP\fIvalue\fP\fB"\fP\fC;\fP .RE .SH "SUMMARY OF RE2C REGULAR-EXPRESSIONS" .TP \fC"foo"\fP the literal string \fCfoo\fP. ANSI-C escape sequences can be used. .TP \fC'foo'\fP the literal string \fCfoo\fP (characters [a-zA-Z] treated case-insensitive). ANSI-C escape sequences can be used. .TP \fC[xyz]\fP a "character class"; in this case, the \*(rx matches either an '\fCx\fP', a '\fCy\fP', or a '\fCz\fP'. .TP \fC[abj-oZ]\fP a "character class" with a range in it; matches an '\fCa\fP', a '\fCb\fP', any letter from '\fCj\fP' through '\fCo\fP', or a '\fCZ\fP'. .TP \fC[^\fIclass\fP\fC]\fP an inverted "character class". .TP \fIr\fP\fC\e\fP\fIs\fP match any \fIr\fP which isn't an \fIs\fP. \fIr\fP and \fIs\fP must be \*(rxs which can be expressed as character classes. .TP \fIr\fP\fC*\fP zero or more \fIr\fP's, where \fIr\fP is any \*(rx .TP \fC\fIr\fP\fC+\fP one or more \fIr\fP's .TP \fC\fIr\fP\fC?\fP zero or one \fIr\fP's (that is, "an optional \fIr\fP") .TP name the expansion of the "named definition" (see above) .TP \fC(\fP\fIr\fP\fC)\fP an \fIr\fP; parentheses are used to override precedence (see below) .TP \fIrs\fP an \fIr\fP followed by an \fIs\fP ("concatenation") .TP \fIr\fP\fC|\fP\fIs\fP either an \fIr\fP or an \fIs\fP .TP \fIr\fP\fC/\fP\fIs\fP an \fIr\fP but only if it is followed by an \fIs\fP. The \fIs\fP is not part of the matched text. This type of \*(rx is called "trailing context". A trailing context can only be the end of a rule and not part of a named definition. .TP \fIr\fP\fC{\fP\fIn\fP\fC}\fP matches \fIr\fP exactly \fIn\fP times. .TP \fIr\fP\fC{\fP\fIn\fP\fC,}\fP matches \fIr\fP at least \fIn\fP times. .TP \fIr\fP\fC{\fP\fIn\fP\fC,\fP\fIm\fP\fC}\fP matches \fIr\fP at least \fIn\fP but not more than \fIm\fP times. .TP \fC.\fP match any character except newline (\\n). .TP \fIdef\fP matches named definition as specified by \fIdef\fP only if \fB-F\fP is off. If the switch \fB-F\fP is active then this behaves like it was enclosed in double quotes and matches the string \fIdef\fP. .LP Character classes and string literals may contain octoal or hexadecimal character definitions and the following set of escape sequences (\fB\\n\fP, \fB\\t\fP, \fB\\v\fP, \fB\\b\fP, \fB\\r\fP, \fB\\f\fP, \fB\\a\fP, \fB\\\\\fP). An octal character is defined by a backslash followed by its three octal digits and a hexadecimal character is defined by backslash, a lower cased '\fBx\fP' and its two hexadecimal digits or a backslash, an upper cased \fBX\fP and its four hexadecimal digits. .LP \*(re further more supports the c/c++ unicode notation. That is a backslash followed by either a lowercased \fBu\fP and its four hexadecimal digits or an uppercased \fBU\fP and its eight hexadecimal digits. However only in \fB-u\fP mode the generated code can deal with any valid Unicode character up to 0x10FFFF. .LP Since characters greater \fB\\X00FF\fP are not allowed in non unicode mode, the only portable "\fBany\fP" rules are \fB(.|"\\n")\fP and \fB[^]\fP. .LP The \*(rxs listed above are grouped according to precedence, from highest precedence at the top to lowest at the bottom. Those grouped together have equal precedence. .SH "INPLACE CONFIGURATION" .LP It is possible to configure code generation inside \*(re blocks. The following lists the available configurations: .TP \fIre2c:condprefix\fP \fB=\fP yyc_ \fB;\fP Allows to specify the prefix used for condition labels. That is this text is prepended to any condition label in the generated output file. .TP \fIre2c:condenumprefix\fP \fB=\fP yyc \fB;\fP Allows to specify the prefix used for condition values. That is this text is prepended to any condition enum value in the generated output file. .TP \fIre2c:cond:divider\fP \fB=\fP "/* *********************************** */" \fB;\fP Allows to customize the devider for condition blocks. You can use '@@' to put the name of the condition or ustomize the plaeholder using \fIre2c:cond:divider@cond\fP. .TP \fIre2c:cond:divider@cond\fP \fB=\fP @@ \fB;\fP Specifies the placeholder that will be replaced with the condition name in \fIre2c:cond:divider\fP. .TP \fIre2c:cond:goto\fP \fB=\fP "goto @@;" \fB;\fP Allows to customize the condition goto statements used with ':=>' style rules. You can use '@@' to put the name of the condition or ustomize the plaeholder using \fIre2c:cond:goto@cond\fP. You can also change this to 'continue;', which would allow you to continue with the next loop cycle including any code between loop start and re2c block. .TP \fIre2c:cond:goto@cond\fP \fB=\fP @@ \fB;\fP Spcifies the placeholder that will be replaced with the condition label in \fIre2c:cond:goto\fP. .TP \fIre2c:indent:top\fP \fB=\fP 0 \fB;\fP Specifies the minimum number of indendation to use. Requires a numeric value greater than or equal zero. .TP \fIre2c:indent:string\fP \fB=\fP "\\t" \fB;\fP Specifies the string to use for indendation. Requires a string that should contain only whitespace unless you need this for external tools. The easiest way to specify spaces is to enclude them in single or double quotes. If you do not want any indendation at all you can simply set this to \fB""\fP. .TP \fIre2c:yych:conversion\fP \fB=\fP 0 \fB;\fP When this setting is non zero, then \*(re automatically generates conversion code whenever yych gets read. In this case the type must be defined using \fBre2c:define:YYCTYPE\fP. .TP \fIre2c:yych:emit\fP \fB=\fP 1 \fB;\fP Generation of \fByych\fP can be suppressed by setting this to 0. .TP \fIre2c:yybm:hex\fP \fB=\fP 0 \fB;\fP If set to zero then a decimal table is being used else a hexadecimal table will be generated. .TP \fIre2c:yyfill:enable\fP \fB=\fP 1 \fB;\fP Set this to zero to suppress generation of YYFILL(n). When using this be sure to verify that the generated scanner does not read behind input. Allowing this behavior might introduce sever security issues to you programs. .TP \fIre2c:yyfill:check\fP \fB=\fP 1 \fB;\fP This can be set 0 to suppress output of the pre condition using YYCURSOR and YYLIMIT which becomes usefull when YYLIMIT + max(YYFILL) is always accessible. .TP \fIre2c:yyfill:parameter\fP \fB=\fP 1 \fB;\fP Allows to suppress parameter passing to \fBYYFILL\fP calls. If set to zero then no parameter is passed to \fBYYFILL\fP. However \fBdefine:YYFILL@LEN\fP allows to specify a replacement string for the actual length value. If set to a non zero value then \fBYYFILL\fP usage will be followed by the number of requested characters in braces unless \fBre2c:define:YYFILL:naked\fP is set. Also look at \fBre2c:define:YYFILL:naked\fP and \fBre2c:define:YYFILL@LEN\fP. .TP \fIre2c:startlabel\fP \fB=\fP 0 \fB;\fP If set to a non zero integer then the start label of the next scanner blocks will be generated even if not used by the scanner itself. Otherwise the normal \fByy0\fP like start label is only being generated if needed. If set to a text value then a label with that text will be generated regardless of whether the normal start label is being used or not. This setting is being reset to \fB0\fP after a start label has been generated. .TP \fIre2c:labelprefix\fP \fB=\fP yy \fB;\fP Allows to change the prefix of numbered labels. The default is \fByy\fP and can be set any string that is a valid label. .TP \fIre2c:state:abort\fP \fB=\fP 0 \fB;\fP When not zero and switch -f is active then the \fCYYGETSTATE\fP block will contain a default case that aborts and a -1 case is used for initialization. .TP \fIre2c:state:nextlabel\fP \fB=\fP 0 \fB;\fP Used when -f is active to control whether the \fCYYGETSTATE\fP block is followed by a \fCyyNext:\fP label line. Instead of using \fCyyNext\fP you can usually also use configuration \fIstartlabel\fP to force a specific start label or default to \fCyy0\fP as start label. Instead of using a dedicated label it is often better to separate the YYGETSTATE code from the actual scanner code by placing a "\fC/*!getstate:re2c */\fP" comment. .TP \fIre2c:cgoto:threshold\fP \fB=\fP 9 \fB;\fP When -g is active this value specifies the complexity threshold that triggers generation of jump tables rather than using nested if's and decision bitfields. The threshold is compared against a calculated estimation of if-s needed where every used bitmap divides the threshold by 2. .TP \fIre2c:yych:conversion\fP \fB=\fP 0 \fB;\fP When the input uses signed characters and \fB-s\fP or \fB-b\fP switches are in effect re2c allows to automatically convert to the unsigned character type that is then necessary for its internal single character. When this setting is zero or an empty string the conversion is disabled. Using a non zero number the conversion is taken from \fBYYCTYPE\fP. If that is given by an inplace configuration that value is being used. Otherwise it will be \fB(YYCTYPE)\fP and changes to that configuration are no longer possible. When this setting is a string the braces must be specified. Now assuming your input is a \fBchar*\fP buffer and you are using above mentioned switches you can set \fBYYCTYPE\fP to \fBunsigned char\fP and this setting to either \fB1\fP or \fB"(unsigned char)"\fP. .TP \fIre2c:define:define:YYCONDTYPE\fP \fB=\fP YYCONDTYPE \fB;\fP Enumeration used for condition support with \fB-c\fP mode. .TP \fIre2c:define:YYCTXMARKER\fP \fB=\fP YYCTXMARKER \fB;\fP Allows to overwrite the define YYCTXMARKER and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYCTYPE\fP \fB=\fP YYCTYPE \fB;\fP Allows to overwrite the define YYCTYPE and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYCURSOR\fP \fB=\fP YYCURSOR \fB;\fP Allows to overwrite the define YYCURSOR and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYDEBUG\fP \fB=\fP YYDEBUG \fB;\fP Allows to overwrite the define \fBYYDEBUG\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYFILL\fP \fB=\fP YYFILL \fB;\fP Allows to overwrite the define \fBYYFILL\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYFILL:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYFILL@len\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYFILL\fP and \fIre2c:yyfill:parameter\fP is 0 then any occurence of this text inside \fBYYFILL\fP will be replaced with the actual length value. .TP \fIre2c:define:YYGETCONDITION\fP \fB=\fP YYGETCONDITION \fB;\fP Allows to overwrite the define \fBYYGETCONDITION\fP. .TP \fIre2c:define:YYGETCONDITION:naked\fP \fB=\fP \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYGETSTATE\fP \fB=\fP YYGETSTATE \fB;\fP Allows to overwrite the define \fBYYGETSTATE\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYGETSTATE:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYLIMIT\fP \fB=\fP YYLIMIT \fB;\fP Allows to overwrite the define \fBYYLIMIT\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYMARKER\fP \fB=\fP YYMARKER \fB;\fP Allows to overwrite the define \fBYYMARKER\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYSETCONDITION\fP \fB=\fP YYSETCONDITION \fB;\fP Allows to overwrite the define \fBYYSETCONDITION\fP. .TP \fIre2c:define:YYSETCONDITION@cond\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYSETCONDITION\fP then any occurence of this text inside \fBYYSETCONDITION\fP will be replaced with the actual new condition value. .TP \fIre2c:define:YYSETSTATE\fP \fB=\fP YYSETSTATE \fB;\fP Allows to overwrite the define \fBYYSETSTATE\fP and thus avoiding it by setting the value to the actual code needed. .TP \fIre2c:define:YYSETSTATE:naked\fP \fB=\fP 0 \fB;\fP When set to 1 neither braces, parameter nor semicolon gets emitted. .TP \fIre2c:define:YYSETSTATE@state\fP \fB=\fP @@ \fB;\fP When using \fIre2c:define:YYSETSTATE\fP then any occurence of this text inside \fBYYSETSTATE\fP will be replaced with the actual new state value. .TP \fIre2c:label:yyFillLabel\fP \fB=\fP yyFillLabel \fB;\fP Allows to overwrite the name of the label yyFillLabel. .TP \fIre2c:label:yyNext\fP \fB=\fP yyNext \fB;\fP Allows to overwrite the name of the label yyNext. .TP \fIre2c:variable:yyaccept\fP \fB=\fP yyaccept \fB;\fP Allows to overwrite the name of the variable yyaccept. .TP \fIre2c:variable:yybm\fP \fB=\fP yybm \fB;\fP Allows to overwrite the name of the variable yybm. .TP \fIre2c:variable:yych\fP \fB=\fP yych \fB;\fP Allows to overwrite the name of the variable yych. .TP \fIre2c:variable:yyctable\fP \fB=\fP yyctable \fB;\fP When both \fB-c\fP and \fB-g\fP are active then \*(re uses this variable to generate a static jump table for YYGETCONDITION. .TP \fIre2c:variable:yystable\fP \fB=\fP yystable \fB;\fP When both \fB-f\fP and \fB-g\fP are active then \*(re uses this variable to generate a static jump table for YYGETSTATE. .TP \fIre2c:variable:yytarget\fP \fB=\fP yytarget \fB;\fP Allows to overwrite the name of the variable yytarget. .SH "UNDERSTANDING RE2C" .LP The subdirectory lessons of the \*(re distribution contains a few step by step lessons to get you started with \*(re. All examples in the lessons subdirectory can be compiled and actually work. .SH FEATURES .LP \*(re does not provide a default action: the generated code assumes that the input will consist of a sequence of tokens. Typically this can be dealt with by adding a rule such as the one for unexpected characters in the example above. .LP The user must arrange for a sentinel token to appear at the end of input (and provide a rule for matching it): \*(re does not provide an \fC<>\fP expression. If the source is from a null-byte terminated string, a rule matching a null character will suffice. If the source is from a file then you could pad the input with a newline (or some other character that cannot appear within another token); upon recognizing such a character check to see if it is the sentinel and act accordingly. And you can also use YYFILL(n) to end the scanner in case not enough characters are available which is nothing else then e detection of end of data/file. .SH BUGS .LP Difference only works for character sets. .LP The \*(re internal algorithms need documentation. .SH "SEE ALSO" .LP flex(1), lex(1). .P More information on \*(re can be found here: .PD 0 .P .B http://re2c.org/ .PD 1 .SH AUTHORS .PD 0 .P Peter Bumbulis .P Brian Young .P Dan Nuffer .P Marcus Boerger .P Hartmut Kaiser .P Emmanuel Mogenet added storable state .P .PD 1 .SH VERSION INFORMATION This manpage describes \*(re, version 0.13.5. .fi re2c-0.13.5/parser.y0000664000076500007660000003043511016275332011064 00000000000000%{ /* $Id: parser.y 858 2008-04-03 20:53:44Z helly $ */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include #include #include #include #include #include "globals.h" #include "parser.h" #include "basics.h" #include "dfa.h" #define YYMALLOC malloc #define YYFREE free using namespace re2c; extern "C" { int yylex(); void yyerror(const char*); } static re2c::uint accept; static re2c::RegExpMap specMap; static RegExp *spec = NULL, *specNone = NULL; static RuleOpList specStar; static Scanner *in = NULL; static Scanner::ParseMode parseMode; static SetupMap ruleSetupMap; static bool foundRules; /* Bison version 1.875 emits a definition that is not working * with several g++ version. Hence we disable it here. */ #if defined(__GNUC__) #define __attribute__(x) #endif /* strdup() isn't standard C, so if we don't have it, we'll create our * own version */ #if !defined(HAVE_STRDUP) static char* strdup(const char* s) { char* rv = (char*)malloc(strlen(s) + 1); if (rv == NULL) { return NULL; } strcpy(rv, s); return rv; } #endif void context_check(CondList *clist) { if (!cFlag) { delete clist; in->fatal("conditions are only allowed when using -c switch"); } } void context_none(CondList *clist) { delete clist; context_check(NULL); in->fatal("no expression specified"); } void context_rule(CondList *clist, RegExp *expr, RegExp *look, Str *newcond, Token *code) { context_check(clist); for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { //Str *condcpy = newcond ? new Str(*newcond) : newcond; Token *token = new Token(code, sourceFileInfo, newcond);//condcpy); RuleOp *rule = new RuleOp(expr, look, token, accept++); RegExpMap::iterator itRE = specMap.find(*it); if (itRE != specMap.end()) { itRE->second.second = mkAlt(itRE->second.second, rule); } else { size_t nIndex = specMap.size() + 1; // 0 is reserved for "0"-spec specMap[*it] = std::make_pair(nIndex, rule); } } delete clist; delete newcond; delete code; } void setup_rule(CondList *clist, Token *code) { assert(clist); assert(code); context_check(clist); if (bFirstPass) { for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it) { if (ruleSetupMap.find(*it) != ruleSetupMap.end()) { in->fatalf_at(code->line, "code to setup rule '%s' is already defined", it->c_str()); } ruleSetupMap[*it] = std::make_pair(code->line, code->text.to_string()); } } delete clist; delete code; } %} %start spec %union { re2c::Symbol *symbol; re2c::RegExp *regexp; re2c::Token *token; char op; int number; re2c::ExtOp extop; re2c::Str *str; re2c::CondList *clist; }; %token CLOSESIZE CLOSE STAR NOCOND ID CODE RANGE STRING %token CONFIG VALUE NUMBER SETUP FID %type CLOSE STAR SETUP %type close %type CLOSESIZE %type ID FID %type CODE %type RANGE STRING %type rule look expr diff term factor primary %type CONFIG VALUE newcond %type cond clist %type NUMBER %% spec: /* empty */ { } | spec rule { foundRules = true; } | spec decl ; decl: ID '=' expr ';' { if ($1->re) { in->fatal("sym already defined"); } $1->re = $3; } | FID expr { if ($1->re) { in->fatal("sym already defined"); } $1->re = $2; } | ID '=' expr '/' { in->fatal("trailing contexts are not allowed in named definitions"); } | FID expr '/' { in->fatal("trailing contexts are not allowed in named definitions"); } | CONFIG '=' VALUE ';' { in->config(*$1, *$3); delete $1; delete $3; } | CONFIG '=' NUMBER ';' { in->config(*$1, $3); delete $1; } ; rule: expr look CODE { if (cFlag) { in->fatal("condition or '<*>' required when using -c switch"); } $$ = new RuleOp($1, $2, $3, accept++); spec = spec? mkAlt(spec, $$) : $$; } | '<' cond '>' expr look newcond CODE { context_rule($2, $4, $5, $6, $7); } | '<' cond '>' expr look ':' newcond { assert($7); context_rule($2, $4, $5, $7, NULL); } | '<' cond '>' look newcond CODE { context_none($2); delete $5; } | '<' cond '>' look ':' newcond { assert($6); context_none($2); delete $6; } | '<' STAR '>' expr look newcond CODE { context_check(NULL); Token *token = new Token($7, $7->source, $7->line, $6); delete $7; delete $6; specStar.push_back(new RuleOp($4, $5, token, accept++)); } | '<' STAR '>' expr look ':' newcond { assert($7); context_check(NULL); Token *token = new Token(NULL, sourceFileInfo, $7); delete $7; specStar.push_back(new RuleOp($4, $5, token, accept++)); } | '<' STAR '>' look newcond CODE { context_none(NULL); delete $5; } | '<' STAR '>' look ':' newcond { assert($6); context_none(NULL); delete $6; } | NOCOND newcond CODE { context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token($3, $3->source, $3->line, $2); delete $2; delete $3; $$ = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } | NOCOND ':' newcond { assert($3); context_check(NULL); if (specNone) { in->fatal("code to handle illegal condition already defined"); } Token *token = new Token(NULL, sourceFileInfo, $3); delete $3; $$ = specNone = new RuleOp(new NullOp(), new NullOp(), token, accept++); } | SETUP STAR '>' CODE { CondList *clist = new CondList(); clist->insert("*"); setup_rule(clist, $4); } | SETUP cond '>' CODE { setup_rule($2, $4); } ; cond: /* empty */ { in->fatal("unnamed condition not supported"); } | clist { $$ = $1; } ; clist: ID { $$ = new CondList(); $$->insert($1->GetName().to_string()); } | clist ',' ID { $1->insert($3->GetName().to_string()); $$ = $1; } ; newcond: /* empty */ { $$ = NULL; } | '=' '>' ID { $$ = new Str($3->GetName().to_string().c_str()); } ; look: /* empty */ { $$ = new NullOp; } | '/' expr { $$ = $2; } ; expr: diff { $$ = $1; } | expr '|' diff { $$ = mkAlt($1, $3); } ; diff: term { $$ = $1; } | diff '\\' term { $$ = mkDiff($1, $3); if(!$$) { in->fatal("can only difference char sets"); } } ; term: factor { $$ = $1; } | term factor { $$ = new CatOp($1, $2); } ; factor: primary { $$ = $1; } | primary close { switch($2) { case '*': $$ = mkAlt(new CloseOp($1), new NullOp()); break; case '+': $$ = new CloseOp($1); break; case '?': $$ = mkAlt($1, new NullOp()); break; } } | primary CLOSESIZE { $$ = new CloseVOp($1, $2.minsize, $2.maxsize); } ; close: CLOSE { $$ = $1; } | STAR { $$ = $1; } | close CLOSE { $$ = ($1 == $2) ? $1 : '*'; } | close STAR { $$ = ($1 == $2) ? $1 : '*'; } ; primary: ID { if(!$1->re) { in->fatal("can't find symbol"); } $$ = $1->re; } | RANGE { $$ = $1; } | STRING { $$ = $1; } | '(' expr ')' { $$ = $2; } ; %% extern "C" { void yyerror(const char* s) { in->fatal(s); } int yylex(){ return in ? in->scan() : 0; } } // end extern "C" namespace re2c { void parse(Scanner& i, std::ostream& o, std::ostream* h) { std::map dfa_map; ScannerState rules_state; in = &i; o << "/* Generated by re2c " PACKAGE_VERSION; if (!bNoGenerationDate) { o << " on "; time_t now = time(&now); o.write(ctime(&now), 24); } o << " */\n"; o << sourceFileInfo; bool uFlagOld = uFlag; bool wFlagOld = wFlag; uint nRealCharsOld = nRealChars; while ((parseMode = i.echo()) != Scanner::Stop) { bool bPrologBrace = false; ScannerState curr_state; i.save_state(curr_state); foundRules = false; if (rFlag && parseMode == Scanner::Rules && dfa_map.size()) { in->fatal("cannot have a second 'rules:re2c' block"); } if (parseMode == Scanner::Reuse) { if (dfa_map.empty()) { in->fatal("got 'use:re2c' without 'rules:re2c'"); } } else if (parseMode == Scanner::Rules) { i.save_state(rules_state); } else { dfa_map.clear(); } accept = 0; spec = NULL; in->set_in_parse(true); yyparse(); in->set_in_parse(false); if (rFlag && parseMode == Scanner::Reuse) { uint nRealCharsLast = nRealChars; if (uFlag) { nRealChars = 0x110000; // 17 times w-Flag } else if (wFlag) { nRealChars = (1<<16); // 0x10000 } else { nRealChars = (1<<8); // 0x100 } if (foundRules || nRealCharsLast != nRealChars) { // Re-parse rules parseMode = Scanner::Parse; i.restore_state(rules_state); i.reuse(); dfa_map.clear(); parse_cleanup(); spec = NULL; accept = 0; in->set_in_parse(true); yyparse(); in->set_in_parse(false); // Now append potential new rules i.restore_state(curr_state); parseMode = Scanner::Parse; in->set_in_parse(true); yyparse(); in->set_in_parse(false); } uFlagOld = uFlag; wFlagOld = wFlag; nRealCharsOld = nRealChars; } if (cFlag) { RegExpMap::iterator it; SetupMap::const_iterator itRuleSetup; if (parseMode != Scanner::Reuse) { if (!specStar.empty()) { for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp) { it->second.second = mkAlt((*itOp)->copy(accept++), it->second.second); } } } if (specNone) { // After merging star rules merge none code to specmap // this simplifies some stuff. // Note that "0" inserts first, which is important. specMap["0"] = std::make_pair(0, specNone); } else { // We reserved 0 for specNone but it is not present, // so we can decrease all specs. for (it = specMap.begin(); it != specMap.end(); ++it) { it->second.first--; } } } size_t nCount = specMap.size(); for (it = specMap.begin(); it != specMap.end(); ++it) { assert(it->second.second); if (parseMode != Scanner::Reuse) { itRuleSetup = ruleSetupMap.find(it->first); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { yySetupRule = itRuleSetup->second.second; } else { yySetupRule = ""; } } dfa_map[it->first] = genCode(it->second.second); dfa_map[it->first]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end()) { dfa_map[it->first]->emit(o, topIndent, &specMap, it->first, !--nCount, bPrologBrace); } } if (!h && !bTypesDone) { genTypes(typesInline, 0, specMap); } } else if (spec || !dfa_map.empty()) { if (parseMode != Scanner::Reuse) { dfa_map[""] = genCode(spec); dfa_map[""]->prepare(); } if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end()) { dfa_map[""]->emit(o, topIndent, NULL, "", 0, bPrologBrace); } } o << sourceFileInfo; /* restore original char handling mode*/ uFlag = uFlagOld; wFlag = wFlagOld; nRealChars = nRealCharsOld; } if (cFlag) { SetupMap::const_iterator itRuleSetup; for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup) { if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end()) { in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str()); } } if (specMap.size() < ruleSetupMap.size()) { uint line = in->get_cline(); itRuleSetup = ruleSetupMap.find("*"); if (itRuleSetup != ruleSetupMap.end()) { line = itRuleSetup->second.first; } in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly"); } } if (h) { genHeader(*h, 0, specMap); } parse_cleanup(); in = NULL; } void parse_cleanup() { RegExp::vFreeList.clear(); Range::vFreeList.clear(); Symbol::ClearTable(); specMap.clear(); specStar.clear(); specNone = NULL; } } // end namespace re2c re2c-0.13.5/y.tab.h0000664000076500007660000000534311016275374010572 00000000000000/* A Bison parser, made by GNU Bison 2.3. */ /* Skeleton interface for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { CLOSESIZE = 258, CLOSE = 259, STAR = 260, NOCOND = 261, ID = 262, CODE = 263, RANGE = 264, STRING = 265, CONFIG = 266, VALUE = 267, NUMBER = 268, SETUP = 269, FID = 270 }; #endif /* Tokens. */ #define CLOSESIZE 258 #define CLOSE 259 #define STAR 260 #define NOCOND 261 #define ID 262 #define CODE 263 #define RANGE 264 #define STRING 265 #define CONFIG 266 #define VALUE 267 #define NUMBER 268 #define SETUP 269 #define FID 270 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE #line 131 "parser.y" { re2c::Symbol *symbol; re2c::RegExp *regexp; re2c::Token *token; char op; int number; re2c::ExtOp extop; re2c::Str *str; re2c::CondList *clist; } /* Line 1489 of yacc.c. */ #line 90 "y.tab.h" YYSTYPE; # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 #endif extern YYSTYPE yylval; re2c-0.13.5/CHANGELOG0000764000076500007660000002267511016275715010625 00000000000000Version 0.13.6 (2008-??-??) --------------------------- Version 0.13.5 (2008-05-25) --------------------------- - Fixed #1952896 Segfault in re2c::Scanner::scan. - Fixed #1952842 Regression. Version 0.13.4 (2008-04-05) --------------------------- - Added transparent handling of #line directives in input files. - Added re2c:yyfill:check inplace configuration. - Added re2c:define:YYSETSTATE:naked inplace configuration. - Added re2c:flags:w and re2c:flags:u inplace configurations. - Added the ability to add rules in 'use:re2c' blocks. - Changed -r flag to accept only 'rules:re2c' and 'use:re2c' blocks. Version 0.13.3 (2008-03-14) --------------------------- - Added -r flag to allow reuse of scanner definitions. - Added -F flag to support flex syntax in rules. - Fixed SEGV in scanner that occurs with very large blocks. - Fixed issue with unused yybm. - Partial support for flex syntax. - Changed to allow /* comments with -c switch. - Added flag -D/--emit-dot. Version 0.13.2 (2008-02-14) --------------------------- - Added flag --case-inverted. - Added flag --case-insensitive. - Added support for '' to enable rule setup. - Added support for '=>' style rules. - Added support for ':=' style rules. - Added support for ':=>' style rules. - Added re2c:cond:divider and re2c:con:goto inplace configuration. - Fixed code generation to emit space after 'if'. Version 0.13.1 (2007-08-24) --------------------------- - Added custom build rules for Visual Studio 2005 (re2c.rules). (William Swanson) - Fixed issue with some compilers. - Fixed #1776177 Build on AIX. - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.13.0 (2007-06-24) --------------------------- - Added -c and -t to generate scanners with (f)lex-like condition support. - Fixed issue with short form of switches and parameter if not first switch. - Fixed #1708378 segfault in actions.cc. Version 0.12.3 (2007-08-24) --------------------------- - Fixed issue with some compilers. - Fixed #1776177 Build on AIX. - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.12.2 (2007-06-26) --------------------------- - Fixed #1743180 fwrite with 0 length crashes on OS X. Version 0.12.1 (2007-05-23) --------------------------- - Fixed #1711240 problem with '"' and 7F on EBCDIC plattforms. Version 0.12.0 (2007-05-01) --------------------------- - Re-release of 0.11.3 as new stable branch. - Fixed issue with short form of switches and parameter if not first switch. - Fixed #1708378 segfault in actions.cc. Version 0.11.3 (2007-04-01) --------------------------- - Added support for underscores in named definitions. - Added new option --no-generation-date. - Fixed issue with long form of switches. Version 0.11.2 (2007-03-01) --------------------------- - Added inplace configuration 're2c:yyfill:parameter'. - Added inplace configuration 're2c:yych:conversion'. - Fixed -u switch code generation. - Added ability to avoid defines and overwrite variable and label names. Version 0.11.1 (2007-02-20) --------------------------- - Applied #1647875 add const to yybm vector. Version 0.11.0 (2007-01-01) --------------------------- - Added -u switch to support unicode. Version 0.10.8 (2007-04-01) --------------------------- - Fixed issue with long form of switches. Version 0.10.7 (2007-02-20) --------------------------- - Applied #1647875 add const to yybm vector. Version 0.10.6 (2006-08-05) --------------------------- - Fixed #1529351 Segv bug on unterminated code blocks. - Fixed #1528269 Invalid code generation. Version 0.10.5 (2006-06-11) --------------------------- - Fixed long form of -1 switch to --single-pass as noted in man page and help. - Added MSVC 2003 project files and renamed old 2002 ones. Version 0.10.4 (2006-06-01) --------------------------- - Fix whitespace in generated code. Version 0.10.3 (2006-05-14) --------------------------- - Fixed issue with -wb and -ws. - Added -g switch to support gcc's computed goto's. - Changed to use nested if's instead of "switch(yyaccept)" in -s mode. Version 0.10.2 (2006-05-01) --------------------------- - Changed to generate YYMARKER only when needed or in single pass mode. - Added -1 switch to force single pass generation and make two pass the default. - Fixed -i switch. - Added configuration 'yyfill:enable' to allow suppression of YYFILL() blocks. - Added tutorial like lessons to re2c. - Added /*!ignore:re2c */ to support documenting of re2c source. - Fixed issue with multiline re2c comments (/*!max:re2c ... */ and alike). - Fixed generation of YYDEBUG() when using -d switch. - Added /*!getstate:re2c */ which triggers generation of the YYGETSTATE() block. - Added configuration 'state:abort'. - Changed to not generate yyNext unless configuration 'state:nextlabel' is used. - Changed to not generate yyaccept code unless needed. - Changed to use if- instead of switch-expression when yyaccpt has only one case. - Added docu, examples and tests to .src.zip package (0.10.1 zip was repackaged). - Fixed #1479044 incorrect code generated when using -b. - Fixed #1472770 re2c creates an infinite loop. - Fixed #1454253 Piece of code saving a backtracking point not generated. - Fixed #1463639 Missing forward declaration. - Implemented #1187127 savable state support for multiple re2c blocks. Version 0.10.1 (2006-02-28) --------------------------- - Added support for Solaris and native SUN compiler. - Applied #1438160 expose YYCTXMARKER. Version 0.10.0 (2006-02-18) --------------------------- - Added make target zip to create windows source packages as zip files. - Added re2c:startlabel configuration. - Fixed code generation to not generate unreachable code for initial state. - Added support for c/c++ compatible \u and \U unicode notation. - Added ability to control indendation. - Made scanner error out in case an ambiguous /* is found. - Fixed indendation of generated code. - Added support for DOS line endings. - Added experimental unicode support. - Added config_w32.h to build out of the box on windows (using msvc 2002+). - Added Microsoft Visual C .NET 2005 build files. - Applied #1411087 variable length trailing context. - Applied #1408326 do not generate goto next state. - Applied #1408282 CharSet initialization fix. - Applied #1408278 readsome with MSVC. - Applied #1307467 Unicode patch for 0.9.7. Version 0.9.12 (2005-12-28) --------------------------- - Fixed bug #1390174 re2c cannot accept {0,}. Version 0.9.11 (2005-12-18) --------------------------- - Fixed #1313083 -e (EBCDIC cross compile) broken. - Fixed #1297658 underestimation of n in YYFILL(n). - Applied #1339483 Avoid rebuilds of re2c when running subtargets. - Implemented #1335305 symbol table reimplementation, just slightly modifed. Version 0.9.10 (2005-09-04) --------------------------- - Added -i switch to avoid generating #line information. - Fixed bug #1251653 re2c generate some invalid #line on WIN32. Version 0.9.9 (2005-07-21) -------------------------- - Implemented #1232777 negated char classes '[^...]' and the dot operator '.'. - Added hexadecimal character definitions. - Added consistency check for octal character definitions. Version 0.9.8 (2005-06-26) -------------------------- - Fixed code generation for -b switch. - Added Microsoft Visual C .NET build files. Version 0.9.7 (2005-04-30) -------------------------- - Applied #1181535 storable state patch. - Added -d flag which outputs a debugable parser. - Fixed generation of '#line' directives (according to ISO-C99). - Fixed bug #1187785 Re2c fails to generate valid code. - Fixed bug #1187452 unused variable `yyaccept'. Version 0.9.6 (2005-04-14) -------------------------- - Fixed build with gcc >= 3.4. Version 0.9.5 (2005-04-08) -------------------------- - Added /*!max:re2c */ which emits a '#define YYMAXFILL \n' line This allows to define buffers of the minimum required length. Occurence must follow '/*re2c */ and cannot preceed it. - Changed re2c to two pass generation to output warning free code. - Fixed bug #1163046 re2c hangs when processing valid re-file. - Fixed bug #1022799 re2c scanner has buffering bug. Version 0.9.4 (2005-03-12) -------------------------- - Added --vernum support. - Fixed bug #1054496 incorrect code generated with -b option. - Fixed bug #1012748 re2c does not emit last line if '\n' missing. - Fixed bug #999104 --output=output option does not work as documented. - Fixed bug #999103 Invalid options prefixed with two dashes cause program crash. Version 0.9.3 (2004-05-26) -------------------------- - Fixes one small possible bug in the generated output. ych instead of yych is output in certain circumstances Version 0.9.2 (2004-05-26) -------------------------- - Added -o option to specify the output file which also will set the #line directives to something useful. - Print version to cout instead cerr. - Added -h and -- style options. - Moved development to http://sourceforge.net/projects/re2c . - Fixed bug #960144 minor cosmetic problem. - Fixed bug #953181 cannot compile with. - Fixed bug #939277 Windows support. - Fixed bug #914462 automake build patch - Fixed bug #891940 braced quantifiers: {\d+(,|,\d+)?} style. - Fixed bug #869298 Add case insensitive string literals. - Fixed bug #869297 Input buffer overrun. Version 0.9.1 (2003-12-13) -------------------------- - Removed rcs comments in source files. Version 0.9 ----------- - Redistribution based on version 0.5. - Added parentheses to assignment expressions in 'if' statements. - Rearranged class members to match initialization order. - Substr fix. - Use array delete [] when necessary. - Other minor fixes for subduing compiler warnings. re2c-0.13.5/doc/0002777000076500007660000000000011016277101010216 500000000000000re2c-0.13.5/doc/loplas.ps0000664000076500007660000056321211016275320012002 00000000000000%!PS-Adobe-2.0 %%Creator: dvipsk 5.526a Copyright 1986, 1993 Radical Eye Software %%Title: paper.dvi %%Pages: 16 %%PageOrder: Ascend %%BoundingBox: 0 0 612 792 %%EndComments %DVIPSCommandLine: dvips -o paper.ps paper %DVIPSParameters: dpi=300, compressed, comments removed %DVIPSSource: TeX output 1994.04.15:2115 %%BeginProcSet: texc.pro /TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N /X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR matrix currentmatrix dup dup 4 get round 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@landscape{/isls true N}B /@manualfeed{ statusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{ pop nn dup definefont setfont}B /ch-width{ch-data dup length 5 sub get} B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]/id ch-image N /rw ch-width 7 add 8 idiv string N /rc 0 N /gp 0 N /cp 0 N{ rc 0 ne{rc 1 sub /rc X rw}{G}ifelse}imagemask restore}B /G{{id gp get /gp gp 1 add N dup 18 mod S 18 idiv pl S get exec}loop}B /adv{cp add /cp X}B /chg{rw cp id gp 4 index getinterval putinterval dup gp add /gp X adv}B /nd{/cp 0 N rw exit}B /lsh{rw cp 2 copy get dup 0 eq{pop 1}{dup 255 eq{pop 254}{dup dup add 255 and S 1 and or}ifelse}ifelse put 1 adv} B /rsh{rw cp 2 copy get dup 0 eq{pop 128}{dup 255 eq{pop 127}{dup 2 idiv S 128 and or}ifelse}ifelse put 1 adv}B /clr{rw cp 2 index string putinterval adv}B /set{rw cp fillstr 0 4 index getinterval putinterval adv}B /fillstr 18 string 0 1 17{2 copy 255 put pop}for N /pl[{adv 1 chg} {adv 1 chg nd}{1 add chg}{1 add chg nd}{adv lsh}{adv lsh nd}{adv rsh}{ adv rsh nd}{1 add adv}{/rc X nd}{1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]dup{bind pop}forall N /D{/cc X dup type /stringtype ne{] }if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin 0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore showpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X /IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for 65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V {}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} ifelse}{false}ifelse end{{gsave TR -.1 -.1 TR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1 -.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave transform round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail} B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{ 3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{ 3 2 roll p a}B /bos{/SS save N}B /eos{SS restore}B end %%EndProcSet %%BeginProcSet: special.pro TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N /vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B /@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ /CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ 10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B /@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale true def end /@MacSetUp{userdict /md known{userdict /md get type /dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{itransform lineto} }{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N /txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp {pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict maxlength dict begin /magscale false def normalscale currentpoint TR /psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts /psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR /showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin /SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial {CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath }N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ /SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X /startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet TeXDict begin 40258431 52099146 1000 300 300 (paper.dvi) @start /Fa 43 122 df<126012F0A212701210A31220A312401280040C7B830D>44 D<126012F0A2126004047B830D>46 D<1303A3497EA2497E130BA2EB11E0A3EB20F0A249 7E1478A2497EA33801FFFEEB001E0002131F80A248EB0780A2120C001E14C039FF803FFC 1E1D7E9C22>65 DI<90380FE0209038 7018603801C00439030003E000061301000E13004814605A15201278127000F01400A800 70142012781238A26C14407E000614806CEB01003801C00638007018EB0FE01B1E7D9C21 >II II<90381FC04090387030C03801C00C38030003000E1301120C001C 13005A15401278127000F01400A6EC7FF8EC07C00070130312781238A27E120C120E0003 13053801C008390070304090381FC0001D1E7D9C23>I<39FFF0FFF0390F000F00AC90B5 FCEB000FAD39FFF0FFF01C1C7D9B22>I<380FFF8038007C00133CB3127012F8A21338EA 7078EA4070EA30E0EA0F80111D7D9B18>74 D<39FFF00FF8390F0007C0EC030014025C5C 5C1460148049C7FC13021307497E1317EB23C0EB43E01381EB00F08014788080141F80EC 078015C015E039FFF03FFC1E1C7D9B23>IIII80 D82 D<3803E080EA0C19EA1005EA3003EA600112E01300A36C13007E127EEA7FE0EA3FFC6CB4 FC00071380EA007FEB07C0EB03E0130113007EA36C13C0A238E0018038D00300EACE06EA 81F8131E7D9C19>I<007FB512C038700F010060130000401440A200C014201280A30000 1400B1497E3803FFFC1B1C7D9B21>I<39FFF01FF0390F000380EC0100B3A26C13021380 00035BEA01C03800E018EB7060EB0F801C1D7D9B22>I<39FFE003FC001FC712F06C1440 A26C6C1380A27F0003EB0100A23801E002A2EBF00600001304A2EB7808A2EB7C18EB3C10 A26D5AA2EB1F60EB0F40A26D5AA36DC7FCA21E1D7E9B22>I<3BFFE07FF03FC03B1F000F 800F00ED00066CEC8004A213800007496C5A1413A23A03C033E0101421A23A01E061F020 1440A2D800F06D5AEC8078A20178EB7C80903879003CA2013D013FC7FC013E7FA2011E13 1E011C130EA2010C130C010813042A1D7E9B2E>I<13201370A313B8A3EA011CA3EA020E A2487EA2EA07FF38080380A3381801C0EA380338FE0FF815157F9419>97 DIIII103 D<38FF8FF8381C01C0A9EA1FFFEA1C01A938FF8FF815157F9419>II<38FF83F8381C01E01480140013025B5B5B1330137013B8EA1D 1C121EEA1C0E7F14801303EB01C014E014F038FF83FC16157F941A>107 DI<00FEEB0FE0001E1400 00171317A338138027A23811C047A33810E087A2EB7107A3133AA2131CA2123839FE083F E01B157F941F>I<38FC03F8381E00E014401217EA138013C01211EA10E01370A2133813 1CA2130E130714C0130313011300123800FE134015157F9419>III114 DI<387FFFF03860703000401310A20080 1308A300001300ADEA07FF15157F9419>I<38FF83F8381C00E01440AE000C13C0000E13 8038060100EA0386EA00FC15157F9419>I<38FF01F8383C00F0001C1340A2001E13C000 0E1380A238070100A21383EA0382A2EA01C4A213E4EA00E8A21370A3132015157F9419> I<38FF87F0381E0380000E1300EA0F026C5AEA038413C8EA01D0EA00F0A21370137813BC EA011C7FEA020F487EEB0380000C13C0123C38FE07F815157F9419>120 D<38FF80FE381E0078000E1320000F13407E3803808013C100011300EA00E2A21374137C 1338A848B4FC1715809419>I E /Fb 7 118 df101 D<123E120CA41218A41230A41260 A412C012C8A312D0126007177D9609>108 D<3830783C38498CC6384E0502EA4C06389C 0E06EA180CA348485A15801418A23960300900140E190E7D8D1D>I111 D114 DI117 D E /Fc 1 59 df<126012F0A2126004047D830A>58 D E /Fd 1 111 df110 D E /Fe 22 121 df45 D<12E0A303037D820A>I<130813181330A31360A313C0A3EA0180A3EA0300A21206A35A A35AA35AA35AA35AA20D217E9812>I<1202120E12FEA2120EB0EAFFE0A20B167D9512> 49 D90 D97 D<12E0A8EAE7C0EAFFE0 EAF870EAE038A2131CA51338A2EAF0F0EAFFE0EAE7800E177E9612>II101 DII<12E0A31200A612E0AF03187E9708>105 D<12E0B3A503177E9608>108 D<38E7E1F838EFF3FC38F87E1E38F03C0EEAE038AB170F 7E8E1C>IIII114 D<121FEA7FC012E01300A27E127FEA3F80EA0FC0EA 01E0128012C0EAE1C0127FEA1F000B0F7F8E0E>I<1238A4EAFFC0A2EA3800AA1340EA1F C013000A137F920D>II120 D E /Ff 34 121 df<3801F1C0120312071301120EA7EAFFF1A2EA0E01B012 1D809C16>13 D45 D<12E0A303037C820C>I<130113031306A3 130CA31318A31330A31360A213C0A3EA0180A3EA0300A31206A25AA35AA35AA35AA35AA2 10297E9E15>II<5A1207123FB4FC12C71207B3A3EAFFF8 A20D1C7C9B15>II I<133C137C135C13DC1201139C1203A2EA071CA2120EA2121C123C12381278127012F0B5 12C0A238001C00A7121B7F9A15>II55 D57 D69 D<387FFFF0A2380001E0130314C013071480EB0F005B131E133E133C5B13F85B12015B48 5A12075B120F90C7FC121E123E123C127C1278B512F0A2141D7E9C19>90 D97 D<12E0ABEAE3E0EAEFF0EAFFF8EAF87CEAF01CEAE01E13 0EA6131C12F0EAF87CEAFFF8EAEFF0EAE3C00F1D7D9C15>II<130EABEA0F 8EEA1FEEEA3FFEEA7C3EEA700EA212E0A612F0EA701EEA7C3EEA3FFEEA1FEEEA0F8E0F1D 7E9C15>II<13FC12011203EA0700120EA7EAFFE0A2EA0E 00B00E1D809C0D>I<3803C3C0EA0FFF5A381C3800487EA56C5AEA1FF85BEA3BC00038C7 FCA2EA1FFC13FF481380EA700738E001C0A3EAF003387C0F80383FFF006C5AEA07F8121B 7F9115>I<12F0A41200A71270B2041D7E9C0A>105 D<12E0AB133C137813F0EAE1E0EAE3 C0EAE780EAEF00B4FC138012FBEAF9C0EAF1E012E013F013781338133C131E0F1D7D9C14 >107 D<12E0B3AB031D7D9C0A>I<38E3F03F39EFF8FF80D8FFFD13C039F81F81E038F00F 00EAE00EAD1B127D9122>II< EA03F0EA0FFC487EEA3C0F38780780EA700338E001C0A5EAF00300701380EA7807383C0F 00EA1FFE6C5AEA03F012127F9115>II114 DI<121CA6EA FFE0A2EA1C00AC1320EA1FF0120FEA07C00C187F970F>II<39E03E0380A3D870371300EB7707A213733838E38EA33818E18C 381CC1CC001D13DCA2380D80D8000F13F8A20007137019127F911C>119 D<3870038038780700EA3C0EEA1C1C120E6C5AEA03F06C5A5B7F487EEA0738EA0E18131C 487E487E3870038000F013C01212809113>I E /Fg 72 126 df<126012F0AA12701200 A4126012F0A212600414799312>33 DII37 D<1207EA1F80EA19C01239A3EA3B9E133EEA3E38EA1C70A2EA1E E0123E1267EAE7C0EAE3C413CE12E7EA7EFCEA3C380F147F9312>I<126012F012F81278 1218A31230A2126012C01280050C799312>II<128012C012601230121812 1C120C120EA21207A7120EA2120C121C12181230126012C0128008197C9612>I<1207A3 EAE738EAFFF8EA7FF0EA1FC0A2EA7FF0EAFFF8EAE738EA0700A30D0E7E9012>II<126012F012F8127812181230A212E012C0050979 8312>II<126012F0A212600404798312>I<13181338A21370A2 13E0A2EA01C0A3EA0380A2EA0700A2120EA25AA35AA25AA25AA25A0D1A7E9612>II<1206A2120E121E12FE12EE120EACEAFFE0A20B147D9312>III<12E0EAFFFEA2 EAE0181338EA007013E013C01201EA0380A2EA0700A4120EA512040F157F9412>55 DII<126012F0A212601200A6126012F0A21260040E798D12>I<126012F0A2126012 00A6126012F0A212701230A2126012C012800413798D12>I<13381378EA01F0EA03E0EA 0F80EA1F00123C12F85A7E123C121FEA0F80EA03E0EA01F0EA007813380D117E9212>I< EAFFFEA2127FC7FCA3EA7FFE12FFA20F097F8E12>I<124012E07E127C7EEA0F80EA07C0 EA01E0EA00F8137813F8EA01E0EA07C0EA0F80EA3E005A12F05A12400D137E9312>I65 DII69 DI73 D75 DII79 D I82 DII<38FE3F80A238380E00AE6C5A6C5AEA07F06C5A111480 9312>I89 DII<12C07E A21270A27EA27EA37EA27EA2EA0380A2EA01C0A3EA00E0A21370A21338A213180D1A7E96 12>II97 D<12F8A21238A4EA3BE0 EA3FF0EA3C38EA381C130C130EA4130C131CEA3C38EA3FF0EA1BC00F147F9312>II< 13F8A21338A4EA07B8EA1FF8EA3878EA7038126012E0A41260EA70781238EA1FFEEA0FBE 0F147F9312>II<137E13FFEA01C7EA03821380A2EA7FFE12FFEA0380AA EA3FF8A21014809312>II<12F8A212 38A4EA39E0EA3FF0EA3E38123C1238A8EAFE3EA20F147F9312>I<1206120FA21206C7FC A3127FA21207AAEAFFF0A20C157D9412>I<12F8A21238A4EA3BFCA2EA38F0EA39E0EA3B C0EA3F80A213C0EA3DE0123813701338EAFC7EA20F147F9312>107 DIIIII114 DI<1206120EA3EA7FF812FFEA0E00A7131CA3EA07F8EA01E00E127F 9112>IIIIIII<13F81201EA0380EA0700A8120E12FCA2120E7EA8EA0380EA01F812000D1A7E96 12>I<127812FC120E7EA8EA0380EA01F8A2EA0380EA0700A8120E12FC12780D1A7E9612> 125 D E /Fh 37 123 df<90383FE3F83901F03F1C3903C03E3E0007137CEA0F80151C15 00A5B612C0A2390F807C00AE397FE1FFC0A21F1D809C1C>11 D<127812FCA4127806067D 850D>46 D<1360EA01E0120F12FF12F31203B3A2387FFF80A2111B7D9A18>49 DI< EA03F8EA1FFEEA3C1FEB0F80387C07C0127E127C123838000F80A2EB1E005BEA03F8EA00 1EEB0F80EB07C0A214E01230127812FCA214C038780F80EB1F00EA1FFEEA07F8131B7E9A 18>II66 D<90381FE0209038FFF8E03803F80F3807C003380F 800148C7FC123E1560127E127C00FC1400A8007C1460127E123E15C07E390F8001803907 C003003803F80E3800FFFCEB1FE01B1C7D9B22>I69 D77 D79 D82 D<3807F820381FFEE0EA3C07EA 7801EA700012F01460A26C130012FEEAFFE0EA7FFE6C7E1480000F13C06C13E0EA007FEB 03F01301130012C0A214E07E38F001C0EAFC0338EFFF00EA83FC141C7D9B1B>I<007FB5 12E0A238781F81007013800060146000E0147000C01430A400001400B03807FFFEA21C1C 7E9B21>I97 DIIII<137F3801 E3803803C7C0EA0787120FEB8380EB8000A5EAFFF8A2EA0F80AEEA7FF8A2121D809C0F> I<3803F8F0380E0F38121E381C0730003C1380A4001C1300EA1E0FEA0E0EEA1BF80010C7 FC1218A2EA1FFF14C06C13E04813F0387801F838F00078A300701370007813F0381E03C0 3807FF00151B7F9118>II<121E123FA4121EC7FCA6B4FCA2121FAEEAFFE0A20B1E7F9D0E>I107 DI<39FF0FC0 7E903831E18F3A1F40F20780D980FC13C0A2EB00F8AB3AFFE7FF3FF8A225127F9128>I< 38FF0FC0EB31E0381F40F0EB80F8A21300AB38FFE7FFA218127F911B>II<38FF3F80EBE1E0381F80F0EB0078147C143C143EA6143C147C 1478EB80F0EBC1E0EB3F0090C7FCA6EAFFE0A2171A7F911B>I114 DI<1203A45AA25AA2EA3FFC12FFEA1F00A9130CA4EA0F08EA0798EA03F00E1A7F9913>I< 38FF07F8A2EA1F00AC1301120F380786FFEA01F818127F911B>I<39FF8FF8FEA2391F03 E030A201831370000FEBF0601386D807C613C0EBCEF8EBEC790003EB7D80EBF83D0001EB 3F00A2497E0000131EEBE00EA21F127F9122>119 D<38FFC7FCA2381F8180EA0F833807 C700EA03EEEA01FC5B1200137C13FEEA01DFEA039F38070F80380607C0380C03E038FF07 FCA216127F9119>I<38FFC1FCA2381F0060EB80E0000F13C013C03807C180A23803E300 A2EA01F713F6EA00FE5BA21378A21330A21370EA706012F85BEAF9800073C7FC123E161A 7F9119>I<383FFF80383C1F00EA303F133E485A13FC5BEA01F01203485AEBC180EA0F81 121F1303003E1300EA7E07EA7C0FB5FC11127F9115>I E /Fi 55 124 df<1218123CA31204A21208A21210122012401280060C779C0D>39 D43 D<12181238127812381208A21210A212201240A21280050C7D 830D>II<1230127812F0126005047C830D>I<14031407140E14 0C141C141814381430147014E014C013011480130314005B1306130E5B13181338133013 70136013E05B1201485A90C7FC5A1206120E120C121C121812385A126012E05AA218297F 9E15>I<133C13C6EA0183EA030312061480120E120C121C1400485AA4EA700EA4485AA3 5BA21330485A12E0EA60C0EA7180001EC7FC111D7B9B15>I<13021306130C131C137CEA 039CEA0038A41370A413E0A4EA01C0A4EA0380A41207EAFFF00F1C7C9B15>I<133C13C3 38010180120214C0EA0441A21208A338108380A238110700EA0E06C65A5B5B13C048C7FC 12061208485A13021220EA4006EA7E0CEAC7F81283EA80E0121D7C9B15>I<133EEBC180 EA0101380200C05A1340EA0841A3EB8380EA070338000700130EEA01F8EA0038130CA213 0EA41270485A12805B1330EA4060EA21C0001FC7FC121D7C9B15>III<130FEB308013C0EA01831203 90C7FC1206120E120C121C13F0EA3B18EA3C0C12381278EA700EA3EA601C12E0A35BA25B EA60605BEA2180001EC7FC111D7B9B15>I<131E1361EB8180EA0180380300C0A2380601 80A3380703001386EA03CC13F01201EA0378EA063CEA081EEA180E1230EA6006A3485AA2 5BEA60105BEA30C0000FC7FC121D7C9B15>56 D<133C13C6EA0183EA03031206120E000C 1380121C1400A2485AA35B130EEA181EA2EA0C6CEA079CEA001C1318133813305BEAE0C0 A2EA81800086C7FC127C111D7B9B15>I<1206120FA212061200AA1230127812F0126008 127C910D>I<1418A21438A21478A214B8130114381302143CEB041CA213081318131013 20A2EB7FFCEB401C1380120113001202A2487F120C001C131EB4EBFFC01A1D7E9C1F>65 D<903803F02090381E0C6090383002E09038E003C03801C001EA038048C7FC000E148012 1E121C123C15005AA35AA41404A35C12705C6C5B00185B6C485AD80706C7FCEA01F81B1E 7A9C1E>67 D<48B512E038003C00013813601540A35BA214201500495AA214C013FF3801 C080A43803810113801402A248485AA2140C5C000E1378B55A1B1C7D9B1C>69 D<48B512C038003C01EB38001580A35BA214201500495AA214C013FF3801C080A4D80381 C7FC1380A348C8FCA45AEAFFF01A1C7D9B1B>I<903803F02090381E0C6090383002E090 38E003C03801C001EA038048C7FC000E1480121E121C123C15005AA35AA2903801FFC090 38001E00141CA400705BA27E001813786C139038070710D801F8C7FC1B1E7A9C20>I<38 01FFC038003C001338A45BA45BA4485AA4485AA448C7FCA45AEAFFE0121C7E9B10>73 D<3801FFE038003C001338A45BA45BA4485AA438038008A31410EA07001430146014E038 0E03C0B5FC151C7D9B1A>76 DI<3901FC03FE39001C0070013C13 60012E1340A301471380A3EB43809038838100A2138114C1380101C2A2EB00E2A2000213 E41474A3481338A3000C1318001C1310EAFF801F1C7D9B1F>II<3801FF FC38003C079038380380EC01C0A3EB7003A31580EBE0071500140E14383801FFE001C0C7 FCA3485AA448C8FCA45AEAFFE01A1C7D9B1C>I<3801FFF838003C0EEB3807EC0380A3EB 7007A3EC0F00EBE00E5C1470EBFFC0EA01C014601470A2EA0380A4380700F01540A21580 48137839FFE07900C7121E1A1D7D9B1E>82 DI<001FB512C0381C070138300E 0000201480126012405B1280A2000014005BA45BA45BA4485AA41203EA7FFE1A1C799B1E >I<397FF0FF80390F001C00000E13181410A3485BA4485BA4485BA44848C7FCA31302A2 5BA2EA6008EA3030EA1040EA0F80191D779B1F>I<3901FF81FE39001E00F0011C136001 1E1380EB0E011500EB0F026D5A5C1490EB03A014C01301A28013021304497EEB10701320 EB60381340EB803C3801001C12020006131E121E39FF80FFC01F1C7E9B1F>88 D97 D<123F1207A2120EA45AA4EA39C0EA3E60EA3830A2EA7038A4EAE0 70A3136013E0EAC0C012C1EA6180EA6300123C0D1D7B9C13>IIIII<13F3EA018FEA030FEA0607EA0E0E120C121CA2EA381CA413381230A2EA1878 13F0EA0F701200A213E0A2EAC0C012E1EAC300127E101A7D9113>III108 D<393C1E078039266318C0394683A0E0384703C0008E13 80A2120EA2391C0701C0A3EC0380D8380E1388A2EC0708151039701C032039300C01C01D 127C9122>IIIIIII<13C01201A3EA0380A4EAFFE0EA0700A3120EA45AA4EA3840A313 80EA1900120E0B1A7D990E>II<381E0183382703871247148338870701A2 120EA2381C0E02A31404EA180C131C1408001C1310380C26303807C3C018127C911C> 119 DI I123 D E /Fj 38 123 df<90380FF83F90397FFDFFC03A01F81F E3E03903E03F87EA07C0D80F801307ED03C06EC7FCA6B612FCA2260F801FC7FCB2397FF0 FFF0A223237FA221>11 D<1238127C12FE12FFA2127F123B1203A212071206A2120C121C 12181270122008117CA210>39 D<1238127C12FEA3127C123807077C8610>46 D<13181378EA01F812FFA21201B3A7387FFFE0A213207C9F1C>49 DI<13FE3807FFC0380F07E0381E03F0123FEB81F8A3EA1F 0314F0120014E0EB07C0EB1F803801FE007F380007C0EB01F014F8EB00FCA2003C13FE12 7EB4FCA314FCEA7E01007813F8381E07F0380FFFC03801FE0017207E9F1C>I<14E01301 1303A21307130F131FA21337137713E7EA01C71387EA03071207120E120C121812381270 12E0B512FEA2380007E0A7EBFFFEA217207E9F1C>I<00101320381E01E0381FFFC01480 14005B13F8EA1BC00018C7FCA4EA19FCEA1FFF381E0FC0381807E01303000013F0A214F8 A21238127C12FEA200FC13F0A2387007E0003013C0381C1F80380FFF00EA03F815207D9F 1C>I<1470A214F8A3497EA2497EA3EB06FF80010E7FEB0C3FA201187F141F01387FEB30 0FA201607F140701E07F90B5FCA239018001FCA200038090C7FCA20006147FA23AFFE00F FFF8A225227EA12A>65 DIIIIII76 D79 DI82 D<007FB61280A2397E03F80F0078140700701403006014 0100E015C0A200C01400A400001500B3A20003B512F8A222227EA127>84 D87 D97 D99 DI<13FE3807FF80380F 87C0381E01E0003E13F0EA7C0014F812FCA2B5FCA200FCC7FCA3127CA2127E003E13186C 1330380FC0703803FFC0C6130015167E951A>I<3803FC1E380FFF7F381F0F8F383E07CF 383C03C0007C13E0A5003C13C0EA3E07381F0F80EBFF00EA13FC0030C7FCA21238383FFF 806C13F06C13F84813FCEA380048133E00F0131EA40078133C007C137C383F01F8380FFF E00001130018217E951C>103 DI<121C123E127FA3123E121CC7FCA7B4FCA2121FB2 EAFFE0A20B247EA310>I<3AFF07F007F090391FFC1FFC3A1F303E303E01401340496C48 7EA201001300AE3BFFE0FFE0FFE0A22B167E9530>109 D<38FF07E0EB1FF8381F307CEB 403CEB803EA21300AE39FFE1FFC0A21A167E951F>I<13FE3807FFC0380F83E0381E00F0 003E13F848137CA300FC137EA7007C137CA26C13F8381F01F0380F83E03807FFC03800FE 0017167E951C>I<38FF0FE0EB3FF8381FF07CEB803E497E1580A2EC0FC0A8EC1F80A290 38803F00EBC03EEBE0FCEB3FF8EB0FC090C8FCA8EAFFE0A21A207E951F>I114 DI<487EA412 03A21207A2120F123FB5FCA2EA0F80ABEB8180A5EB8300EA07C3EA03FEEA00F811207F9F 16>I<38FF01FEA2381F003EAF147E14FE380F81BE3907FF3FC0EA01FC1A167E951F>I<39 FFE01FE0A2390F800600A2EBC00E0007130CEBE01C00031318A26C6C5AA26C6C5AA2EB7C C0A2137F6D5AA26DC7FCA2130EA21B167F951E>I<387FFFF0A2387C03E0387007C0EA60 0F38E01F8000C01300133E137EC65A5B485A00031330EA07E013C0380F8070121F383F00 60003E13E0EA7C03B5FCA214167E9519>122 D E /Fk 4 122 df15 D<133C13E0EA01C013801203AD13005A121C12F0121C12077E1380AD120113C0EA00E013 3C0E297D9E15>102 D<12F0121C12077E1380AD120113C0EA00E0133C13E0EA01C01380 1203AD13005A121C12F00E297D9E15>I<12021207A61202A3EA7270EAFFF8EA7270EA02 00A21207B11202A60D267E9C12>121 D E /Fl 12 114 df<38078010EA1FC0383FE020 EA7FF03860304038C01080128038000900A2130AA3130CA21308A31318A35BA45BA21340 141B7F9115>13 D<126012F0A2126004047C830C>58 D<126012F0A212701210A41220A2 12401280040C7C830C>I<140CA2141CA2143C147C145C149C148EEB010EA213021304A2 1308A213101320EB3FFEEB4007A21380EA0100A21202A21206121E39FF807FF01C1D7F9C 1F>65 D<3801FFE038003C001338A45BA45BA4485AA438038002A31404EA0700140C1418 1438000E13F0B5FC171C7E9B1C>76 D<3801FFFE39003C03C090383800E015F01570A249 13F0A3EC01E001E013C0EC0780EC1E00EBFFF03801C03080141CA2EA0380A43807003C15 08A2151048131E39FFE00E20C7EA07C01D1D7E9B20>82 DI97 D<123F1207A2120EA45AA4EA39E0EA3A30EA3C1812381270131CA3EAE038A31330 1370136013C01261EA2300121E0E1D7E9C12>II110 D113 D E /Fm 77 125 df<126012F0AF12601200A4126012F0A212600419779816>33 DII<13C01201A3EA07F0EA1F FC48B4FCEA7DCF38F1C78012E1A338F1C300EA79C0127FEA1FF0EA07FCEA01FE13CFEBC7 80EAF1C3A3EAE1C712F13879DF00EA3FFE6C5AEA07E0EA01C0A2120011207E9C16>I38 D<1218123C123E121E120EA3121E121C123C127812F01260070D799816>I<13E01201EA 07C013005A121E5A123812781270A312F05AA77E1270A312781238123C7E7E7E13C0EA01 E012000B217A9C16>I<12E07E127C121C121E7EEA0780120313C01201A313E01200A712 0113C0A3120313801207EA0F00121E121C127C12F05A0B217C9C16>III<1238127C127EA2123E120E121E 123C127C12F81260070B798416>II<127012F8A3127005057884 16>IIIIII<137C13FC13DC1201EA039CA2EA071C120F120E121E123C1238 127812F0B512E0A338001C00A53801FFC0A313197F9816>II<13F8EA03FEEA0FFFEA1F0F123E123CEA78060070C7FC12F0EAF3F8EA EFFE12FFEAF80F38F00780A2EAE00312F0A21270EA7807EB0F006C5AEA1FFEEA0FF8EA03 E011197E9816>I<12E0B51280A338E00F00131EEA001C5B137813705BA2485AA3485AA4 48C7FCA7111A7E9916>III<127012F8A312701200A8127012F8A312700512789116>I<1238 127CA312381200A81238127CA3123C121C123C123812F812F012600618799116>III<12C012F012FC123EEA0F806C7EEA01F06C7E133EEB1F801307131FEB3E 0013F8485AEA07C0485A003EC7FC12FC12F012C011157E9616>II<13E0487EA213B0A2EA03B8A31318EA071CA5EA0E0EA2EA0FFEA2 487EEA1C07A3387F1FC000FF13E0007F13C013197F9816>65 D<3801F180EA07FF5AEA1F 0FEA3C0712781303127000F0C7FC5AA77E387003801278A2EA3C07381F0F00EA0FFE6C5A EA01F011197E9816>67 DI<387FFFC0B5FC7EEA1C 01A490C7FCA2131CA2EA1FFCA3EA1C1CA290C7FC14E0A5EA7FFFB5FC7E13197F9816>I< B512E0A3EA1C00A41400A2131CA2EA1FFCA3EA1C1CA290C7FCA6B47E7F5B13197F9816> I<387F1FC038FFBFE0387F1FC0381C0700A7EA1FFFA3EA1C07A9387F1FC038FFBFE0387F 1FC013197F9816>72 DI<387F0FE038FF8F F0387F0FE0381C0780EB0F00130E5B133C5B5B5BEA1DF0121F7F1338EA1E1C121C7FA27F A2EB0380387F07E038FF8FF0387F07E01419809816>75 DI<38FC07E0EAFE0FA2383A0B80EA3B1BA513BBEA39B3A413F3 EA38E3A21303A538FE0FE0A313197F9816>I<387E1FC038FF3FE0387F1FC0381D070013 87A313C7A2121CA213E7A31367A21377A21337A31317EA7F1FEAFF9FEA7F0F13197F9816 >III82 DI<387FFFE0B5FC A2EAE0E0A400001300AFEA07FC487E6C5A13197F9816>I<387F07F038FF8FF8387F07F0 381C01C0B0380E0380A23807070013FF6C5AEA00F81519809816>I<387F1F80133F131F 380E1E00131CEA073C1338EA03B813F012015B120012017F120313B81207131CA2EA0E0E A2487E387F1FC000FF13E0007F13C013197F9816>88 D<38FE0FE0EAFF1FEAFE0F381C07 00A2EA0E0EA26C5AA3EA03B8A2EA01F0A26C5AA8EA03F8487E6C5A13197F9816>I91 D<12C07EA21270A27EA27EA27EA27EA26C7E A26C7EA26C7EA21370A27FA27FA27FA27FA2EB0380A2130111207E9C16>II<120C121E123C1278127012F012E0A312F012F81278 1230070D789B16>96 DI<127E12FE127E120EA4 133EEBFF80000F13C0EB83E01301380E00F0A21470A414F0000F13E01301EB83C013FF00 0E1300EA063C1419809816>II<133F5B7F1307A4EA03C7EA0FF7 EA3FFFEA3C1F487E487EA212E0A412F05BEA781FEA7C3F383FFFE0381FF7F03807C7E014 197F9816>II<131FEB7F8013FFEA01E7EBC30013C0 A2EA7FFFB5FCA2EA01C0ACEA3FFE487E6C5A11197F9816>I<3803E3C0380FFFE05A381E 3CC0383C1E00EA380EA3EA3C1E6C5AEA1FFC5BEA3BE00038C7FCA2EA1FFC13FF4813C0EA 780338F001E0EAE000A3EAF001387C07C0383FFF80380FFE00EA03F8131C7F9116>I<12 7E12FE127E120EA4133C13FF000F138013871303A2120EA9387FC7F038FFE7F8387FC7F0 1519809816>II108 D<38F9C38038FFEFC0EBFFE0EA3E 7CEA3C78EA3870AA38FE7CF8A2EB3C781512809116>IIIII<38FF0FC0EB3FE0137F3807F040EBE0005B5BA290C7 FCA7EAFFFCA313127F9116>II<12035AA4EA 7FFFB5FCA20007C7FCA75BEB0380A2130713873803FF005BEA00F811177F9616>I<387E 1F80EAFE3FEA7E1FEA0E03AA1307EA0F0FEBFFF06C13F83803E3F01512809116>I<38FF 1FE013BF131F38380380A413E33819F300A213B3EA1DB7A4EA0F1EA313127F9116>119 D<387F1FC0133F131F380F1C00EA073CEA03B813F012016C5A12017FEA03B8EA073C131C EA0E0E387F1FC038FF3FE0387F1FC013127F9116>I<387F1FC038FF9FE0387F1FC0381C 0700120E130EA212075BA2EA039CA21398EA01B8A2EA00F0A35BA3485A1279127BEA7F80 6CC7FC123C131B7F9116>I<383FFFC05AA238700780EB0F00131EC65A5B485A485AEA07 8048C7FC381E01C0123C1278B5FCA312127F9116>I<12E0B3AE0320779C16>124 D E /Fn 10 58 df<121FEA3180EA60C0EA4040EAC060A8EA4040EA60C0EA3180EA1F00 0B107F8F0F>48 D<120C123C12CC120CACEAFF8009107E8F0F>I<121FEA6180EA40C0EA 806012C01200A213C0EA0180EA030012065AEA10201220EA7FC012FF0B107F8F0F>I<12 1FEA2180EA60C0A2120013801201EA0F00EA00801340136012C0A2EA8040EA6080EA1F00 0B107F8F0F>I<1203A25A5A120B121312331223124312C3EAFFE0EA0300A4EA1FE00B10 7F8F0F>III<1240EA7FE013C0EA8080A2EA010012025AA2 120C1208A21218A50B117E900F>I<121FEA3180EA60C0A3EA7180EA3F00120FEA3380EA 61C0EAC060A3EA4040EA6080EA1F000B107F8F0F>I<121FEA3180EA60C0EAC0401360A3 EA40E01221EA1E6012001340EA60C01380EA4300123E0B107F8F0F>I E /Fo 66 124 df11 D<13FCEA0782EA0E07121C130290C7FCA4B5FCEA1C07AC38FF1FE013 17809614>I<13FFEA0707120E121CA6B5FCEA1C07AC38FFBFE01317809614>I<12011202 1204120C1218A21230A212701260A312E0AA1260A312701230A21218A2120C1204120212 0108227D980E>40 D<12801240122012301218A2120CA2120E1206A31207AA1206A3120E 120CA21218A2123012201240128008227E980E>I<126012F0A212701210A21220A21240 A2040A7D830A>44 DI<126012F0A2126004047D830A>I<130813 181330A31360A313C0A3EA0180A3EA0300A21206A35AA35AA35AA35AA35AA20D217E9812 >I<12035AB4FC1207B1EA7FF00C157E9412>49 DII<1330A2137013F01201 1370120212041208121812101220124012C0EAFFFEEA0070A5EA03FE0F157F9412>II I<1240EA7FFE13FC13F8EAC008EA80101320EA00401380A2EA0100A25A12021206A2120E A512040F167E9512>I57 D61 D<13101338A3135CA3138EA3EA0107A200 031380EA0203A23807FFC0EA0401A2380800E0A21218003813F038FE03FE17177F961A> 65 DIIIIII73 D<38FF80FE381C0078146014401480EB0100130613085B13381378139C EA1D0E121EEA1C07EB0380EB01C0A2EB00E014701478147C38FF80FF18177F961B>75 DI<00FEEB03F800 1E14C000171305A338138009A23811C011A33810E021A2EB7041A3EB3881A2EB1D01A213 0EA2123839FE040FF81D177F9620>I<00FC13FE001E1338001F13101217EA1380EA11C0 A2EA10E013701338A2131C130E130F1307EB0390EB01D0A2EB00F014701430123800FE13 1017177F961A>I<13FCEA0303380E01C0381C00E0481370003013300070133800601318 00E0131CA700701338A200301330003813706C13E0380E01C038030300EA00FC16177E96 1B>II82 DI<387FFFF83860381800401308A200801304A300001300 AF3807FFC016177F9619>I<38FF80FE383C0038001C1310A26C1320A26C1340A3380380 80A213C100011300A2EA00E2A213F61374A21338A3131017177F961A>86 D<38FF83FC381F01E0380E00807EEB8100EA0382EA01C213E4EA00E81378A21338137C13 5E138EEA0187EB0780EA0203380601C0000413E0EA0C00001C13F038FF03FE17177F961A >88 D<12FCA212C0B3AB12FCA206217D980A>91 D<12FCA2120CB3AB12FCA2062180980A >93 D97 D<12FC121CA813F8EA1F06EA1C031480130114C0A4148013031400 EA1B0EEA10F81217809614>II<137E130EA8EA07CEEA1C3EEA300E1270126012E0A412 601270EA301EEA182E3807CFC012177F9614>IIII<12FC121CA8137CEA1D8EEA1E07121CAA38FF9FE01317809614>I<121812 3CA212181200A5127C121CAC12FF081780960A>I<1203EA0780A2EA0300C7FCA5EA1F80 1203AF1243EAE30012E7127C091D82960B>I<12FC121CA8EB3F80EB1C00131813205B13 C0EA1FE0EA1CF0137013787F7FA238FF3FC01217809613>I<12FC121CB3A3EAFF800917 80960A>I<38FC7C1F391D8E6380391E0781C0001C1301AA39FF9FE7F81D0E808D1E>IIIII< EAFCF0EA1D38121EEA1C101300A9EAFF800D0E808D0E>II<1208A31218 A21238EAFF80EA3800A71340A4EA1C80EA0F000A147F930E>III<38FCFE7C383838381410381C3C20A2134C380E4E40A2138638 078780A2130300031300A2160E7F8D19>IIIII E /Fp 1 4 df<120CA2EACCC012EDEA 7F80EA0C00EA7F80EAEDC012CCEA0C00A20A0B7D8B10>3 D E /Fq 10 58 df<120FEA30C0EA6060A2EA4020EAC030A9EA4020EA6060A2EA30C0EA0F000C13 7E9211>48 D<120C121C12EC120CAFEAFFC00A137D9211>I<121FEA60C01360EAF07013 301260EA0070A2136013C012011380EA02005AEA08101210EA2020EA7FE012FF0C137E92 11>II<136013E0A2EA016012021206120C1208121012 20126012C0EAFFFCEA0060A5EA03FC0E137F9211>III<1240EA7FFC13F8EA401012801320EA00401380EA0100 A25A12021206A2120EA512040E147E9311>II< 120FEA3080EA6040EA4060EAC0201330A31240EA6070EA30B0EA0F30120013201360EAE0 401380EA4100123E0C137E9211>I E /Fr 76 124 df11 D<137E3801C180EA0301380703C0120EEB018090C7FCA5B512C0EA0E01B0387F87F8151D 809C17>II< 90383F07E03901C09C18380380F0D80701133C000E13E00100131892C7FCA5B612FC390E 00E01CB03A7FC7FCFF80211D809C23>I34 D<126012F012F812681208A31210A212201240 1280050C7C9C0C>39 D<13401380EA0100120212065AA25AA25AA212701260A312E0AC12 60A312701230A27EA27EA27E12027EEA008013400A2A7D9E10>I<7E12407E7E12187EA2 7EA27EA213801201A313C0AC1380A312031300A21206A25AA25A12105A5A5A0A2A7E9E10 >I<1306ADB612E0A2D80006C7FCAD1B1C7E9720>43 D<126012F0A212701210A41220A2 12401280040C7C830C>II<126012F0A2126004047C830C>I48 D<12035A123F12C71207B3A4EA0F80EAFFF80D1C7C9B 15>III<13 0CA2131C133CA2135C13DC139CEA011C120312021204120C1208121012301220124012C0 B512C038001C00A73801FFC0121C7F9B15>II<13F0EA030CEA0604EA0C0EEA181E1230130CEA7000A21260EAE3 E0EAE430EAE818EAF00C130EEAE0061307A51260A2EA7006EA300E130CEA1818EA0C30EA 03E0101D7E9B15>I<1240387FFF801400A2EA4002485AA25B485AA25B1360134013C0A2 12015BA21203A41207A66CC7FC111D7E9B15>III<126012F0A212601200AA126012F0 A2126004127C910C>I<126012F0A212601200AA126012F0A212701210A41220A2124012 80041A7C910C>I<1306A3130FA3EB1780A3EB23C0A3EB41E0A3EB80F0A200017FEB0078 EBFFF83803007C0002133CA20006133E0004131EA2000C131F121E39FF80FFF01C1D7F9C 1F>65 DI<90381F8080EBE061380180 1938070007000E13035A14015A00781300A2127000F01400A8007014801278A212386CEB 0100A26C13026C5B380180083800E030EB1FC0191E7E9C1E>IIII<90381F 8080EBE0613801801938070007000E13035A14015A00781300A2127000F01400A6ECFFF0 EC0F80007013071278A212387EA27E6C130B380180113800E06090381F80001C1E7E9C21 >I<39FFF3FFC0390F003C00ACEBFFFCEB003CAD39FFF3FFC01A1C7E9B1F>III76 DII< EB3F80EBE0E03803803848487E000E7F487F003C148000381303007814C0A20070130100 F014E0A8007014C000781303A200381480003C1307001C14006C130E6C5B6C6C5A3800E0 E0EB3F801B1E7E9C20>II82 D<3807E080EA1C19EA3005EA7003EA600112E01300A36C13007E127CEA7FC0EA 3FF8EA1FFEEA07FFC61380130FEB07C0130313011280A300C01380A238E00300EAD002EA CC0CEA83F8121E7E9C17>I<007FB512C038700F010060130000401440A200C014201280 A300001400B1497E3803FFFC1B1C7F9B1E>I<39FFF07FC0390F000E001404B3A26C5B13 8000035B12016C6C5AEB70C0011FC7FC1A1D7E9B1F>I<39FFE00FF0391F0003C06CEB01 8015006D5A00071302A26C6C5AA36C6C5AA213F000005BA2EBF830EB7820A26D5AA36D5A A2131F6DC7FCA21306A31C1D7F9B1F>I<3AFFE0FFE0FF3A1F001F003C001E011E13186C 011F1310A3D807801420EC2780A2D803C01440EC43C0A213E00001903881E080A33A00F1 00F100A3017913FA017A137AA2013E137C013C133CA301181318A3281D7F9B2B>I<397F F0FFC0390FC03E0038078018EA03C0EBE01000015BEBF06000001340EB7880137D013DC7 FC7F131F7F80A2EB13C0EB23E01321EB41F0EBC0F8EB80783801007C48133C00027F0006 131F001FEB3F8039FFC0FFF01C1C7F9B1F>I<12FEA212C0B3B312FEA207297C9E0C>91 D I<12FEA21206B3B312FEA20729809E0C>I97 D<12FC121CAA137CEA1D86EA1E03381C018014C0130014E0A614C013011480381E0300EA 1906EA10F8131D7F9C17>II<133F1307AAEA03E7EA0C17EA180F487E12 70126012E0A61260127012306C5AEA0C373807C7E0131D7E9C17>II<13F8EA018CEA071E1206EA0E0C1300A6EAFFE0EA0E00B0EA7FE00F1D809C 0D>II<12FC121CAA137C1387EA1D03001E1380121CAD38FF9FF0141D 7F9C17>I<1218123CA21218C7FCA712FC121CB0EAFF80091D7F9C0C>I<13C0EA01E0A2EA 00C01300A7EA0FE01200B3A21260EAF0C012F1EA6180EA3E000B25839C0D>I<12FC121C AAEB3FC0EB0F00130C13085B5B5B13E0121DEA1E70EA1C781338133C131C7F130F148038 FF9FE0131D7F9C16>I<12FC121CB3A9EAFF80091D7F9C0C>I<39FC7E07E0391C83883839 1D019018001EEBE01C001C13C0AD3AFF8FF8FF8021127F9124>IIIIIII<1204A4120CA212 1C123CEAFFE0EA1C00A91310A5120CEA0E20EA03C00C1A7F9910>I<38FC1F80EA1C03AD 1307120CEA0E1B3803E3F014127F9117>I<38FF07E0383C0380381C0100A2EA0E02A26C 5AA3EA0388A213D8EA01D0A2EA00E0A3134013127F9116>I<39FF3FCFE0393C0F038038 1C07011500130B000E1382A21311000713C4A213203803A0E8A2EBC06800011370A2EB80 30000013201B127F911E>I<387F8FF0380F03801400EA0702EA0384EA01C813D8EA00F0 1370137813F8139CEA010E1202EA060738040380381E07C038FF0FF81512809116>I<38 FF07E0383C0380381C0100A2EA0E02A26C5AA3EA0388A213D8EA01D0A2EA00E0A31340A2 5BA212F000F1C7FC12F31266123C131A7F9116>I II E /Fs 40 122 df<49B4FC011F13C090387F81E0EBFC013901 F807F01203EA07F0A4EC01C091C8FCA3EC3FF8B6FCA33807F003B3A33A7FFF3FFF80A321 2A7FA925>12 D<130E131E137EEA07FE12FFA212F81200B3AB387FFFFEA317277BA622> 49 DII<140E141E143E147E14 FEA213011303EB077E130EA2131C1338137013E0A2EA01C0EA0380EA0700120EA25A5A5A 5AB612F8A3C7EAFE00A890387FFFF8A31D277EA622>I<00181303381F801FEBFFFE5C5C 5C14C091C7FC001CC8FCA7EB7FC0381DFFF8381F80FC381E003F1208C7EA1F8015C0A215 E0A21218127C12FEA315C05A0078EB3F80A26CEB7F00381F01FE6CB45A000313F0C61380 1B277DA622>II<1238123E003FB512F0A34814E015C0158015003870000EA25C485B5C5CEA 00015C495A130791C7FC5B5B131E133EA2137E137CA213FCA41201A76C5A13701C297CA8 22>I65 D<91387FE003903907FFFC07 011FEBFF0F90397FF00F9F9039FF0001FFD801FC7F4848147F4848143F4848141F485A16 0F485A1607127FA290C9FC5AA97E7F1607123FA26C7E160E6C7E6C6C141C6C6C143C6C6C 14786CB4EB01F090397FF007C0011FB512800107EBFE009038007FF028297CA831>67 DIII<91387FE003903907FFFC07011FEBFF0F90397FF00F9F9039FF0001FF D801FC7F484880484880484880485A82485A82127FA290CAFC5AA892B512F87E7F030013 00123FA26C7EA26C7E6C7E6C7E6C7E6CB45B90387FF007011FB5129F0107EBFE0F903900 7FF0032D297CA835>I73 D82 D<01FF13C0000313E1000F13F9381F80FF383F003F 003E130F481307A200FC1303A214017EA26C90C7FC13C0EA7FFCEBFFE06C13F86C13FE80 000714806C14C0C6FC010F13E0EB007FEC1FF0140F140700E01303A46C14E0A26C13076C 14C0B4EB0F80EBE01F00E3B5120000E113FC38C01FF01C297CA825>I87 D<3803FF80000F13F0381F01FC383F80FE147F801580EA1F00C7FCA4EB3FFF3801FC3FEA 0FE0EA1F80EA3F00127E5AA4145F007E13DF393F839FFC381FFE0F3803F8031E1B7E9A21 >97 DIIIII<90387F80F03901FFE3 F83907C0FE1C390F807C7C381F003E151048EB3F00A66C133EA26C6C5A6C6C5A3805FFE0 380C7F8048C8FC121CA2121E381FFFF814FF6C14C06C14E06C14F0120F383E000748EB01 F8481300A4007CEB01F0A2003FEB07E0390FC01F806CB5120038007FF01E287E9A22>I< EAFFE0A3120FAC147E9038E1FF809038E30FC001E413E0EBE80701F813F013F0A213E0B0 39FFFE3FFFA3202A7DA925>I<1207EA0F80EA1FC0EA3FE0A3EA1FC0EA0F80EA0700C7FC A7EAFFE0A3120FB3A3EAFFFEA30F2B7EAA12>I107 DI<26FFC07FEB1FC0903AC1FFC07FF0903AC307E0C1F8D80FC49038F101FC9039 C803F20001D801FE7F01D05BA201E05BB03CFFFE3FFF8FFFE0A3331B7D9A38>I<38FFC0 7E9038C1FF809038C30FC0D80FC413E0EBC80701D813F013D0A213E0B039FFFE3FFFA320 1B7D9A25>II<38FFE1FE9038E7FF809038FE0FE0390FF803F09038F001F8 01E013FC140015FEA2157FA8157E15FEA215FC140101F013F89038F803F09038FC0FE090 38EFFF809038E1FC0001E0C7FCA9EAFFFEA320277E9A25>I<38FFC3E0EBC7F8EBCC7C38 0FD8FE13D0A213F0EBE07C1400B0B5FCA3171B7E9A1B>114 D<3803FE30380FFFF0EA3E 03EA7800127000F01370A27E00FE1300EAFFE06CB4FC14C06C13E06C13F0000713F8C6FC EB07FC130000E0137C143C7E14387E6C137038FF01E038E7FFC000C11300161B7E9A1B> I<1370A413F0A312011203A21207381FFFE0B5FCA23807F000AD1470A7000313E03801F8 C0EA00FFEB3F0014267FA51A>I<39FFE07FF0A3000F1307B2140FA2000713173903F067 FF3801FFC738007F87201B7D9A25>I<3BFFFC7FFC1FFCA33B0FE00FE001C02607F007EB 0380A201F8EBF0070003160015F82601FC0F130EA29039FE1FFC1E0000011C131C15FE90 39FF387E3C017F1438EC787F6D486C5AA29138E01FF0011F5CA26D486C5AA36D486C5AA2 2E1B7F9A31>119 D<39FFFC1FFEA33907F00780D803F813006C6C5AEBFE1E00005BEB7F 78EB3FF85C6D5A130F6D7E80130F497EEB3DFEEB38FFEB787F9038F03F80D801E013C039 03C01FE0EB800F39FFF03FFFA3201B7F9A23>I<39FFFE07FFA33907F000E0A2EBF80100 0314C0A23901FC0380A2EBFE07000014006D5AEB7F0EA2EB3F9CA214FC6D5AA26D5AA213 075CA26D5AA25CA21307003890C7FC127CEAFE0EA25B5BEA7C70EA3FE0EA0F8020277F9A 23>I E /Ft 14 123 df97 D99 D II<13F338038B8038060700120E120C121CEA380EA4EA301CA3EA183C5BEA 07B8EA0038A25B1260EAE0E0EAC1C0007FC7FC11177E8F12>103 D<1203120712061200A61238124C124E128E129CA2121C1238A212701272A212E212E412 64123808197C980C>105 D<121F1207A3120EA4121CA41238A41270A412E4A412E81230 081A7D990A>108 D110 DII115 D<1206120EA45AA2EAFFC0EA1C005AA45AA412E1A312 E212E412380A177C960D>II122 D E /Fu 54 124 df<13FCEA0182EA0703EA0607EA0E0290C7FCA5B5FCEA0E07AE387F0F E0131A809915>12 D<90387E1F803901C17040390703C0600006EB80E0000E14401500A5 B612E0380E0380AE397F8FE3FC1E1A809920>14 D<1380EA010012025A120C120812185A A35AA412E0AA1260A47EA37E1208120C12047E7EEA008009267D9B0F>40 D<7E12407E7E12181208120C7EA37EA41380AA1300A41206A35A1208121812105A5A5A09 267E9B0F>I<126012F0A212701210A31220A212401280040B7D830B>44 DI<126012F0A2126004047D830B>I50 DI<1330A2137013F0A2EA0170120312021204120C12081210123012 20124012C0B5FCEA0070A6EA07FF10187F9713>I<1240EA7FFE13FCA2EA4008EA8010A2 1320EA0040A213801201A213005AA45AA612020F197E9813>55 D<126012F0A212601200 A8126012F0A2126004107D8F0B>58 D<126012F0A212601200A8126012F0A212701210A3 1220A21240128004177D8F0B>I<130CA3131EA2133F1327A2EB4380A3EB81C0A348C67E A213FF38020070A20006137800041338A2487FA2001C131EB4EBFFC01A1A7F991D>65 D67 DII71 D<38FFE7FF380E0070AB380FFFF0380E0070AC38FFE7FF181A7E991D>II<39FFE07F80390E001E00141814105C5C5C49C7FC13025B5B 131C132E134E1387380F0380120E6D7E6D7EA21470A28080143E39FFE0FF80191A7E991E >75 DI80 D82 DI<007FB5FC38701C0700401301A200C01480008013 00A300001400B13803FFE0191A7F991C>I<3AFF83FF0FF03A3C007801C0001CEC0080A2 6CEC0100A2149C6C1402A2EB010EA2D803815BEB8207A2D801C25B9038C40388A2D800E4 1390A29038E801D0017813E0A2EB7000A201305B01201340241A7F9927>87 D<12FEA212C0B3AF12FEA207257D9B0B>91 D<12FEA21206B3AF12FEA20725809B0B>93 D97 D<12FC121CA913F8EA1F0EEA1E07381C0380130114C0A6EB038014 00EA1E07EA1B0CEA10F0121A7F9915>II<137E130EA9EA03CEEA0C3EEA380E12301270 12E0A612601270EA381EEA1C2E3807CFC0121A7F9915>IIII<12FC121CA913F8EA1D0CEA1E0EA2121CAB38FF9F C0121A7F9915>I<1218123CA21218C7FCA612FC121CAEEAFF80091A80990A>II<12FC121C A9EB3F80EB1E00131813105B5BEA1DC0EA1FE0121C1370137813387F131E131F38FF3FC0 121A7F9914>I<12FC121CB3A6EAFF80091A80990A>I<38FC7C1F391D8E6380391E0781C0 A2001C1301AB39FF9FE7F81D107F8F20>IIII114 DI<1204A3120CA2121C123CEAFFC0EA 1C00A81320A5EA0E40EA03800B177F960F>II<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5AA21390EA03A0A2EA01 C0A36C5A11107F8F14>I<39FF3F9F80393C0E070000381306381C16041317001E130C38 0E23081488000F13983807419014D03803C1E01380A200015BEB004019107F8F1C>I<38 FF3F80383C1C00EA1C18EA0E106C5A13606C5A12017F1203EA0270487E1208EA181CEA38 1E38FC3FC012107F8F14>I<38FF1F80383C0600EA1C04A2EA1E0CEA0E08A26C5AA21390 EA03A0A2EA01C0A36C5AA248C7FCA212E112E212E4127811177F8F14>I123 D E /Fv 16 118 df<1303497EA3497EA2EB1BE0A3EB31F0A2EB60F8A2EBE0 FCEBC07CA248487EEBFFFE487FEB001FA20006EB0F80A2000E14C039FFC07FFCA21E1A7F 9921>65 D76 D80 D97 D<12FEA2121EA7137F381FC3C0EB00E0001E13F01478 A2147CA51478A214F0001F13E0381D83C038187F00161A7F9919>II< EA03F0EA0E1C487EEA3C071278148012F8A2B5FC00F8C7FCA21278A2383C0180381C0300 EA0E06EA03FC11117F9014>101 D<3807E3C0381C3CE0EA381C38781EC01400A4EA381C 6C5AEA27E00020C7FCA21230EA3FFE381FFF8014C0EA700338E000E0A4387001C0383C07 803807FC0013197F9016>103 D<123C127EA4123CC7FCA4127EA2121EADEAFF80A2091B 7F9A0D>105 D<39FE1F01F0903863C63C391E81C81C391F01F01EA2001E13E0AA3AFFCF FCFFC0A222117F9025>109 DII114 DI<1206A4120EA2121EEA3FF0 12FFEA1E00A81318A5EA0F30EA03E00D187F9711>I<38FE0FE0A2EA1E01AB1303A2380F 05FCEA03F916117F9019>I E /Fw 1 4 df<1202A3EAC218EAF278EA3AE0EA0F80A2EA3A E0EAF278EAC218EA0200A30D0E7E8E12>3 D E /Fx 34 122 df<127012F812FCA21274 1204A41208A21210A212201240060F7C840E>44 D<127012F8A3127005057C840E>46 D<13801203120F12F31203B3A9EA07C0EAFFFE0F217CA018>49 D<13021306130EA2131E A2132E134EA2138EA2EA010E1202A21204A212081210A21220A212401280B512F838000E 00A7131F3801FFF015217FA018>52 D<00101380381E0700EA1FFF5B13F8EA13E00010C7 FCA613F8EA130EEA1407381803801210380001C0A214E0A4127012F0A200E013C01280EA 4003148038200700EA1006EA0C1CEA03F013227EA018>I57 D<497EA3497EA3EB05E0A2EB0DF01308A2497E1478A2497EA3497EA3497EA290B5FC3901 000780A24814C000021303A24814E01401A2000CEB00F0A2003EEB01F839FF800FFF2023 7EA225>65 DI<903807E0109038381830EBE0063901C00170390380 00F048C7FC000E1470121E001C1430123CA2007C14101278A200F81400A812781510127C 123CA2001C1420121E000E14407E6C6C13803901C001003800E002EB381CEB07E01C247D A223>II<9038 07F00890383C0C18EBE0023901C001B839038000F848C71278481438121E15185AA2007C 14081278A200F81400A7EC1FFF0078EB00F81578127C123CA27EA27E7E6C6C13B86C7E39 00E0031890383C0C08903807F00020247DA226>71 D80 D<3803F020380C0C60EA1802383001E0EA70000060136012E0A21420A36C1300A212 78127FEA3FF0EA1FFE6C7E0003138038003FC0EB07E01301EB00F0A214707EA46C1360A2 6C13C07E38C8018038C60700EA81FC14247DA21B>83 D<39FFFC07FF390FC000F86C4813 701520B3A5000314407FA2000114806C7E9038600100EB3006EB1C08EB03F020237EA125 >85 D<3BFFF03FFC03FE3B1F8007E000F86C486C4813701720A26C6C6C6C1340A32703C0 02F01380A33B01E004780100A33A00F0083C02A39039F8183E06903978101E04A2137C90 393C200F08A390391E400790A390390F8003E0A36D486C5AA36D5C010213002F237FA132 >87 D97 D<120E12FE121E120EAB131FEB 61C0EB8060380F0030000E1338143C141C141EA7141C143C1438000F1370380C8060EB41 C038083F0017237FA21B>II<14E0130F130113 00ABEA01F8EA0704EA0C02EA1C01EA38001278127012F0A7127012781238EA1801EA0C02 38070CF03801F0FE17237EA21B>II<133C13C6EA018F1203130FEA0700A9EAFFF8EA0700B21380EA7FF8102380A20F>I< 121C123EA3121CC7FCA8120E12FE121E120EB1EAFFC00A227FA10E>105 D<120E12FE121E120EB3ADEAFFE00B237FA20E>108 D<390E1FC07F3AFE60E183803A1E 807201C03A0F003C00E0A2000E1338AF3AFFE3FF8FFE27157F942A>I<380E1F8038FE60 C0381E80E0380F0070A2120EAF38FFE7FF18157F941B>III< EA0E3CEAFE46EA1E8FEA0F0F13061300120EAD120FEAFFF010157F9413>114 DI<1202A41206A3120E121E12 3EEAFFF8EA0E00AB1304A6EA07081203EA01F00E1F7F9E13>I<000E137038FE07F0EA1E 00000E1370AD14F0A238060170380382783800FC7F18157F941B>I<38FFC1FE381E0078 000E13301420A26C1340A238038080A33801C100A2EA00E2A31374A21338A3131017157F 941A>I<39FF8FF8FF391E01E03C001CEBC018120EECE010A239070260201470A2390384 30401438A23901C81880141CA23900F00D00140FA2EB6006A320157F9423>I<38FFC1FE 381E0078000E13301420A26C1340A238038080A33801C100A2EA00E2A31374A21338A313 10A25BA35B12F05B12F10043C7FC123C171F7F941A>121 D E /Fy 20 124 df50 D<1403A34A7EA24A7EA3EC17E01413A2EC23F01421A2EC40F8A3EC807CA2 0101137EEC003EA20102133F81A2496D7EA3496D7EA2011880011FB5FCA29039200003F0 1501A249801500A249147CA348C87EA248153F825AD81F80EC3F80D8FFE0903803FFFCA2 2E327EB132>65 D<91383FE001903901FFF803903807F01E90391F800307013EC7128701 78144F49142F4848141F4848140F485A000F150790C8FC481503121E123E003C1501127C A30078150012F8AB1278127C1601A2123C123E121E001F15027E6D1406000715046C6C14 086C7E6C6C141001781420013E14C090391F800380903907F00F00903801FFFC9038003F E028337CB130>67 D69 D71 D77 D82 D<90387F80203801FFE03907C07860380F001C001EEB 06E048130300381301007813001270156012F0A21520A37E1500127C127E7E13C0EA1FF8 6CB47E6C13F86C7FC613FF010F1380010013C0EC1FE01407EC03F01401140015F8A26C14 78A57E15706C14F015E07E6CEB01C000ECEB038000C7EB070038C1F01E38807FFCEB0FF0 1D337CB125>I86 D<13FE380303C0380C00E00010137080003C133C003E13 1C141EA21208C7FCA3EB0FFEEBFC1EEA03E0EA0F80EA1F00123E123C127C481404A3143E A21278007C135E6CEB8F08390F0307F03903FC03E01E1F7D9E21>97 D99 D101 D<120FEA1F80A4EA0F00C7FCABEA078012FFA2120F1207B3A6 EA0FC0EAFFF8A20D307EAF12>105 D108 D<380780FE39FF83078090388C03C0390F9001E0EA07A06E7E13C0A2 5BB3A2486C487E3AFFFC1FFF80A2211F7E9E25>110 D I<380783E038FF8C18EB907C120FEA07A0EBC0381400A35BB3487EEAFFFEA2161F7E9E19 >114 D<3801FC10380E0330381800F048137048133012E01410A37E6C1300127EEA3FF0 6CB4FC6C13C0000313E038003FF0EB01F813006C133CA2141C7EA27E14186C1338143000 CC136038C301C03880FE00161F7E9E1A>I<1340A513C0A31201A212031207120F381FFF E0B5FC3803C000B01410A80001132013E000001340EB78C0EB1F00142C7FAB19>I123 D E end %%EndProlog %%BeginSetup %%Feature: *Resolution 300dpi TeXDict begin %%EndSetup %%Page: 1 1 1 0 bop 284 369 a Fy(RE2C)21 b({)h(A)f(More)h(V)-6 b(ersatile)23 b(Scanner)e(Generator)472 490 y Fx(P)o(eter)15 b(Bum)o(bulis)209 b(Donald)17 b(D.)f(Co)o(w)o(an)272 548 y(Computer)g(Science)e (Departmen)o(t)h(and)i(Computer)e(Systems)g(Group)692 606 y(Univ)o(ersit)o(y)e(of)k(W)l(aterlo)q(o)1175 588 y Fw(\003)782 704 y Fx(April)e(15,)i(1994)849 895 y Fv(Abstract)120 960 y Fu(It)f(is)g(usually)j(claimed)f(that)e(lexical)j(analysis)f (routines)g(are)e(still)i(co)q(ded)f(b)o(y)f(hand,)i(despite)g(the)e (widespread)62 1005 y(a)o(v)n(ailabil)q(i)q(t)o(y)h(of)d(scanner)i (generators,)f(for)f(e\016ciency)i(reasons.)23 b(While)16 b(e\016ciency)g(is)f(a)f(consideration)q(,)j(there)e(exist)62 1051 y(freely)k(a)o(v)n(ailable)j(scanner)d(generators)g(suc)o(h)g(as)g (GLA)f([7])g(that)g(can)h(generate)g(scanners)h(that)e(are)h(faster)f (than)62 1097 y(most)g(hand-co)q(ded)h(ones.)30 b(Ho)o(w)o(ev)o(er,)18 b(most)g(generated)g(scanners)g(are)g(tailored)h(for)e(a)g(particular)j (en)o(vironmen)o(t,)62 1142 y(and)c(retargetting)h(these)e(scanners)i (to)e(other)h(en)o(vironmen)o(ts,)h(if)f(p)q(ossible,)h(is)f(usually)i (complex)f(enough)f(to)f(mak)o(e)62 1188 y(a)h(hand-co)q(ded)h(scanner) f(more)g(app)q(ealing.)26 b(In)16 b(this)g(pap)q(er)g(w)o(e)f(describ)q (e)i(RE2C,)e(a)g(scanner)i(generator)f(that)f(not)62 1234 y(only)e(generates)f(scanners)h(whic)o(h)f(are)g(faster)f(\(and)h (usually)i(smaller\))f(than)f(those)g(pro)q(duced)h(b)o(y)f(an)o(y)g (other)g(scanner)62 1279 y(generator)i(kno)o(wn)g(to)f(the)g(authors,)g (includin)q(g)j(GLA,)c(but)i(also)g(adapt)f(easily)i(to)e(an)o(y)h(en)o (vironmen)o(t.)62 1371 y(Categories)19 b(and)f(Sub)r(ject)g (Descriptors:)27 b(D.3.2)17 b([)p Fv(Programming)j(Languages)p Fu(]:)25 b(Language)19 b(Classi\014cations)i({)62 1416 y Ft(sp)n(e)n(cialize)n(d)11 b(applic)n(atio)o(n)g(languages)o Fu(;)f(D.3.4)j([)p Fv(Programming)h(Languages)p Fu(]:)j(Pro)q(cessors) 62 1508 y(General)e(T)m(erms:)h(Algorithms,)e(Languages,)h(P)o (erformance)62 1599 y(Additional)h(Key)d(W)m(ords)h(and)g(Phrases:)j (Lexical)e(analysis,)g(scanner)f(generator)-42 1736 y Fs(1)67 b(In)n(tro)r(duction)-42 1827 y Fr(Lexical)14 b(analysis)g(routines)h(are)g(still)f(often)g(co)q(ded)i(b)o(y)e(hand)g (despite)i(the)f(widespread)g(a)o(v)n(ailabilit)o(y)c(of)j(scanner)i (gener-)-42 1877 y(ators.)k(F)m(or)14 b(example,)e(while)i(most)f(Unix) h(systems)g(ha)o(v)o(e)g(a)g(scanner)i(generator)f(installed)f(\(t)o (ypically)f(LEX)h([15)o(])g(or)g(\015ex)-42 1927 y([16]\),)d(few)i (Unix)f(applications)f(use)i(a)f(mec)o(hanically)e(generated)k (scanner.)19 b(One)13 b(commonly)c(cited)k(reason)g(for)e(not)i(using) -42 1977 y(LEX-generated)k(scanners)f(is)f(p)q(erformance:)20 b(they)15 b(can)g(b)q(e)g(10)g(times)f(slo)o(w)o(er)g(than)h(equiv)n (alen)o(t)f(hand-co)q(ded)i(scanners)-42 2026 y([13].)h(As)d(a)g (result,)g(there)h(has)f(b)q(een)h(considerable)f(researc)o(h)i(in)o (to)d(impro)o(ving)e(the)j(p)q(erformance)g(of)f(mec)o(hanically)e (gen-)-42 2076 y(erated)17 b(scanners)f([16)o(,)f(7,)f(9].)21 b(GLA)15 b([7)o(],)g(one)g(suc)o(h)h(scanner)g(generator,)g(can)f(pro)q (duce)h(scanners)h(that)e(are)h(faster)f(than)-42 2126 y(most)h(hand-co)q(ded)h(scanners.)29 b(Ho)o(w)o(ev)o(er,)17 b(the)h(use)f(of)f(hand-co)q(ded)i(scanners)g(is)f(still)f(prev)n(alen) o(t.)27 b(One)17 b(p)q(ossibilit)o(y)f(is)-42 2176 y(that)e(this)g(is)g (due)h(to)e(the)i(di\016cult)o(y)e(of)g(adapting)g(the)h(generated)i (scanners)f(to)f(sp)q(eci\014c)h(applications.)21 2226 y(Most)g(scanner)g(generators)h(are)f(tailored)f(to)g(a)h(particular)f (en)o(vironmen)o(t.)19 b(In)14 b(fact,)g(the)i(trend)f(in)f(recen)o(t)i (y)o(ears)f(has)-42 2276 y(b)q(een)i(to)e(in)o(tegrate)g(scanner)i (generators)f(with)f(compiler)f(to)q(olkits.)21 b(F)m(or)15 b(example,)f(GLA)h(is)g(part)g(of)g(the)g(Eli)g(compiler)-42 2325 y(construction)k(system)f([8)o(],)g(and)g(Rex)f([9])g(is)h(part)g (of)f(the)h(GMD)f(T)m(o)q(olb)q(o)o(x)g(for)g(Compiler)f(Construction) 1688 2310 y Fq(1)1707 2325 y Fr(.)30 b(Scanners)p -42 2362 780 2 v 4 2389 a Fp(\003)22 2401 y Fo(P)o(ermission)9 b(to)j(cop)o(y)e(without)h(fee)g(all)g(or)g(part)g(of)g(this)g (material)e(is)j(gran)o(ted)d(pro)o(vided)h(that)g(the)h(copies)f(are)h (not)g(made)f(or)i(distributed)-42 2440 y(for)g(direct)e(commercial)f (adv)n(an)o(tage,)g(the)i(A)o(CM)j(cop)o(yrigh)o(t)9 b(notice)i(and)g(the)g(title)g(of)h(the)f(publication)e(and)i(its)g (date)g(app)q(ear,)f(and)h(notice)g(is)-42 2480 y(giv)o(en)g(that)g (cop)o(ying)f(is)i(b)o(y)f(p)q(ermission)e(of)j(the)f(Asso)q(ciation)f (for)h(Computing)f(Mac)o(hinery)m(.)15 b(T)m(o)d(cop)o(y)f(otherwise,)f (or)i(to)f(republish,)f(requires)-42 2519 y(a)k(fee)f(and/or)f(sp)q (eci\014c)g(p)q(ermission.)19 b(Cop)o(yrigh)o(t)12 b(1994)h(b)o(y)g (the)g(Asso)q(ciation)f(for)h(Computing)e(Mac)o(hinery)m(,)h(Inc.)22 b(T)m(o)14 b(app)q(ear)e(in)h(LOPLAS)-42 2558 y(2\(1{4\).)5 2586 y Fn(1)22 2598 y Fo(Also)f(kno)o(wn)e(as)i(Co)q(c)o(ktail)e (\(Compiler-Compi)o(ler-)o(T)m(o)q(olb)q(o)n(x)f(Karlsruhe\).)923 2748 y Fr(1)p eop %%Page: 2 2 2 1 bop -42 195 a Fr(generated)21 b(b)o(y)d(these)i(to)q(ols)f(assume)f (the)i(existence)g(of)e(a)h(library)f(of)g(supp)q(ort)h(mo)q(dules)f (for)h(error)g(handling,)g(input)-42 245 y(bu\013ering,)c(sym)o(b)q(ol) d(table)i(managemen)o(t,)d(and)j(similar)e(functions.)18 b(While)c(these)h(supp)q(ort)g(mo)q(dules)e(simplify)f(the)i(task)-42 295 y(of)c(implemen)o(ting)c(a)k(compiler)f(or)h(in)o(terpreter,)i (they)e(mak)o(e)f(adaptation)g(to)h(other)g(purp)q(oses)i(more)d (di\016cult.)16 b(Adaptation)-42 345 y(to)e(other)h(en)o(vironmen)o(ts) e(is)h(also)f(made)g(more)g(di\016cult)g(b)q(ecause)j(often)e (assumptions)f(are)i(made)d(ab)q(out)i(the)h(input)f(and)-42 394 y(restrictions)j(are)e(placed)g(on)g(tok)o(ens)g(in)g(order)g(to)g (ac)o(hiev)o(e)g(b)q(etter)i(p)q(erformance.)k(RE2C)14 b(go)q(es)i(to)f(the)g(other)h(extreme:)-42 444 y(it)e(concen)o(trates) i(solely)d(on)h(generating)g(co)q(de)h(for)e(matc)o(hing)f(regular)i (expressions.)21 494 y(RE2C)f(is)h(successful)h(at)f(its)g(task:)k(not) 13 b(only)g(do)q(es)i(it)e(pro)q(duce)i(scanners)h(whic)o(h)e(are)g (faster)g(than)g(those)g(created)i(b)o(y)-42 544 y(other)g(scanner)h (generators)f(but,)f(surprisingly)m(,)f(they)i(are)g(usually)e(smaller) f(as)j(w)o(ell.)21 b(F)m(urther,)15 b(RE2C)g(do)q(es)h(not)f(mak)o(e) -42 594 y(an)o(y)i(assumptions)e(ab)q(out)h(the)h(input)g(or)f(place)h (an)o(y)f(restrictions)i(on)e(tok)o(ens.)26 b(T)m(o)16 b(a)g(large)g(degree,)i(the)g(p)q(erformance)-42 643 y(and)d(\015exibilit)o(y)d(of)i(RE2C-generated)h(scanners)h(is)f(due)f (to)h(a)f(no)o(v)o(el)f(metho)q(d)h(for)g(determining)f(when)i(to)f (re\014ll)g(a)g(bu\013er)-42 693 y(whic)o(h)g(a)o(v)o(oids)f(the)i (complications)c(in)o(tro)q(duced)k(b)o(y)f(the)g(sen)o(tinel)h(metho)q (d)e([1)o(].)21 743 y(The)e(follo)o(wing)d(sections)j(of)f(this)h(pap)q (er)g(describ)q(e)i(RE2C)d(scanner)i(sp)q(eci\014cations,)f(discuss)h (ho)o(w)e(these)i(sp)q(eci\014cations)-42 793 y(are)21 b(con)o(v)o(erted)g(in)o(to)f(scanners,)j(and)d(giv)o(e)f(p)q (erformance)h(results)h(ac)o(hiev)o(ed)g(b)o(y)f(our)g(implemen)o (tatio)o(n)d(\(including)j(a)-42 843 y(comparison)13 b(with)g(GLA\).)-42 980 y Fs(2)67 b(Scanner)24 b(Sp)r(eci\014cations) -42 1071 y Fr(An)14 b(RE2C)g(source)h(\014le)f(consists)h(of)e(C[14)o (])g(or)h(C++[4])842 1056 y Fq(2)874 1071 y Fr(co)q(de)g(in)o(terlea)o (v)o(ed)g(with)g(commen)o(ts)e(of)h(the)i(form)d Fm(/*!re2c)20 b Fl(:)7 b(:)g(:)-42 1121 y Fm(*/)15 b Fr(con)o(taining)f(scanner)i(sp) q(eci\014cations.)23 b(These)16 b(sp)q(eci\014cations)g(are)g(replaced) g(with)e(generated)j(co)q(de)e(that)g(is)g(in)o(v)o(ok)o(ed)-42 1170 y(simply)d(b)o(y)i(\\falling)d(in)o(to")i(the)i(commen)o(ts)d(as)i (illustrated)g(in)f(Figure)h(1)g(and)f(in)h(App)q(endix)g(A)1481 1155 y Fq(3)1500 1170 y Fr(.)469 1254 y Fm(#define)20 b(YYCURSOR)42 b(p)469 1304 y(unsigned)20 b(char)h(*scan)p 887 1304 14 2 v 14 w(uint\(unsigned)e(char)i(*p\))p Fk(f)469 1353 y Fm(/*!re2c)556 1403 y([0-9]+)195 b Fk(f)p Fm(return)20 b(p;)p Fk(g)556 1453 y Fm([\\)o(000-\\)o(377])87 b Fk(f)p Fm(return)20 b(NULL;)p Fk(g)469 1503 y Fm(*/)469 1553 y Fk(g)681 1634 y Fr(Figure)14 b(1:)k(A)c(simple)f(scanner.)21 1733 y(A)i(scanner)h(sp)q(eci\014cation)f(tak)o(es)g(the)g(form)e(of)h (a)h(list)f(of)g(rules,)h(eac)o(h)g(rule)g(consisting)g(of)f(a)g (regular)h(expression)h([10)o(])-42 1783 y(and)g(an)g(action)f (expressed)k(in)c(executable)i(co)q(de.)25 b(Figure)16 b(2)g(illustrates)g(a)g(trivial)e(RE2C)h(scanner)j(sp)q(eci\014cation)e (that)-42 1833 y(will)c(b)q(e)h(used)h(as)f(an)f(example)g(throughout)g (this)h(pap)q(er.)36 b(Eac)o(h)14 b(call)d(to)i(the)g(co)q(de)h (generated)g(from)d(a)h(sp)q(eci\014cation)i(will)416 1926 y Fm("print")201 b Fk(f)22 b Fm(return)e(PRINT;)49 b(/*)21 b(rule)g(5)h(*/)f Fk(g)416 1975 y Fm([a-z])o(+)224 b Fk(f)22 b Fm(return)e(ID;)115 b(/*)21 b(rule)g(4)h(*/)f Fk(g)416 2025 y Fm([0-9])o(+)224 b Fk(f)22 b Fm(return)e(DEC;)93 b(/*)21 b(rule)g(3)h(*/)f Fk(g)416 2075 y Fm("0x")g([0-9a-f])n(+)50 b Fk(f)22 b Fm(return)e(HEX;)93 b(/*)21 b(rule)g(2)h(*/)f Fk(g)416 2125 y Fm([\\000-\\)o(377])114 b Fk(f)22 b Fm(return)e(ERR;)93 b(/*)21 b(rule)g(1)h(*/)f Fk(g)108 2214 y Fr(Figure)15 b(2:)20 b(Sample)13 b(sp)q(eci\014cation.)22 b Fm([)p Fl(a)p Fm(-)p Fl(b)p Fm(])14 b Fr(matc)o(hes)h(an)o(y)f(c)o(haracter)i (b)q(et)o(w)o(een)g Fl(a)f Fr(and)g Fl(b)p Fr(,)f(inclusiv)o(ely)m(.) 108 2264 y(The)i(last)f(rule,)g(for)g(example,)e(will)h(matc)o(h)g(an)o (y)g(eigh)o(t)h(bit)g(c)o(haracter.)23 b(Rules)15 b(are)g(listed)h(in)e (order)i(of)108 2314 y(precedence)q(.)-42 2414 y(\014rst)d(determine)g (the)f(longest)h(p)q(ossible)f(pre\014x)h(of)f(the)h(remaining)d(input) i(that)g(matc)o(hes)g(one)g(of)g(the)h(regular)f(expressions)-42 2463 y(and)i(will)f(then)h(execute)i(the)e(action)g(in)f(the)i(\014rst) g(applicable)e(rule.)p -42 2498 780 2 v 5 2525 a Fn(2)22 2537 y Fo(Retargetting)8 b(RE2C)k(to)f(a)h(di\013eren)o(t)d(language)g (is)i(straigh)o(tforw)o(ard.)5 2564 y Fn(3)22 2576 y Fo(RE2C-generated)e(scanners)g(require)h(no)h(additional)d(supp)q(ort)i (co)q(de.)923 2748 y Fr(2)p eop %%Page: 3 3 3 2 bop 138 1062 a @beginspecial 53 @llx 268 @lly 435 @urx 486 @ury 3820 @rwi @setspecial %%BeginDocument: scanner.eps /AutoFlatness false def % -------------- POSTSCRIPT PROLOG FOR CORELDRAW 3.X ------ % Copyright 1992 Corel Corporation. All rights reserved. /wCorelDict 300 dict def wCorelDict begin/bd{bind def}bind def /ld{load def}bd/xd{exch def}bd/_ null def /$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def /$n _ def/$o 0 def/$fil 0 def/$bkg false def /$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def /$N _ def/$O 0 def/$PF false def/$ctm matrix currentmatrix def /$ptm matrix def/$ttm matrix def/$stm matrix def /$fst 128 def/$pad 0 def/$rox 0 def/$roy 0 def currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd /$dsf xd/$sdf false def/$SDF false def/$Scra 0.0 def /$sv 0 def/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld /@np/newpath ld/@sv{/$sv save def}bd/@rs{$sv restore}bd /@ss{exch $Scra add exch load setscreen}bd AutoFlatness{/$cpx ([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n) def /@err1{$cpx print flush newpath}bd/@ifl{dup currentflat exch sub 10 gt {@err1 exit}{currentflat 2 add setflat}ifelse}bd /@fill/fill ld/fill{currentflat{{@fill}stopped{@ifl}{exit}ifelse }bind loop setflat}bd/@eofill/eofill ld/eofill{currentflat{{@eofill} stopped{@ifl}{exit}ifelse}bind loop setflat}bd /@clip/clip ld/clip{currentflat{{@clip}stopped{initclip @ifl}{exit }ifelse}bind loop setflat}bd/@eoclip/eoclip ld /eoclip{currentflat{{@eoclip}stopped{initclip @ifl}{exit}ifelse }bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke} stopped{@ifl}{exit}ifelse}bind loop setflat}bd}if /InRange{3 -1 roll 2 copy le{pop}{exch pop}ifelse 2 copy ge{pop}{exch pop}ifelse}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd/@dot{dup mul exch dup mul add 1 exch sub 2 div}bd /@lin{exch pop abs 1 exch sub}bd/@MN{2 copy le{pop}{exch pop}ifelse}bd /setcmykcolor where{pop}{/setcmykcolor{4 1 roll 3{3 index add 1 @MN 1 exch sub 3 1 roll}repeat setrgbcolor pop}bd}ifelse/setoverprint{/$op xd}bd /currentoverprint{$op}bd/setsepcolor{1 exch sub setgray}bd /checksepcolor{1 exch sub dup setgray 1 eq exch 1 eq and not}bd /setprocesscolor{ColorSeparationMode 0 eq{setcmykcolor}{ 0 4 $ink sub index exch pop 5 1 roll 4{pop}repeat setsepcolor}ifelse}bd/findcmykcustomcolor{5 array astore}bd /setcustomcolor where{pop}{/setcustomcolor{ColorSeparationMode 0 eq{ exch aload pop pop 4{4 index mul 4 1 roll}repeat 5 -1 roll pop setcmykcolor}{exch aload pop CurrentInkName eq{4 index}{0}ifelse 6 1 roll 5{pop}repeat setsepcolor}ifelse}bd}ifelse/colorimage where{pop}{ /colorimage{pop pop pop pop pop{currentfile $dat readhexstring pop pop} repeat pop}bd}ifelse/@tc{dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd/@scc{1 eq setoverprint dup _ eq{pop setprocesscolor pop}{findcmykcustomcolor exch setcustomcolor}ifelse ColorSeparationMode 0 eq{true}{ currentgray 1 eq currentoverprint and not}ifelse}bd /@sft{/$tx $tllx $pxf add dup $tllx gt{$pwid sub}if def /$ty $tury $pyf sub dup $tury lt{$phei add}if def}bd /@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd /@ep{{cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if $phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add $llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg 0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1 roll 3 index sub translate /$ctm matrix currentmatrix def @ep pop pop pop pop}{pop pop}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{ dup $llx gt{$pwid sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3 copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup $pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/@pf{@gs $ctm setmatrix $pm concat @stb eoclip Bburx Bbury $pm itransform/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd /$wid $turx $tllx sub def/$hei $tury $tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc{eofill}if}{$t $c $m $y $k $n $o @scc{ $tllx $tlly translate $wid $hei scale <00> 8 1 false [ 8 0 0 1 0 0 ]{}imagemask /$bkg true def}if}ifelse @gr $wid 0 gt $hei 0 gt and{ $pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd/$tlx $wid $pwid div ceiling 1 add def /$tly $hei $phei div ceiling 1 add def $psx 0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@dlt{ColorSeparationMode 0 eq{ /$dc $toc $tot mul $frc $frt mul dup/$c xd sub $fst 1 sub div def /$dm $tom $tot mul $frm $frt mul dup/$m xd sub $fst 1 sub div def /$dy $toy $tot mul $fry $frt mul dup/$y xd sub $fst 1 sub div def /$dk $tok $tot mul $frk $frt mul dup/$k xd sub $fst 1 sub div def true}{$frt $frc $frm $fry $frk $frn $o @scc dup{/$frk 1 currentgray sub def}{/$frk 0 def}ifelse $tot $toc $tom $toy $tok $ton $o @scc dup{/$tok 1 currentgray sub def}{ /$tok 0 def}ifelse or dup{/$c 0 def/$m 0 def/$y 0 def/$k $frk def /$dc 0 def/$dm 0 def/$dy 0 def/$dk $tok $frk sub $fst 1 sub div def}if }ifelse}bd/@ftl{1 index 4 index sub dup $pad mul dup/$pdw xd 2 mul sub $fst div/$wid xd 2 index sub/$hei xd pop translate $c $m $y $k 4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill $pdw 0 translate $fst{4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $wid $hei lineto $wid 0 lineto 0 0 lineto fill $wid 0 translate $dk add 4 1 roll $dy add 4 1 roll $dm add 4 1 roll $dc add 4 1 roll}repeat $dk sub 4 1 roll $dy sub 4 1 roll $dm sub 4 1 roll $dc sub 4 1 roll ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} {setcmykcolor}ifelse 0 0 moveto 0 $hei lineto $pdw $hei lineto $pdw 0 lineto 0 0 lineto fill }bd/@ftr{1 index 4 index sub dup $rox mul/$row xd 2 div 1 index 4 index sub dup $roy mul/$roh xd 2 div 2 copy dup mul exch dup mul add sqrt $row dup mul $roh dup mul add sqrt add dup/$hei xd $fst div/$wid xd 4 index add $roh add exch 5 index add $row add exch translate pop pop pop pop currentflat dup 5 mul setflat $c $m $y $k 4 copy ColorSeparationMode 0 ne {1 exch sub setgray pop pop pop}{setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill 1.0 $pad 2 mul sub dup scale $fst{4 copy ColorSeparationMode 0 ne{1 exch sub setgray pop pop pop} {setcmykcolor}ifelse $wid 0 moveto 0 0 $hei 0 360 arc fill /$hei $hei $wid sub def $dk add 4 1 roll $dy add 4 1 roll $dm add 4 1 roll $dc add 4 1 roll}repeat pop pop pop pop setflat}bd/@ff{@gs @dlt{$ctm setmatrix eoclip newpath Bbllx Bblly moveto Bbllx Bbury lineto Bburx Bbury lineto Bburx Bblly lineto $fan rotate pathbbox newpath $fty 1 eq{@ftr}{@ftl}ifelse}if @gr @np}bd/@Pf{@sv ColorSeparationMode 0 eq $ink 3 eq or{0 J 0 j [] 0 d $t $c $m $y $k $n $o @scc pop $ctm setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec}{1 setgray eofill}ifelse @rs @np}bd/g{1 exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def }bd/G{1 exch sub/$K xd/$C 0 def/$M 0 def/$Y 0 def/$T 1 def/$N _ def}bd /k{/$k xd/$y xd/$m xd/$c xd/$t 1 def/$n _ def/$fil 0 def}bd /K{/$K xd/$Y xd/$M xd/$C xd/$T 1 def/$N _ def}bd /x{/$t xd/$n xd/$k xd/$y xd/$m xd/$c xd/$fil 0 def}bd /X{/$T xd/$N xd/$K xd/$Y xd/$M xd/$C xd}bd /d/setdash ld/i{dup 0 ne{setflat}{pop}ifelse}bd /j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit ld /w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd /c/curveto ld/C/c ld/v{4 -2 roll 2 copy 6 -2 roll curveto}bd /V/v ld/y{2 copy curveto}bd/Y/y ld/l/lineto ld /L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld /N/newpath ld/F{matrix currentmatrix $sdf{$scf $sca $scp @ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc {eofill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc{ matrix currentmatrix $ptm concat stroke setmatrix}{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}bd/b{@cp B}bd/W{eoclip}bd /p{/$pm xd 7{pop}repeat/$pyf xd/$pxf xd/$pn xd /$fil 1 def}bd/P{11{pop}repeat}bd/u{}bd/U{}bd /A{pop}bd/q/@gs ld/Q/@gr ld/E{5 array astore exch cvlit exch def}bd/`{}bd/~{}bd/@{}bd/&{}bd /CorelDrawReencodeVect [ 16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl 16#88/circumflex/perthousand/Scaron/guilsinglleft/OE 16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash 16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis 16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section 16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron 16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered 16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown 16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla 16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis 16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply 16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls 16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla 16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis 16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide 16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis ] def/@cc{currentfile $dat readhexstring pop}bd /@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd /Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq/$vectpat xd/$pm xd/$psy xd/$psx xd/$pyf xd/$pxf xd /$pn xd}bd/@P{/$fil 3 def/$Psn xd array astore /$Prm xd}bd/@k{/$fil 2 def/$roy xd/$rox xd/$pad xd /$fty xd/$fan xd $fty 1 eq{/$fan 0 def}if/$tok xd/$toy xd/$tom xd/$toc xd /$frk xd/$fry xd/$frm xd/$frc xd/$frn _ def/$frt 1 def/$ton _ def/$tot 1 def }bd/@x{/$fil 2 def/$roy xd/$rox xd/$pad xd /$fty xd/$fan xd/$tot xd/$ton xd/$tok xd/$toy xd/$tom xd/$toc xd /$frt xd/$frn xd/$frk xd/$fry xd/$frm xd/$frc xd}bd /@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3 index 3 index l clip pop pop pop pop}bd/@i{@sm @gs @ii 6 index 1 ne{/$frg true def pop pop}{1 eq{$T $C $M $Y $K $N $O @scc/$frg xd}{/$frg false def }ifelse 1 eq{@gs $ctm setmatrix $t $c $m $y $k $n $o @scc{eofill}if @gr}if}ifelse/$frg $frg $bkg or def @np/$ury xd/$urx xd/$lly xd/$llx xd /$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi string def $frg{$SDF{$SCF $SCA $SCP @ss}if $llx $lly translate $urx $llx sub $ury $lly sub scale $wid $hei abs $bts 1 eq{false}{$bts}ifelse [ $wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load $bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{@cc pop}repeat}ifelse @gr $ctm setmatrix}def/@M{@sv}bd/@N{/@cc{}def 1 eq{12 -1 roll neg 12 1 roll @I}{13 -1 roll neg 13 1 roll @i}ifelse @rs}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx xd /$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling cvi string def $llx $lly translate $urx $llx sub $ury $lly sub scale $wid $hei abs $bts [ $wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse] /@cc load false $ncl colorimage @gr $ctm setmatrix}bd /z{exch findfont exch scalefont setfont}bd /ZB{9 dict dup begin 4 1 roll/FontType 3 def /FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop setcachedevice begin Encoding exch get CharStrings exch get end exec}def end definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3 1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd /Encoding exch put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type eq{exch pop}{ $fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3 index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3 -1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop}bd/@ftx{{currentpoint 3 -1 roll (0) dup 3 -1 roll 0 exch put dup @gs true charpath $ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch moveto }forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq {/@@txt/@Pf ld @ftx}{$t $c $m $y $k $n $o @scc{show}{pop}ifelse}ifelse }ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}bd /@st{matrix currentmatrix exch $SDF{$SCF $SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc{{currentpoint 3 -1 roll (0) dup 3 -1 roll 0 exch put dup @gs true charpath $ctm setmatrix $ptm concat stroke @gr @np stringwidth pop 3 -1 roll add exch moveto }forall}{pop}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup @gs @st @gr @ft}bd /@tm{/$textsave save def @sm concat}bd/e{/t{@te}def}bd /r{/t{@tr}def}bd/o{/t{pop}def}bd/a{/t{@ta}def}bd /@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix /$ttm matrix def $textsave restore}bd/@t{/$stm $stm currentmatrix def 3 1 roll moveto $ttm concat t $stm setmatrix}def /@n{/$ttm exch matrix rotate def}bd/@s{}bd /@l{}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd{/$scp xd/$sca xd /$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd /$SCA xd/$SCF xd}if}bd/@D{3 copy @ss/$dsp xd /$dsa xd/$dsf xd}bd/@j{@sv @np}bind def/@J{@rs}bind def /@sep{/ColorSeparationMode where{pop}{/ColorSeparationMode 0 def /CurrentInkName (Composite) def}ifelse ColorSeparationMode 0 eq{ /CurrentInkName (Composite) def}if/CurrentInkName where{pop}{ /CurrentInkName (Composite) def}ifelse CurrentInkName (Composite) eq {/$ink -1 def}{CurrentInkName (Cyan) eq{/$ink 0 def}{ CurrentInkName (Magenta) eq{/$ink 1 def}{CurrentInkName (Yellow) eq {/$ink 2 def}{CurrentInkName (Black) eq{/$ink 3 def}{/$ink 4 def }ifelse}ifelse}ifelse}ifelse}ifelse}bd @sep /@whi{@gs -72000 dup moveto -72000 72000 lineto 72000 dup lineto 72000 -72000 lineto closepath 1 setgray fill @gr}bd/@neg{ [{1 exch sub}/exec cvx currenttransfer/exec cvx] cvx settransfer @whi}bd/@reg{[] 0 d 0 setgray .3 setlinewidth 2 copy 5.4 0 360 arc closepath 2 copy moveto 9 0 rlineto 2 copy moveto -9 0 rlineto 2 copy moveto 0 9 rlineto moveto 0 -9 rlineto stroke}bd/leftbracket{(\050)}def /rightbracket{(\051)}def 11.4737 setmiterlimit 1.00 setflat /$fst 128 def [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 229 229 291 457 457 732 543 182 275 275 322 480 229 275 229 229 457 457 457 457 457 457 457 457 457 457 229 229 480 480 480 457 836 543 543 592 592 543 504 639 592 229 408 543 457 686 592 639 543 639 592 543 504 592 543 771 543 543 504 229 229 229 387 457 275 457 457 408 457 457 229 457 457 182 182 408 182 686 457 457 457 457 275 408 229 457 408 592 408 408 408 275 213 275 480 750 750 750 750 457 275 818 457 457 275 818 750 275 818 750 750 750 750 182 182 275 275 229 457 818 275 818 750 275 771 750 750 750 750 275 457 457 457 457 148 457 275 605 299 457 480 750 605 750 750 750 750 750 275 750 441 750 275 750 299 457 750 750 750 504 543 543 543 543 543 543 818 592 543 543 543 543 229 229 229 229 750 592 639 639 639 639 639 750 639 592 592 592 592 543 750 504 457 457 457 457 457 457 732 408 457 457 457 457 229 229 229 229 750 457 457 457 457 457 457 750 504 457 457 457 457 408 750 408 ] CorelDrawReencodeVect /_Helvetica-Narrow /Helvetica-Narrow Z [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 600 ] CorelDrawReencodeVect /_Courier /Courier Z @sv /$ctm matrix currentmatrix def @sv 106.13 392.62 110.02 399.38 @E [0.07199 0.00000 0.00000 0.07199 106 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (0) @t T 160.70 392.69 163.30 399.31 @E [0.07199 0.00000 0.00000 0.07199 160 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (1) @t T 214.06 392.69 217.94 399.24 @E [0.07199 0.00000 0.00000 0.07199 214 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (2) @t T 268.06 392.54 271.94 399.24 @E [0.07199 0.00000 0.00000 0.07199 268 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (3) @t T 321.98 392.47 325.94 399.10 @E [0.07199 0.00000 0.00000 0.07199 322 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (4) @t T 375.98 392.40 379.94 399.10 @E [0.07199 0.00000 0.00000 0.07199 376 392] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (5) @t T 159.98 446.69 163.94 453.38 @E [0.07199 0.00000 0.00000 0.07199 160 446] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (6) @t T 106.06 338.83 110.09 345.38 @E [0.07199 0.00000 0.00000 0.07199 106 338] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (7) @t T 159.98 338.62 163.94 345.46 @E [0.07199 0.00000 0.00000 0.07199 160 338] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (8) @t T 106.13 284.62 110.02 291.46 @E [0.07199 0.00000 0.00000 0.07199 106 284] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (9) @t T 157.97 284.69 166.10 291.53 @E [0.07199 0.00000 0.00000 0.07199 158 285] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (10) @t T 104.54 446.69 111.53 453.31 @E [0.07199 0.00000 0.00000 0.07199 104 446] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 125.00 z 0 0 (11) @t T 112.54 440.93 114.55 445.97 @E [0.07199 0.00000 0.00000 0.07199 112 440] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (1) @t T 166.46 278.93 169.49 283.97 @E [0.07199 0.00000 0.00000 0.07199 166 278] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (2) @t T 112.46 332.86 115.49 337.90 @E [0.07199 0.00000 0.00000 0.07199 112 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (3) @t T 166.46 332.86 169.49 337.90 @E [0.07199 0.00000 0.00000 0.07199 166 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (3) @t T 328.46 386.93 331.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 328 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 274.46 386.93 277.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 274 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 220.46 386.93 223.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 220 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 166.46 386.93 169.56 391.97 @E [0.07199 0.00000 0.00000 0.07199 166 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 166.46 440.93 169.56 445.97 @E [0.07199 0.00000 0.00000 0.07199 166 440] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (4) @t T 382.46 386.78 385.56 391.90 @E [0.07199 0.00000 0.00000 0.07199 382 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Helvetica-Narrow 97.00 z 0 0 (5) @t T 94.54 382.54 121.61 409.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 409.46 m 115.49 409.46 121.61 403.42 121.61 396.00 c 121.61 388.58 115.49 382.54 108.07 382.54 c 100.66 382.54 94.54 388.58 94.54 396.00 c 94.54 403.42 100.66 409.46 108.07 409.46 c @c S 94.54 274.54 121.61 301.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 301.46 m 115.49 301.46 121.61 295.42 121.61 288.00 c 121.61 280.58 115.49 274.54 108.07 274.54 c 100.66 274.54 94.54 280.58 94.54 288.00 c 94.54 295.42 100.66 301.46 108.07 301.46 c @c S 94.54 328.61 121.61 355.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 355.54 m 115.49 355.54 121.61 349.49 121.61 342.07 c 121.61 334.66 115.49 328.61 108.07 328.61 c 100.66 328.61 94.54 334.66 94.54 342.07 c 94.54 349.49 100.66 355.54 108.07 355.54 c @c S 95.83 329.98 120.17 354.31 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 354.31 m 114.62 354.31 120.17 348.91 120.17 342.14 c 120.17 335.45 114.62 329.98 108.00 329.98 c 101.30 329.98 95.83 335.45 95.83 342.14 c 95.83 348.91 101.30 354.31 108.00 354.31 c @c S 148.46 328.54 175.54 355.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 355.46 m 169.42 355.46 175.54 349.42 175.54 342.00 c 175.54 334.58 169.42 328.54 162.00 328.54 c 154.58 328.54 148.46 334.58 148.46 342.00 c 148.46 349.42 154.58 355.46 162.00 355.46 c @c S 149.76 329.90 174.10 354.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 354.24 m 168.55 354.24 174.10 348.84 174.10 342.07 c 174.10 335.38 168.55 329.90 161.93 329.90 c 155.23 329.90 149.76 335.38 149.76 342.07 c 149.76 348.84 155.23 354.24 161.93 354.24 c @c S 148.46 436.54 175.54 463.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 463.46 m 169.42 463.46 175.54 457.42 175.54 450.00 c 175.54 442.58 169.42 436.54 162.00 436.54 c 154.58 436.54 148.46 442.58 148.46 450.00 c 148.46 457.42 154.58 463.46 162.00 463.46 c @c S 149.76 437.90 174.10 462.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 462.24 m 168.55 462.24 174.10 456.84 174.10 450.07 c 174.10 443.38 168.55 437.90 161.93 437.90 c 155.23 437.90 149.76 443.38 149.76 450.07 c 149.76 456.84 155.23 462.24 161.93 462.24 c @c S 94.54 436.54 121.61 463.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.07 463.46 m 115.49 463.46 121.61 457.42 121.61 450.00 c 121.61 442.58 115.49 436.54 108.07 436.54 c 100.66 436.54 94.54 442.58 94.54 450.00 c 94.54 457.42 100.66 463.46 108.07 463.46 c @c S 95.83 437.90 120.17 462.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 462.24 m 114.62 462.24 120.17 456.84 120.17 450.07 c 120.17 443.38 114.62 437.90 108.00 437.90 c 101.30 437.90 95.83 443.38 95.83 450.07 c 95.83 456.84 101.30 462.24 108.00 462.24 c @c S 148.46 382.54 175.54 409.46 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 409.46 m 169.42 409.46 175.54 403.42 175.54 396.00 c 175.54 388.58 169.42 382.54 162.00 382.54 c 154.58 382.54 148.46 388.58 148.46 396.00 c 148.46 403.42 154.58 409.46 162.00 409.46 c @c S 149.76 383.90 174.10 408.24 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 161.93 408.24 m 168.55 408.24 174.10 402.84 174.10 396.07 c 174.10 389.38 168.55 383.90 161.93 383.90 c 155.23 383.90 149.76 389.38 149.76 396.07 c 149.76 402.84 155.23 408.24 161.93 408.24 c @c S 148.54 274.61 175.61 301.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.07 301.54 m 169.49 301.54 175.61 295.49 175.61 288.07 c 175.61 280.66 169.49 274.61 162.07 274.61 c 154.66 274.61 148.54 280.66 148.54 288.07 c 148.54 295.49 154.66 301.54 162.07 301.54 c @c S 149.83 275.98 174.17 300.31 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 162.00 300.31 m 168.62 300.31 174.17 294.91 174.17 288.14 c 174.17 281.45 168.62 275.98 162.00 275.98 c 155.30 275.98 149.83 281.45 149.83 288.14 c 149.83 294.91 155.30 300.31 162.00 300.31 c @c S 202.46 382.46 229.54 409.39 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 216.00 409.39 m 223.42 409.39 229.54 403.34 229.54 395.93 c 229.54 388.51 223.42 382.46 216.00 382.46 c 208.58 382.46 202.46 388.51 202.46 395.93 c 202.46 403.34 208.58 409.39 216.00 409.39 c @c S 203.76 383.83 228.10 408.17 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 215.93 408.17 m 222.55 408.17 228.10 402.77 228.10 396.00 c 228.10 389.30 222.55 383.83 215.93 383.83 c 209.23 383.83 203.76 389.30 203.76 396.00 c 203.76 402.77 209.23 408.17 215.93 408.17 c @c S 256.46 382.39 283.54 409.32 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 270.00 409.32 m 277.42 409.32 283.54 403.27 283.54 395.86 c 283.54 388.44 277.42 382.39 270.00 382.39 c 262.58 382.39 256.46 388.44 256.46 395.86 c 256.46 403.27 262.58 409.32 270.00 409.32 c @c S 257.76 383.76 282.10 408.10 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 269.93 408.10 m 276.55 408.10 282.10 402.70 282.10 395.93 c 282.10 389.23 276.55 383.76 269.93 383.76 c 263.23 383.76 257.76 389.23 257.76 395.93 c 257.76 402.70 263.23 408.10 269.93 408.10 c @c S 310.46 382.32 337.54 409.25 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 324.00 409.25 m 331.42 409.25 337.54 403.20 337.54 395.78 c 337.54 388.37 331.42 382.32 324.00 382.32 c 316.58 382.32 310.46 388.37 310.46 395.78 c 310.46 403.20 316.58 409.25 324.00 409.25 c @c S 311.76 383.69 336.10 408.02 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 323.93 408.02 m 330.55 408.02 336.10 402.62 336.10 395.86 c 336.10 389.16 330.55 383.69 323.93 383.69 c 317.23 383.69 311.76 389.16 311.76 395.86 c 311.76 402.62 317.23 408.02 323.93 408.02 c @c S 364.46 382.25 391.54 409.18 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 378.00 409.18 m 385.42 409.18 391.54 403.13 391.54 395.71 c 391.54 388.30 385.42 382.25 378.00 382.25 c 370.58 382.25 364.46 388.30 364.46 395.71 c 364.46 403.13 370.58 409.18 378.00 409.18 c @c S 365.76 383.62 390.10 407.95 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 377.93 407.95 m 384.55 407.95 390.10 402.55 390.10 395.78 c 390.10 389.09 384.55 383.62 377.93 383.62 c 371.23 383.62 365.76 389.09 365.76 395.78 c 365.76 402.55 371.23 407.95 377.93 407.95 c @c S 121.54 395.86 148.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 396.00 m 147.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 398.52 m 147.96 396.00 L 144.00 393.48 L S @J 175.54 395.86 202.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 175.54 396.00 m 201.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 198.00 398.52 m 201.96 396.00 L 198.00 393.48 L S @J 229.54 395.86 256.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 229.54 396.00 m 255.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 252.00 398.52 m 255.96 396.00 L 252.00 393.48 L S @J 283.54 395.86 310.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 283.54 396.00 m 309.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 306.00 398.52 m 309.96 396.00 L 306.00 393.48 L S @J 337.54 395.86 364.54 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 337.54 396.00 m 363.17 396.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 360.00 398.52 m 363.96 396.00 L 360.00 393.48 L S @J 125.57 268.56 143.86 284.98 @E [0.07198 0.00000 0.00000 0.07199 125 278] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 0 -125 (a) @t 60 -125 (-) @t 120 -125 (f) @t 180 -125 (\135) @t T 121.54 287.86 148.54 288.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 288.00 m 147.17 288.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 290.52 m 147.96 288.00 L 144.00 285.48 L S @J 121.54 341.86 148.54 342.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 121.54 342.00 m 147.17 342.00 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 144.00 344.52 m 147.96 342.00 L 144.00 339.48 L S @J 107.86 301.54 108.14 328.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 328.54 m 108.00 302.90 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 110.52 306.14 m 108.00 302.18 L 105.48 306.14 L S @J 107.86 355.54 108.14 382.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 382.54 m 108.00 356.90 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 110.52 360.14 m 108.00 356.18 L 105.48 360.14 L S @J 107.86 409.54 108.14 436.54 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 108.00 409.54 m 108.00 435.17 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 105.41 432.00 m 108.00 435.96 L 110.59 432.00 L S @J 117.00 405.00 153.00 441.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 117.00 405.00 m 152.06 440.06 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 147.96 439.63 m 152.64 440.64 L 151.70 436.03 L S @J 117.00 351.00 153.00 387.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 117.00 387.00 m 152.06 351.94 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 151.63 356.04 m 152.64 351.43 L 148.03 352.44 L S @J 166.39 341.93 196.63 377.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 346.82 m 177.48 347.47 182.59 350.42 186.77 354.60 c 193.75 361.58 196.63 370.22 193.18 373.68 c 189.72 377.14 181.08 374.33 174.10 367.34 c 169.92 363.17 166.90 358.06 166.39 353.95 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 356.90 m 166.39 353.30 L 164.30 357.62 L S @J 166.39 450.72 196.63 485.93 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 455.62 m 177.48 456.26 182.59 459.22 186.77 463.39 c 193.75 470.38 196.63 479.02 193.18 482.47 c 189.72 485.93 181.08 483.12 174.10 476.14 c 169.92 471.96 166.90 466.85 166.39 462.74 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 465.70 m 166.39 462.10 L 164.30 466.42 L S @J 166.39 287.93 196.63 323.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 173.38 292.82 m 177.48 293.47 182.59 296.42 186.77 300.60 c 193.75 307.58 196.63 316.22 193.18 319.68 c 189.72 323.14 181.08 320.33 174.10 313.34 c 169.92 309.17 166.90 304.06 166.39 299.95 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 169.34 302.90 m 166.39 299.30 L 164.30 303.62 L S @J 166.61 396.00 198.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 182.30 396.00 m 190.94 396.00 198.00 408.17 198.00 423.00 c 198.00 437.83 190.94 450.00 182.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 185.54 447.41 m 181.58 450.00 L 185.54 452.59 L S @J 220.61 396.00 252.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 236.30 396.00 m 244.94 396.00 252.00 408.17 252.00 423.00 c 252.00 437.83 244.94 450.00 236.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 239.54 447.41 m 235.58 450.00 L 239.54 452.59 L S @J 274.61 396.00 306.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 290.30 396.00 m 298.94 396.00 306.00 408.17 306.00 423.00 c 306.00 437.83 298.94 450.00 290.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 293.54 447.41 m 289.58 450.00 L 293.54 452.59 L S @J 328.61 396.00 360.00 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 344.30 396.00 m 352.94 396.00 360.00 408.17 360.00 423.00 c 360.00 437.83 352.94 450.00 344.30 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 347.54 447.41 m 343.58 450.00 L 347.54 452.59 L S @J 382.54 396.00 413.93 450.00 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 398.23 396.00 m 406.87 396.00 413.93 408.17 413.93 423.00 c 413.93 437.83 406.87 450.00 398.23 450.00 C S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 401.47 447.41 m 397.51 450.00 L 401.47 452.59 L S @J 391.54 395.86 398.23 396.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 391.54 396.00 m 398.23 396.00 L S 175.54 449.86 398.23 450.14 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 398.23 450.00 m 175.54 450.00 L S 139.46 385.27 144.43 391.03 @E [0.07199 0.00000 0.00000 0.07199 139 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (p) @t T 188.93 386.93 193.90 390.96 @E [0.07199 0.00000 0.00000 0.07199 188 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (r) @t T 242.93 386.93 247.61 392.76 @E [0.07199 0.00000 0.00000 0.07199 242 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (i) @t T 296.93 386.93 301.97 391.03 @E [0.07199 0.00000 0.00000 0.07199 296 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (n) @t T 350.93 386.86 355.82 392.18 @E [0.07199 0.00000 0.00000 0.07199 350 386] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (t) @t T 98.93 364.39 103.46 370.22 @E [0.07199 0.00000 0.00000 0.07199 98 364] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (0) @t T 98.93 310.46 103.97 314.42 @E [0.07199 0.00000 0.00000 0.07199 98 310] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (x) @t T 125.50 331.78 146.66 338.76 @E [0.07199 0.00000 0.00000 0.07199 125 332] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 134.50 367.78 155.66 374.76 @E [0.07199 0.00000 0.00000 0.07199 134 368] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (1) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 134.28 416.74 166.46 424.73 @E [0.07199 0.00000 0.00000 0.07199 134 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (p) @t T 197.28 417.31 229.46 424.73 @E [0.07199 0.00000 0.00000 0.07199 197 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (r) @t T 251.28 417.31 283.18 424.73 @E [0.07199 0.00000 0.00000 0.07199 251 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (i) @t T 305.28 417.31 337.54 424.73 @E [0.07199 0.00000 0.00000 0.07199 305 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (n) @t T 359.28 417.31 391.39 424.73 @E [0.07199 0.00000 0.00000 0.07199 359 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t 300 0 (\134) @t 360 0 (t) @t T 413.50 417.31 434.66 424.15 @E [0.07199 0.00000 0.00000 0.07199 413 418] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t T 193.03 475.78 214.20 482.62 @E [0.07199 0.00000 0.00000 0.07199 193 476] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (a) @t 120 0 (-) @t 180 0 (z) @t 240 0 (\135) @t T 193.03 367.78 214.20 374.76 @E [0.07199 0.00000 0.00000 0.07199 193 368] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (\135) @t T 192.74 313.78 227.45 320.76 @E [0.07199 0.00000 0.00000 0.07199 193 314] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (0) @t 120 0 (-) @t 180 0 (9) @t 240 0 (a) @t 300 0 (-) @t 360 0 (f) @t 420 0 (\135) @t T 52.70 412.56 107.21 429.41 @E [0.07199 0.00000 0.00000 0.07199 53 422] @tm 0 O 0 @g 0.00 0.00 0.00 1.00 k e /_Courier 125.00 z 0 0 (\133) @t 60 0 (\134) @t 120 0 (0) @t 180 0 (0) @t 240 0 (0) @t 300 0 (-) @t 360 0 (\134) @t 420 0 (3) @t 480 0 (7) @t 540 0 (7) @t 600 0 (\135) @t 660 0 (\134) @t 0 -125 (\133) @t 60 -125 (0) @t 120 -125 (-) @t 180 -125 (9) @t 240 -125 (a) @t 300 -125 (-) @t 360 -125 (z) @t 420 -125 (\135) @t T 54.00 391.54 94.54 401.83 @E 0 J 0 j [] 0 d 0 R 0 @G 0.00 0.00 0.00 1.00 K 0 0.22 0.22 0.00 @w 54.00 396.65 m 55.51 398.16 56.52 401.83 58.54 401.18 c 62.50 399.89 63.29 392.18 67.54 392.18 c 71.71 392.18 72.29 401.18 76.54 401.18 c 80.71 401.18 81.50 393.55 85.54 392.18 c 87.48 391.54 88.27 396.58 90.00 396.65 C 93.17 396.65 L S @j 0.00 0.00 0.00 1.00 K 0.00 0.00 0.00 1.00 k 0 @g 0 @G [] 0 d 0 J 0 j 0 R 0 O 0 1.01 1.01 0 @w 90.00 399.17 m 93.96 396.65 L 90.00 394.13 L S @J @rs @rs end %%EndDocument @endspecial 108 1136 a Fr(Figure)21 b(3:)32 b(A)20 b(DF)-5 b(A)21 b(for)f(the)i(sample)d(sp)q(eci\014cation)j(in)e(Figure)g(2.)39 b(State)21 b(0)f(is)h(the)g(start)g(state.)108 1186 y(Accepting)d (states)g(are)g(lab)q(eled)e(with)h(the)g(n)o(um)o(b)q(er)f(of)g(the)i (rule)f(that)g(they)g(matc)o(h.)26 b(F)m(or)16 b(example,)108 1236 y(state)i(10)d(accepts)j(rule)f(2.)25 b(T)m(ransitions)16 b(di\013ering)g(only)g(b)o(y)g(lab)q(el)f(are)i(represen)o(ted)i(with)d (the)h(same)108 1286 y(arc.)i(F)m(or)12 b(example,)f(state)j(0)e(has)h (transitions)g(to)f(state)i(6)e(on)h(all)e(of)i(the)g(follo)o(wing)d(c) o(haracters:)19 b Fm(a)p Fr(,)13 b Fl(:)7 b(:)g(:)n Fr(,)108 1336 y Fm(o)p Fr(,)14 b Fm(q)p Fr(,)f Fl(:)7 b(:)g(:)12 b Fm(z)p Fr(.)21 1469 y(RE2C)i(is)g(di\013eren)o(t)h(from)e(most)g (other)i(scanner)h(generators)f(in)f(that)h(the)g(user)g(m)o(ust)f(pro) o(vide)g(the)h(input)f(bu\013ering)-42 1519 y(mec)o(hanism)i(for)h(the) i(scanner;)h(the)f(generated)g(co)q(de)g(simply)c(assumes)j(that)g(the) g(user)h(has)f(de\014ned)h(three)g(p)q(oin)o(ters:)-42 1569 y Fm(YYCURSOR)p Fr(,)9 b Fm(YYLIMIT)g Fr(and)h Fm(YYMARKER)p Fr(,)e(and)i(a)h(routine)f Fm(YYFILL\()p Fl(n)p Fm(\))p Fr(.)15 b(Before)d(executing)f(the)g(generated)h(co)q(de,)f Fm(YYCURSOR)-42 1619 y Fr(and)h Fm(YYLIMIT)d Fr(m)o(ust)h(b)q(e)i(set)g (to)g(p)q(oin)o(t)e(to)h(the)h(\014rst)g(and)f(one)h(past)f(the)h(last) f(c)o(haracter)i(in)e(the)g(bu\013er,)i(resp)q(ectiv)o(ely)m(.)18 b(After)-42 1669 y(a)f(tok)o(en)g(is)f(recognized,)i(and)f(b)q(efore)g (an)o(y)f(action)g(is)h(executed,)i Fm(YYCURSOR)c Fr(is)h(set)i(to)e(p) q(oin)o(t)g(to)h(just)g(past)g(the)g(tok)o(en.)-42 1718 y Fm(YYFILL)d Fr(will)g(b)q(e)i(called)f(as)g(the)h(bu\013er)h(needs)f (\014lling;)e(at)h(least)h Fl(n)f Fr(additional)e(input)i(c)o (haracters)i(should)e(b)q(e)h(pro)o(vided.)-42 1768 y(When)g Fm(YYFILL)d Fr(is)i(called,)f Fm(YYCURSOR)f Fr(will)h(p)q(oin)o(t)g(to) h(the)g(next)h(c)o(haracter)g(to)f(b)q(e)g(scanned)h(and)f Fm(YYMARKER)p Fr(,)d(if)i(set,)i(will)-42 1818 y(p)q(oin)o(t)f(to)f(a)g (p)q(ossible)h(bac)o(ktrac)o(king)g(p)q(oin)o(t)f(in)g(the)h(bu\013er.) 21 b Fm(YYFILL)14 b Fr(m)o(ust)f(up)q(date)j Fm(YYLIMIT)p Fr(,)c(and)j(p)q(ossibly)f Fm(YYCURSOR)-42 1868 y Fr(and)f Fm(YYMARKER)f Fr(b)q(efore)h(returning.)18 b(T)o(ypically)12 b Fm(YYCURSOR)p Fr(,)f Fm(YYLIMIT)p Fr(,)g Fm(YYMARKER)p Fr(,)f(and)j Fm(YYFILL\()p Fl(n)p Fm(\))e Fr(will)h(b)q(e)h(de\014ned)h (as)-42 1918 y(macros.)-42 2034 y Fj(2.1)56 b(Things)19 b(That)g(RE2C)f(Do)r(esn't)g(Pro)n(vide)-42 2111 y Fr(RE2C)11 b(do)q(esn't)h(pro)o(vide)f(man)o(y)e(things)j(a)o(v)n(ailable)d(in)h (more)h(con)o(v)o(en)o(tional)f(scanner)j(generators)f(including)e (default)h(rules,)-42 2160 y(end-of-input)17 b(pseudo-tok)o(ens,)i(and) e(bu\013er)i(managemen)o(t)14 b(routines.)29 b(All)17 b(of)f(these)j(m)o(ust)d(b)q(e)i(supplied)g(b)o(y)f(the)h(user.)-42 2210 y(Rather)10 b(than)g(b)q(eing)f(a)g(handicap,)h(this)g(allo)o(ws)e (RE2C-generated)i(scanners)h(to)f(b)q(e)g(tailored)f(to)g(almost)f(an)o (y)h(en)o(vironmen)o(t.)-42 2260 y(F)m(or)k(example,)f(the)i(scanner)h (de\014ned)f(in)f(Figure)h(1)f(compiles)f(in)o(to)h(32)g(b)o(ytes)h(of) e(i486)h(co)q(de)h(\(using)f(W)m(atcom)e(C)j(9.5\);)e(the)-42 2310 y(same)g(size)h(as)f(an)g(equiv)n(alen)o(t)g(hand-co)q(ded)h (routine.)k(Most)c(other)g(scanner)g(generators)h(cannot)e(pro)q(duce)h (scanners)h(that)-42 2360 y(are)k(comp)q(etitiv)o(e)e(with)g(hand-co)q (ded)i(analyzers)f(in)f(this)h(case.)28 b(F)m(urther,)18 b(it)f(is)g(not)f(o)o(v)o(erly)h(di\016cult)f(to)h(implem)o(en)o(t)e(a) -42 2409 y(more)c(traditional)f(scanner)j(using)f(RE2C.)e(F)m(or)h (example,)g(App)q(endix)h(A)f(con)o(tains)h(the)g(supp)q(ort)h(co)q(de) f(for)f(the)i(C)e(scanner)-42 2459 y(b)q(enc)o(hmark)o(ed)j(in)f(T)m (able)g(1.)k(Note)d(that)g(this)f(co)q(de)h(allo)o(ws)f(for)g (arbitrarily)f(long)h(con)o(tiguous)g(tok)o(ens)h(and)f(pro)o(vides)h (line)-42 2509 y(and)g(column)e(n)o(um)o(b)q(er)i(information.)923 2748 y(3)p eop %%Page: 4 4 4 3 bop -42 195 a Fs(3)67 b(Generating)23 b(Directly)h(Executable)g (Scanners)-42 286 y Fr(As)14 b(demonstrated)g(b)o(y)f(GLA)g([7)o(])g (generating)h(directly)g(executable)g(co)q(de)g(instead)g(of)f(tables)h (can)f(result)i(in)e(m)o(uc)o(h)f(faster)-42 336 y(scanners.)20 b(Ho)o(w)o(ev)o(er,)13 b(to)g(ac)o(hiev)o(e)h(this)f(sp)q(eed,)h (GLA-generated)h(scanners)f(mak)o(e)e(some)g(assumptions)h(ab)q(out)g (the)h(input)-42 386 y(and)i(place)g(certain)g(restrictions)g(on)g(tok) o(ens)680 371 y Fq(4)699 386 y Fr(.)23 b(In)15 b(this)h(section)g(w)o (e)g(will)e(sho)o(w)h(ho)o(w)g(to)h(generate)g(directly)g(executable) -42 435 y(scanners)22 b(whic)o(h)d(not)g(only)g(a)o(v)o(oid)f(suc)o(h)i (restrictions,)h(but)f(are)g(also)e(faster)i(and)f(usually)g(smaller.) 33 b(The)19 b(approac)o(h)-42 485 y(presen)o(ted)f(here)f(has)f(the)g (added)g(b)q(ene\014t)h(that)f(ev)o(en)g(faster)h(scanners)g(can)f(b)q (e)g(easily)f(b)q(e)i(created,)g(at)e(the)i(exp)q(ense)g(of)-42 535 y(increased)f(co)q(de)e(size,)h(b)o(y)e(using)h(a)f(tec)o(hnique)i (akin)e(to)h(lo)q(op)f(unrolling.)-42 651 y Fj(3.1)56 b(Constructing)19 b(a)g(DF)-6 b(A)-42 728 y Fr(The)15 b(\014rst)g(step)g(in)f(generating)h(a)f(directly)g(executable)h (scanner)h(is)e(to)g(construct)i(a)e(DF)-5 b(A)15 b(that)f(recognizes)i (the)e(regular)-42 778 y(expressions)g(in)e(the)h(sp)q(eci\014cation.) 18 b(Figure)12 b(3)g(presen)o(ts)i(a)e(DF)-5 b(A)13 b(that)f (recognizes)h(the)g(regular)f(expressions)i(in)e(Figure)g(2.)-42 828 y(One)18 b(p)q(ossible)f(algorithm)e(for)h(constructing)i(suc)o(h)g (a)e(DF)-5 b(A)18 b(can)f(b)q(e)g(found)g(in)f([1].)26 b(Giv)o(en)16 b(suc)o(h)i(a)f(DF)-5 b(A,)16 b(the)i(task)f(of)p -42 864 780 2 v 5 891 a Fn(4)22 903 y Fo(These)11 b(assumptions)e(and)h (restrictions)f(are)i(discussed)e(in)j(more)e(detail)g(in)h(Sections)e (3.3.1)i(and)f(5.1.)923 2748 y Fr(4)p eop %%Page: 5 5 5 4 bop -42 195 a Fr(scanning)14 b(the)h(input)f(can)g(b)q(e)g (expressed)i(as)e(follo)o(ws:)125 278 y(Starting)i(from)g(the)i(start)g (state,)g(mo)o(v)o(e)e(from)f(state)j(to)f(state)h(along)e(transitions) i(lab)q(eled)f(with)g(con-)62 328 y(secutiv)o(e)f(c)o(haracters)h(from) c(the)i(input.)21 b(When)15 b(no)f(further)i(transitions)f(can)g(b)q(e) g(made,)e(bac)o(ktrac)o(k)i(to)g(the)62 378 y(last)h(accepting)g (state,)h(sa)o(y)f Fl(q)q Fr(.)24 b(The)16 b(path)g(to)f Fl(q)i Fr(sp)q(ells)g(the)f(next)g(tok)o(en)g(and)g(the)g(rule)h(asso)q (ciated)f(with)g Fl(q)62 428 y Fr(determines)e(the)h(co)q(de)g(to)e(b)q (e)i(executed.)-42 511 y(As)d(a)e(result,)h(the)h(problem)d(of)h (generating)h(scanners)h(essen)o(tially)f(reduces)h(to)f(the)g(problem) e(of)h(generating)h(an)f(executable)-42 560 y(represen)o(tation)16 b(for)d(a)h(DF)-5 b(A.)-42 677 y Fj(3.2)56 b(Generating)18 b(Co)r(de)-42 753 y Fr(If)g(w)o(e)g(assume)g(that)g(the)h(input)f(is)g (en)o(tirely)g(con)o(tained)g(in)g(a)f(single)h(bu\013er)h(then)g (generating)f(co)q(de)h(for)f(the)g(DF)-5 b(A)19 b(is)-42 803 y(relativ)o(ely)13 b(straigh)o(tforw)o(ard,)f(as)h(is)g (illustrated)g(b)o(y)f(the)i(co)q(de)g(templates)e(in)h(Figure)g(4.)35 b(Note)14 b(that)f(the)g(only)g(di\013erence)p 575 863 717 2 v 575 912 2 50 v 856 897 a Fi(Pr)n(olo)n(gue)p 1290 912 V 575 914 717 2 v 575 964 2 50 v 720 949 a Fm(int)21 b(yyaccept;)p 1290 964 V 575 1014 V 720 999 a(goto)g(M)p Fi(start)p Fm(;)p 1290 1014 V 575 1063 V 720 1049 a(fin:)g(YYCURSOR)f (=)i(YYMARKER;)p 1290 1063 V 575 1113 V 720 1098 a(switch\(yyaccept\))p Fk(f)p 1290 1113 V 575 1163 V 807 1148 a Fl(:)7 b(:)g(:)p 1290 1163 V 575 1213 V 602 1198 a Fm(A)p Fl(n)p Fm(:)93 b(case)21 b Fl(n)p Fm(:)43 b Fi(action)p Fr(\()p Fl(n)p Fr(\))p Fm(;)p 1290 1213 V 575 1263 V 807 1248 a Fl(:)7 b(:)g(:)p 1290 1263 V 575 1313 V 720 1298 a Fk(g)p 1290 1313 V 575 1362 V 720 1347 a Fi(c)n(o)n(de)15 b(for)g(states)p 1290 1362 V 575 1364 717 2 v 204 1370 720 2 v 204 1420 2 50 v 346 1405 a(Co)n(de)g(for)f(ac)n(c)n(epting)h(state)p 921 1420 V 204 1421 720 2 v 204 1471 2 50 v 230 1456 a Fm(L)p Fl(q)q Fm(:)50 b(++YYCURSOR;)p 921 1471 V 204 1521 V 344 1506 a(yyaccept)20 b(=)h Fi(rule)p Fr(\()p Fl(q)q Fr(\))p Fm(;)p 921 1521 V 204 1571 V 344 1556 a(YYMARKER)f(=)h(YYCURSOR;)p 921 1571 V 204 1621 V 230 1606 a(M)p Fl(q)q Fm(:)50 b(switch\(*YYCURSO)o(R\))p Fk(f)p 921 1621 V 204 1670 V 431 1655 a Fl(:)7 b(:)g(:)p 921 1670 V 204 1720 V 387 1705 a Fm(case)21 b Fl(c)p Fm(:)43 b(goto)21 b(L)p Fi(goto)q Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))p Fm(;)p 921 1720 V 204 1770 V 431 1755 a Fl(:)g(:)g(:)p 921 1770 V 204 1820 V 387 1805 a Fm(default:)42 b(goto)21 b(fin;)p 921 1820 V 204 1870 V 344 1855 a Fk(g)p 921 1870 V 204 1871 720 2 v 944 1370 V 944 1420 2 50 v 1045 1405 a Fi(Co)n(de)15 b(for)g(non-ac)n(c)n(epting)h(state)p 1662 1420 V 944 1421 720 2 v 944 1471 2 50 v 971 1456 a Fm(L)p Fl(q)q Fm(:)49 b(++YYCURSOR;)p 1662 1471 V 944 1521 V 1662 1521 V 944 1571 V 1662 1571 V 944 1621 V 971 1606 a(M)p Fl(q)q Fm(:)g(switch\(*YYCURSOR\))p Fk(f)p 1662 1621 V 944 1670 V 1172 1655 a Fl(:)7 b(:)g(:)p 1662 1670 V 944 1720 V 1128 1705 a Fm(case)21 b Fl(c)p Fm(:)43 b(goto)21 b(L)p Fi(goto)p Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))p Fm(;)p 1662 1720 V 944 1770 V 1172 1755 a Fl(:)g(:)g(:)p 1662 1770 V 944 1820 V 1128 1805 a Fm(default:)42 b(goto)21 b(fin;)p 1662 1820 V 944 1870 V 1084 1855 a Fk(g)p 1662 1870 V 944 1871 720 2 v 108 1946 a Fr(Figure)g(4:)30 b(Directly)20 b(executable)h(scanner.)38 b(The)20 b(co)q(de)h (generated)g(for)f(a)g(scanner)h(consists)g(of)f(a)108 1996 y(prologue)12 b(follo)o(w)o(ed)f(b)o(y)h(co)q(de)i(for)e(eac)o(h)h (state.)18 b Fi(start)11 b Fr(is)i(the)g(start)g(state.)18 b Fi(action)p Fr(\()p Fl(n)p Fr(\))13 b(denotes)h(the)f(co)q(de)108 2045 y(asso)q(ciated)h(with)e(rule)h Fl(n)p Fr(,)f Fi(goto)p Fr(\()p Fl(q)q(;)7 b(c)p Fr(\))12 b(denotes)i(the)f(state)g(reac)o(hed) h(from)d(state)i Fl(q)h Fr(along)d(the)i(transition)108 2095 y(lab)q(eled)18 b(with)e Fl(c)h Fr(and)g Fi(rule)p Fr(\()p Fl(q)q Fr(\))g(denotes)i(the)e(rule)h(asso)q(ciated)g(with)e (state)i Fl(q)q Fr(.)28 b Fm(yyaccept)16 b Fr(is)h(used)h(to)108 2145 y(sa)o(v)o(e)d(bac)o(ktrac)o(king)e(information.)i(The)g Fm(M)p Fr(-lab)q(els)e(will)f(b)q(e)j(used)g(in)e(section)i(3.4.2.)-42 2245 y(b)q(et)o(w)o(een)j(the)f(templates)f(for)g(accepting)g(and)h (non-accepting)f(states)i(is)e(that)g(the)h(accepting)g(states)g(ha)o (v)o(e)f(additional)-42 2294 y(co)q(de)e(to)f(sa)o(v)o(e)g(bac)o(ktrac) o(king)f(information.)j(Figure)e(5)g(sho)o(ws)g(co)q(de)h(that)f(migh)o (t)d(b)q(e)k(generated)g(for)f(state)g(1)g(in)f(Figure)h(3.)-42 2460 y Fj(3.3)56 b(Bu\013ering)-42 2537 y Fr(Complications)13 b(arise)i(when)g(the)g(input)g(is)g(not)f(con)o(tained)h(in)g(a)f (single)g(bu\013er:)21 b(additional)13 b(co)q(de)j(is)e(needed)j(for)d (\014lling)-42 2587 y(the)h(bu\013er)g(as)f(necessary)m(.)923 2748 y(5)p eop %%Page: 6 6 6 5 bop 647 188 a Fm(L1:)49 b(++YYCURSOR;)762 238 y(yyaccept)20 b(=)i(4;)762 288 y(YYMARKER)e(=)i(YYCURSOR;)647 338 y(M1:)49 b(switch\(*YYCURSOR\))p Fk(f)806 388 y Fm(case)21 b('a':)43 b(goto)21 b(L6;)849 438 y Fl(:)7 b(:)g(:)806 487 y Fm(case)21 b('q':)43 b(goto)21 b(L6;)806 537 y(case)g('r':)43 b(goto)21 b(L2;)806 587 y(case)g('s':)43 b(goto)21 b(L6;)849 637 y Fl(:)7 b(:)g(:)806 687 y Fm(case)21 b('z':)43 b(goto)21 b(L6;)806 736 y(default:)42 b(goto)21 b(fin;)762 786 y Fk(g)690 876 y Fr(Figure)14 b(5:)k(Co)q(de)c(for)g(state)g(1.)505 968 y Fm(L6:)50 b(++YYCURSOR;)621 1018 y(if\(YYLIMIT)19 b(==)j(YYCURSOR\))e(YYFILL\(1\);)621 1068 y(yyaccept)g(=)h(4;)621 1118 y(YYMARKER)f(=)h(YYCURSOR;)505 1168 y(M6:)50 b(switch\(*YYCURSO)o (R\))p Fk(f)708 1217 y Fl(:)7 b(:)g(:)621 1267 y Fk(g)690 1357 y Fr(Figure)14 b(6:)k(Co)q(de)c(for)g(state)g(6.)-42 1489 y Fh(3.3.1)48 b(The)16 b(Sen)o(tinel)c(Metho)q(d)-42 1566 y Fr(Most)20 b(scanner)g(generators)g(use)g(the)g(sen)o(tinel)f (metho)q(d)g([1)o(])f(to)h(determine)g(when)h(the)f(bu\013er)i(needs)f (\014lling.)32 b(In)19 b(the)-42 1616 y(simplest)d(case,)h(a)f(sym)o(b) q(ol)f(that)h(do)q(es)i(not)e(app)q(ear)h(in)f(v)n(alid)f(input)h(is)g (c)o(hosen)h(as)g(the)g(sen)o(tinel)g(c)o(haracter.)26 b(An)17 b(extra)-42 1666 y(state)12 b(is)f(added)g(to)g(the)h(DF)-5 b(A)11 b(and)g(transitions)f(to)h(this)g(state)h(on)f(the)g(sen)o (tinel)h(sym)o(b)q(ol)d(are)i(added)g(to)g(the)h(original)d(states.)-42 1715 y(When)16 b(the)g(DF)-5 b(A)16 b(arriv)o(es)f(in)g(this)h(new)f (state)i(it)e(is)g(time)f(to)h(re\014ll)g(the)h(bu\013er.)23 b(After)16 b(the)g(bu\013er)h(is)e(re\014lled,)g(scanning)-42 1765 y(m)o(ust)h(b)q(e)g(restarted)i(in)e(the)h(previous)f(state.)26 b(Unfortunately)m(,)16 b(this)g(is)g(not)g(p)q(ossible)g(with)g(the)h (approac)o(h)f(outlined)g(in)-42 1815 y(Figure)j(4:)26 b(the)19 b(necessary)h(information)15 b(is)j(simply)e(not)i(a)o(v)n (ailable.)28 b(Co)q(de)19 b(could)f(b)q(e)g(added)h(to)f(eac)o(h)g (state)h(to)f(sa)o(v)o(e)-42 1865 y(the)e(necessary)g(information)c (but)j(this)g(w)o(ould)e(result)j(in)e(slo)o(w)o(er)h(and)f(larger)h (scanners.)22 b(GLA)14 b(solv)o(es)h(this)f(problem)g(b)o(y)-42 1915 y(ensuring)i(that)g(the)f(sen)o(tinel)h(only)f(gets)g(inserted)i (b)q(et)o(w)o(een)g(tok)o(ens:)k(if)14 b(this)i(is)f(the)h(case,)g(the) g(scanner)g(can)g(alw)o(a)o(ys)e(b)q(e)-42 1964 y(restarted)k(from)c (the)j(start)f(state.)25 b(T)m(o)15 b(ensure)i(that)f(the)h(sen)o (tinel)f(only)f(gets)i(inserted)g(b)q(et)o(w)o(een)g(tok)o(ens,)f(GLA)g (allo)o(ws)-42 2014 y(newline)g(\(ASCI)q(I)g(LF\))g(c)o(haracters)h(to) f(app)q(ear)g(only)f(at)g(the)h(end)g(of)f(a)h(tok)o(en)g(and)f (disallo)o(ws)f(the)i(bu\013ering)g(of)f(partial)-42 2064 y(lines)39 2049 y Fq(5)58 2064 y Fr(.)-42 2172 y Fh(3.3.2)48 b(Bu\013ering)-42 2249 y Fr(RE2C-generated)17 b(scanners)h(c)o(hec)o(k)f(if)e(the)i(bu\013er)g(needs)g(\014lling)e (simply)f(b)o(y)i(comparing)e Fm(YYCURSOR)g Fr(and)i Fm(YYLIMIT)p Fr(.)e(A)-42 2298 y(metho)q(d)d(inspired)g(b)o(y)g(the)h (mec)o(hanism)d(used)j(to)f(guard)g(against)g(stac)o(k)g(o)o(v)o (er\015o)o(w)g(in)g([17)o(])1365 2283 y Fq(6)1394 2298 y Fr(is)g(used)i(to)e(reduce)h(the)g(amoun)o(t)-42 2348 y(of)i(c)o(hec)o(king.)21 2398 y(Chec)o(ks)j(are)g(only)f(inserted)h (in)f(certain)h(k)o(ey)f(states.)27 b(These)18 b(c)o(hec)o(ks)g(simply) c(ensure)k(that)e(there)i(is)e(enough)h(input)-42 2448 y(in)g(the)g(bu\013er)h(for)f(the)h(scan)f(to)g(pro)q(ceed)h(un)o(til)e (the)i(next)f(k)o(ey)g(state.)28 b(F)m(or)17 b(example,)f(in)g(the)i (DF)-5 b(A)17 b(of)f(Figure)h(3)g(it)g(is)-42 2498 y(su\016cien)o(t)e (to)e(c)o(hec)o(k)i(that)f(there)h(are)g(at)e(least)h(6)g(c)o (haracters)h(in)f(the)g(bu\013er)h(when)f(it)g(starts,)g(and)g(that)g (there)h(is)f(at)f(least)-42 2547 y(one)i(c)o(haracter)g(in)e(the)i (bu\013er)g(when)f(the)h(DF)-5 b(A)14 b(is)g(in)f(states)j(6,)d(8,)g (or)h(10.)k(No)13 b(other)i(c)o(hec)o(ks)g(are)g(required.)k(The)14 b(c)o(hec)o(ks)-42 2597 y(inserted)i(in)d(k)o(ey)h(states)h(are)f(of)g (the)g(form)923 2748 y(6)p eop %%Page: 7 7 7 6 bop 62 195 a Fm(if\(\(YYLIMIT)20 b(-)h(YYCURSOR\))f(<)i Fl(n)p Fm(\))f(YYFILL\()p Fl(n)p Fm(\);)-42 278 y Fr(where)c Fl(n)f Fr(is)f(the)i(maxim)n(um)11 b(n)o(um)o(b)q(er)k(of)g(c)o (haracters)i(that)f(can)g(b)q(e)g(consumed)g(b)q(efore)g(another)g(k)o (ey)g(state)g(is)g(reac)o(hed.)-42 328 y(F)m(or)e(example,)e(Figure)i (6)g(sho)o(ws)g(the)g(co)q(de)h(generated)g(for)f(state)h(6)e(in)h (Figure)g(3.)21 378 y(A)h(set)g(of)f(k)o(ey)h(states)h(can)f(b)q(e)g (determined)g(b)o(y)f(disco)o(v)o(ering)h(the)g(strongly-connected)h (comp)q(onen)o(ts)e(\(SCCs\))i(of)e(the)-42 428 y(DF)-5 b(A.)12 b(An)h(SCC)f(is)f(a)h(maxima)o(l)d(subset)k(of)f(states)h(suc)o (h)g(that)f(there)h(exists)g(a)f(path)g(from)e(an)o(y)i(state)g(in)g (the)h(subset)g(to)f(an)o(y)-42 477 y(other.)24 b(The)16 b(set)g(of)f(k)o(ey)h(states)g(consists)h(of)e(all)f(of)h(the)h(states) h(in)e(non-trivial)f(SCCs,)h(together)i(with)e(the)h(start)g(state.)-42 527 y(Note)d(that)f(for)g(eac)o(h)g(SCC)g Fl(S)r Fr(,)h(w)o(e)f (actually)g(only)f(ha)o(v)o(e)h(to)g(include)g(a)f(subset)j(of)d (states)j(of)d Fl(S)k Fr(suc)o(h)e(that)f(when)g(the)h(subset)-42 577 y(is)f(remo)o(v)o(ed,)f Fl(S)k Fr(b)q(ecomes)d(acyclic.)17 b(Indeed,)c([17)o(])e(describ)q(es)j(a)e(simple)e(heuristic)j(for)e(c)o (ho)q(osing)h(suc)o(h)g(a)g(subset.)18 b(Ho)o(w)o(ev)o(er,)-42 627 y(since)c(in)f(practice)h(most)d(of)i(the)g(\(non-trivial\))f(SCCs) h(encoun)o(tered)i(will)c(consist)j(of)e(a)h(single)g(state)g(the)h (curren)o(t)g(v)o(ersion)-42 677 y(of)f(RE2C)g(simply)e(includes)j(all) d(states)k(in)e(non-trivial)e(SCCs)943 662 y Fq(7)962 677 y Fr(.)18 b(An)13 b(algorithm)e(giv)o(en)h(in)h([3)o(])g(w)o(as)g (used)h(to)f(compute)g(the)-42 726 y(SCCs.)-42 843 y Fj(3.4)56 b(Optimizations)-42 919 y Fr(Ev)o(en)17 b(go)q(o)q(d)f (optimizing)e(C)i(compilers)f(can)i(b)q(e)g(coaxed)f(in)o(to)g (generating)g(m)o(uc)o(h)f(smaller)g(and)h(sligh)o(tly)f(faster)i(co)q (de)g(if)-42 969 y(some)c(transformations)g(are)h(\014rst)h(applied)e (to)h(the)g(generated)i(co)q(de.)-42 1077 y Fh(3.4.1)48 b(Eliminatin)o(g)13 b(Bac)o(ktrac)o(king)-42 1154 y Fr(Consider)19 b(state)g(1)f(in)g(the)h(DF)-5 b(A)18 b(in)g(Figure)g(3.)31 b(Note)19 b(that)f(since)h(all)e(of)h(the)h(transitions)f(from)e(state) j(1)f(reac)o(h)h(only)-42 1203 y(accepting)f(states,)h(bac)o(ktrac)o (king)f(information)c(do)q(es)k(not)f(need)i(to)e(b)q(e)h(sa)o(v)o(ed)g (if)e(the)i(co)q(de)g(for)f(the)h Fm(default)e Fr(case)j(is)-42 1253 y(c)o(hanged)h(to)e(go)g(directly)h(to)g(the)g(co)q(de)h(asso)q (ciated)f(with)f(state)i(1.)32 b(The)19 b(result)h(of)e(this)h (optimization)d(is)i(sho)o(wn)h(in)-42 1303 y(Figure)d(7.)48 b(More)17 b(generally)m(,)e(this)h(optimization)d(can)j(b)q(e)g (applied)f(to)h(all)f(accepting)h(states)h(whic)o(h)f(ha)o(v)o(e)g (transitions)647 1396 y Fm(L1:)49 b(++YYCURSOR;)647 1446 y(M1:)g(switch\(*YYCURSOR\))p Fk(f)806 1495 y Fm(case)21 b('a':)43 b(goto)21 b(L6;)849 1545 y Fl(:)7 b(:)g(:)806 1595 y Fm(case)21 b('q':)43 b(goto)21 b(L6;)806 1645 y(case)g('r':)43 b(goto)21 b(L2;)806 1695 y(case)g('s':)43 b(goto)21 b(L6;)849 1744 y Fl(:)7 b(:)g(:)806 1794 y Fm(case)21 b('z':)43 b(goto)21 b(L6;)806 1844 y(default:)42 b(goto)21 b(A4;)762 1894 y Fk(g)419 1983 y Fr(Figure)14 b(7:)k(Co)q(de)c(for)g(state)g(1)g(with)g(bac)o(ktrac)o(king)f (eliminated.)-42 2083 y(only)h(to)f(accepting)i(states.)-42 2191 y Fh(3.4.2)48 b(Optimizing)12 b Fm(switch)p Fh(es)-42 2268 y Fr(Most)21 b(C)g(compilers)f(will)f(generate)j(either)f(a)g (jump)e(table)h(or)h(a)g(set)g(of)f Fm(if)g Fr(statemen)o(ts)h(for)g(a) f Fm(switch)g Fr(statemen)o(t)-42 2317 y(dep)q(ending)e(on)e(the)i (distribution)e(of)g(the)i Fm(case)e Fr(lab)q(els.)26 b(In)17 b(man)o(y)e(compilers)h(the)h(decision)g(as)g(to)g(whic)o(h)g (metho)q(d)f(to)-42 2367 y(use)j(is)f(biased)f(to)o(w)o(ards)h (generating)g(jump)e(tables)i(since)g(in)g(most)e(cases)j(this)f (results)h(in)e(faster)h(alb)q(eit)f(larger)h(co)q(de.)-42 2417 y(Ho)o(w)o(ev)o(er,)c(exp)q(erience)h(with)e(directly)h (executable)h(scanners)g(has)e(sho)o(wn,)g(that)g(replacing)h(man)o(y)d (of)i(these)h(jump)e(tables)p -42 2452 780 2 v 5 2478 a Fn(5)22 2490 y Fo(If)f(the)g(input)f(con)o(tains)g(no)h(newlines,)f (a)h(GLA)h(scanner)e(will)h(attempt)f(to)h(bu\013er)f(the)g(en)o(tire)g (input)h(stream.)5 2518 y Fn(6)22 2530 y Fo(The)h(problem)d(of)i (detecting)e(stac)o(k)h(o)o(v)o(er\015o)o(w)g(in)i(LR)f(parsers)f(is)i (probably)d(b)q(est)i(left)f(to)h(hardw)o(are)f(mec)o(hanisms)f([12)o (].)5 2558 y Fn(7)22 2569 y Fo(It)i(should)f(b)q(e)h(noted)f(that)g (\014nding)f(the)i(minimal)e(set)i(of)g(states)f(to)h(remo)o(v)o(e)f (from)g(an)h(SCC)h(in)f(order)f(to)h(render)f(it)h(acyclic)e(is)j (equiv)n(alen)o(t)-42 2609 y(to)g(the)e(FEEDBA)o(CK)j(VER)m(TEX)h(SET)d (problem)f(whic)o(h)h(is)g(NP-complete)e([6].)923 2748 y Fr(7)p eop %%Page: 8 8 8 7 bop -42 195 a Fr(with)12 b Fm(if)g Fr(statemen)o(ts)g(results)h(in) f(scanners)i(whic)o(h)d(are)i(m)o(uc)o(h)e(smaller,)f(and)i (surprisingly)m(,)f(in)h(some)f(cases)i(sligh)o(tly)e(faster)-42 245 y(as)h(w)o(ell)78 230 y Fq(8)96 245 y Fr(.)17 b(As)c(a)e(result,)h (the)h(capabilit)o(y)d(of)h(replacing)g(a)h Fm(switch)e Fr(statemen)o(t)i(with)f Fm(if)g Fr(statemen)o(ts)h(w)o(as)g(added)g (to)f(RE2C.)21 295 y(RE2C)j(bases)j(its)e(decision)g(on)g(whether)i(to) e(generate)i(a)d Fm(switch)g Fr(statemen)o(t)i(or)f(to)g(replace)h(it)f (with)g Fm(if)p Fr(s)g(solely)g(on)-42 345 y(the)j(densit)o(y)162 329 y Fq(9)198 345 y Fr(of)f(the)g Fm(switch)f Fr(statemen)o(t.)27 b(It)18 b(is)e(surprising)i(that)f(suc)o(h)h(a)e(simple)g(heuristic)i (w)o(orks)f(w)o(ell.)27 b(F)m(or)16 b(more)-42 394 y(esoteric)h (applications)e(in)g(whic)o(h)h(the)g(input)f(alphab)q(et)h(is)f(not)h (a)f(simple)f(in)o(terv)n(al)h(RE2C)g(has)g(the)i(adv)n(an)o(tage)d(in) h(that)-42 444 y(there)f(is)e(no)g(pro)o(vision)f(for)h(don't)f(care)i (en)o(tries)g(in)f(a)g Fm(switch)f Fr(statemen)o(t:)17 b(if)11 b(no)h Fm(case)f Fr(matc)o(hes)h(none)g(of)f(the)i(statemen)o (ts)-42 494 y(in)i(the)g Fm(switch)e Fr(m)o(ust)g(b)q(e)i(executed.)22 b(Ho)o(w)o(ev)o(er,)15 b(for)f(the)h(examples)f(in)g(T)m(able)f(1)h (this)h(is)f(not)h(so:)k(RE2C)14 b(simply)f(do)q(es)i(a)-42 544 y(b)q(etter)j(job)d(of)g(generating)g(co)q(de)i(for)e Fm(switch)f Fr(statemen)o(ts)i(than)g(the)g(compiler.)21 b([18)o(],)15 b([11)o(],)g(and)h([2)o(])f(also)g(address)i(the)-42 594 y(problem)c(of)g(generating)h(go)q(o)q(d)g(co)q(de)h(for)e Fm(switch)g Fr(statemen)o(ts.)-42 702 y Fh(Replacing)18 b Fm(switch)p Fh(es)g(with)g Fm(if)p Fh(s)41 b Fr(When)17 b(replacing)g(a)f Fm(switch)g Fr(statemen)o(t)h(with)g Fm(if)f Fr(statemen)o(ts,)i(it)f(is)f(useful)i(to)-42 751 y(sort)g(the)f Fm(case)p Fr(s)f(b)o(y)h(lab)q(el)f(and)g(then)h (group)g(them)f(according)h(to)f(rule)h(in)o(to)f(subranges,)i(as)f (illustrated)f(in)g(Figure)h(8.)-42 801 y(RE2C)c(replaces)h(a)f Fm(switch)f Fr(with)g(either)i(a)f(linear)f(or)h(binary)g(searc)o(h,)h (dep)q(ending)f(on)g(the)h(n)o(um)o(b)q(er)e(of)g(subranges)i(in)f(the) 467 894 y Fm(switch\(*YYCURSOR\))p Fk(f)511 944 y Fm(case)21 b('\\)o(000':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('/':)115 b(goto)21 b(L11;)576 994 y(case)g('0':)431 b(goto)21 b(L7;)576 1043 y(case)g('1':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('9':)115 b(goto)21 b(L8;)576 1093 y(case)g(':':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('`':)115 b(goto)21 b(L11;)576 1143 y(case)g('a':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('o':)115 b(goto)21 b(L6;)576 1193 y(case)g('p':)431 b(goto)21 b(L1;)576 1243 y(case)g('r':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('z':)115 b(goto)21 b(L6;)577 1292 y(case)g(')p Fk(f)p Fm(':)49 b Fl(:)7 b(:)g(:)20 b Fm(case)h('\\377':)49 b(goto)21 b(L11;)467 1342 y Fk(g)672 1432 y Fr(Figure)14 b(8:)j Fm(switch)c Fr(for)g(state)i(0.)-42 1531 y Fm(switch)p Fr(.)i(If)d(there)h(are)f(only)f(a)h(few)g(subranges)h(a)e(linear)h (searc)o(h)h(is)f(generated;)g(otherwise,)h(a)e(binary)h(searc)o(h)h (is)f(used.)21 1581 y(Figure)f(9)f(and)g(Figure)h(10)f(sho)o(w)h (linear)f(and)h(binary)f(searc)o(hes,)i(resp)q(ectiv)o(ely)m(,)g(that)f (could)f(b)q(e)h(used)h(to)e(replace)52 b(the)607 1674 y Fm(if\(*YYCURSOR)19 b(<=)i('/'\))g(goto)g(L11;)607 1724 y(if\(*YYCURSOR)e(<=)i('0'\))g(goto)g(L7;)607 1773 y(if\(*YYCURSOR)e(<=)i('9'\))g(goto)g(L8;)607 1823 y(if\(*YYCURSOR)e (<=)i('`'\))g(goto)g(L11;)607 1873 y(if\(*YYCURSOR)e(==)i('p'\))g(goto) g(L1;)607 1923 y(if\(*YYCURSOR)e(<=)i('z'\))g(goto)g(L6;)607 1973 y(goto)g(L11;)477 2062 y Fr(Figure)14 b(9:)k(Linear)c(lo)q(okup)f (co)q(de)h(sequence)i(for)e(state)h(0.)p -42 2147 780 2 v 5 2173 a Fn(8)22 2185 y Fo(See)c(T)m(able)g(1)g(for)g(examples.)5 2213 y Fn(9)22 2225 y Fo(The)h(n)o(um)o(b)q(er)d(of)i(distinct)f (subranges)f(divided)g(b)o(y)i(the)g(total)f(n)o(um)o(b)q(er)g(of)h Fg(case)p Fo(s.)923 2748 y Fr(8)p eop %%Page: 9 9 9 8 bop 563 188 a Fm(if\(*YYCURSOR)19 b(<=)j('`'\))p Fk(f)650 238 y Fm(if\(*YYCURSOR)d(<=)j('/'\))f(goto)g(L11;)650 288 y(if\(*YYCURSOR)e(<=)j('0'\))f(goto)g(L7;)650 338 y(if\(*YYCURSOR)e(<=)j('9'\))f(goto)g(L8;)650 388 y(goto)g(L11;)563 438 y Fk(g)h Fm(else)f Fk(f)650 487 y Fm(if\(*YYCURSOR)e(==)j('p'\))f (goto)g(L1;)650 537 y(if\(*YYCURSOR)e(<=)j('z'\))f(goto)g(L6;)650 587 y(goto)g(L11;)563 637 y Fk(g)463 726 y Fr(Figure)14 b(10:)k(Binary)13 b(lo)q(okup)h(co)q(de)g(sequence)i(for)e(state)g(0.) -42 826 y Fm(switch)e Fr(in)g(Figure)h(8.)k(Note)d(in)e(particular)g (the)i(comparison)d(for)i(the)g(\\)p Fm(p)p Fr(")f(in)g(Figure)h(9.)k (This)c(optimization)d(eliminates)-42 876 y(a)k(comparison)f(eac)o(h)i (time)d(it)i(is)g(applied.)k(Also)c(note)h(that)f(no)g(comparisons)f (are)i(required)g(at)f(the)g(top)g(and)g(b)q(ottom)f(of)-42 925 y(the)i(range.)-42 1033 y Fh(Simplifyi)o(ng)j Fm(switch)p Fh(es)40 b Fr(As)19 b(a)f(general)g(rule,)i(b)q(etter)g(replacemen)o(t) e(co)q(de)h(can)g(b)q(e)g(generated)h(for)e(a)g Fm(switch)f Fr(if)h(it)-42 1083 y(con)o(tains)g(few)o(er)g(subranges.)31 b(One)18 b(w)o(a)o(y)f(of)g(reducing)h(the)g(n)o(um)o(b)q(er)f(of)g (subranges)i(in)e(a)g Fm(switch)p Fr(,)g(at)g(the)i(exp)q(ense)g(of)-42 1133 y(some)c(sp)q(eed,)j(is)d(to)h(lo)q(cate)g(a)f Fi(b)n(ase)h Fm(switch)f Fr(whic)o(h)g(is)h(v)o(ery)g(similar)d(and)j(then)g (replace)h(the)f(co)q(de)h(for)e(all)f(cases)k(whic)o(h)-42 1183 y(app)q(ear)d(iden)o(tically)d(in)i(the)g(base)h Fm(switch)d Fr(with)i(a)f Fm(goto)g Fr(to)h(\(the)h(co)q(de)f (generated)i(for\))d(the)i(base)f Fm(switch)p Fr(.)j(RE2C)c(uses)-42 1233 y(this)18 b(optimization)d(to)i(go)q(o)q(d)g(adv)n(an)o(tage)g (when)h(generating)g(co)q(de)g(in)f(the)h(transitions)g(of)f(states)i (used)f(for)f(matc)o(hing)-42 1282 y(k)o(eyw)o(ords.)i(F)m(or)12 b(example,)f(note)j(that)f(the)g Fm(switch)p Fr(es)f(for)h(states)h(1)f (through)g(4)f(di\013er)h(from)f(the)h Fm(switch)f Fr(of)g(state)i(6)e (only)-42 1332 y(on)i(\\)p Fm(r)p Fr(",)f(\\)p Fm(i)p Fr(",)g(\\)p Fm(n)p Fr(",)f(and)i(\\)p Fm(t)p Fr(",)f(resp)q(ectiv)o (ely)m(.)19 b(Figure)14 b(11)f(sho)o(ws)h(the)h(co)q(de)g(generated)g (for)e(these)j(states.)37 b(Another)15 b(w)o(a)o(y)560 1425 y Fm(L1:)49 b(++YYCURSOR;)560 1475 y(M1:)g(if\(*YYCURSOR)19 b(!=)j('r'\))f(goto)g(M6;)560 1525 y(L2:)49 b(++YYCURSOR;)560 1574 y(M2:)g(if\(*YYCURSOR)19 b(!=)j('i'\))f(goto)g(M6;)560 1624 y(L3:)49 b(++YYCURSOR;)560 1674 y(M3:)g(if\(*YYCURSOR)19 b(!=)j('n'\))f(goto)g(M6;)560 1724 y(L4:)49 b(++YYCURSOR;)560 1774 y(M4:)g(if\(*YYCURSOR)19 b(!=)j('t'\))f(goto)g(M6;)675 1824 y(goto)g(L5;)444 1913 y Fr(Figure)14 b(11:)j(Co)q(de)d(for)g (states)h(1{4)e(after)h(all)f(optimizations.)-42 2013 y(of)h(implemen)o(ting)d(this)j(optimization)e(is)i(to)g(construct)i(a) e(tunnel)g(automaton)f([9)o(])h(from)e(the)j(DF)-5 b(A,)14 b(and)g(then)h(generate)-42 2062 y(co)q(de)g(from)d(the)j(tunnel)f (automaton.)-42 2170 y Fh(Common)i(Sub)q(expression)d(Eliminatio)o(n)38 b Fr(Man)o(y)14 b(compilers)g(will)f(miss)g(the)i(fact)f(that)h Fm(*YYCURSOR)d Fr(in)i(Figures)h(9)-42 2220 y(and)e(10)f(should)h(b)q (e)g(loaded)f(in)o(to)g(a)h(register.)19 b(Most)13 b(can)f(b)q(e)i (coaxed)f(to)f(do)h(so)g(b)o(y)f(\014rst)i(assigning)e Fm(*YYCURSOR)e Fr(to)j(a)f(lo)q(cal)-42 2270 y(v)n(ariable.)-42 2407 y Fs(4)67 b(Exp)r(erimen)n(tal)25 b(Results)-42 2498 y Fr(T)m(able)16 b(1)h(compares)f(t)o(w)o(o)g(RE2C-generated)h(C)g (scanners)h(with)e(the)i(\(hand-co)q(ded\))f(lcc)g(scanner)h([5)o(])e (and)h(comparable)-42 2548 y(GLA-)f(and)g(\015ex-generated)i(scanners)f (on)f(a)g(v)n(ariet)o(y)g(of)f(platforms.)48 b(It)16 b(rep)q(orts)i(the)e(times)f(in)h(seconds)i(required)f(b)o(y)-42 2598 y(the)e(v)n(arious)e(scanners)i(to)e(scan)h(ab)q(out)g(170,000)e (lines)h(of)g(C)h(source.)19 b(The)14 b(5,607,820)d(b)o(yte)j(source)g (\014le)g(used)h(essen)o(tially)923 2748 y(9)p eop %%Page: 10 10 10 9 bop 707 452 a Fr(time)438 b(space)328 502 y(program)p 516 517 2 50 v 82 w(user)83 b(sys)76 b(total)p 975 517 V 82 w(text)j(data)d(bss)f(total)p 292 519 1284 2 v 860 554 a Fi(R4000)16 b(/)f(gc)n(c2.3.3)h(-O)p 292 570 V 317 605 a Fr(\015ex)e(-Cem)p 516 620 2 50 v 71 w(10.36)p 683 620 V 50 w(0.87)p 808 620 V 71 w(11.23)p 975 620 V 71 w(5200)p 1130 620 V 71 w(4192)p 1285 620 V 92 w(48)p 1420 620 V 72 w(9440)357 655 y(\015ex)h(-Cf)p 516 670 V 92 w(5.44)p 683 670 V 50 w(0.72)p 808 670 V 92 w(6.16)p 975 670 V 71 w(4688)p 1130 670 V 51 w(64384)p 1285 670 V 91 w(48)p 1420 670 V 51 w(69120)443 705 y(lcc)p 516 720 V 93 w(3.19)p 683 720 V 50 w(0.67)p 808 720 V 92 w(3.86)p 975 720 V 71 w(7328)p 1130 720 V 71 w(1216)p 1285 720 V 51 w(8256)p 1420 720 V 50 w(16800)438 754 y(gla)p 516 769 V 92 w(2.89)p 683 769 V 50 w(0.63)p 808 769 V 92 w(3.52)p 975 769 V 50 w(11552)p 1130 769 V 71 w(3056)p 1285 769 V 72 w(144)p 1420 769 V 50 w(14752)417 804 y(re2c)p 516 819 V 94 w(2.54)p 683 819 V 50 w(0.68)p 808 819 V 92 w(3.22)p 975 819 V 50 w(13264)p 1130 819 V 92 w(512)p 1285 819 V 113 w(0)p 1420 819 V 51 w(13776)373 854 y(re2c)g(-s)p 516 869 V 93 w(2.38)p 683 869 V 50 w(0.67)p 808 869 V 92 w(3.05)p 975 869 V 50 w(11056)p 1130 869 V 71 w(4528)p 1285 869 V 113 w(0)p 1420 869 V 51 w(15584)p 292 871 1284 2 v 737 906 a Fi(R4000)h(/)f(c)n(c2.11.2)g (-O)g(-Olimit)e(5000)p 292 922 V 317 957 a Fr(\015ex)h(-Cem)p 516 972 2 50 v 92 w(9.97)p 683 972 V 50 w(0.89)p 808 972 V 71 w(10.86)p 975 972 V 71 w(4704)p 1130 972 V 71 w(4240)p 1285 972 V 92 w(32)p 1420 972 V 72 w(8976)357 1007 y(\015ex)h(-Cf)p 516 1022 V 92 w(6.19)p 683 1022 V 50 w(0.72)p 808 1022 V 92 w(6.91)p 975 1022 V 71 w(4256)p 1130 1022 V 51 w(64432)p 1285 1022 V 91 w(32)p 1420 1022 V 51 w(68720)443 1057 y(lcc)p 516 1072 V 93 w(2.74)p 683 1072 V 50 w(0.72)p 808 1072 V 92 w(3.46)p 975 1072 V 71 w(9664)p 1130 1072 V 92 w(864)p 1285 1072 V 51 w(8256)p 1420 1072 V 50 w(18784)438 1106 y(gla)p 516 1121 V 92 w(2.46)p 683 1121 V 50 w(0.69)p 808 1121 V 92 w(3.15)p 975 1121 V 50 w(19232)p 1130 1121 V 71 w(2992)p 1285 1121 V 72 w(128)p 1420 1121 V 50 w(22352)417 1156 y(re2c)p 516 1171 V 94 w(2.97)p 683 1171 V 50 w(0.63)p 808 1171 V 92 w(3.60)p 975 1171 V 50 w(15088)p 1130 1171 V 92 w(528)p 1285 1171 V 113 w(0)p 1420 1171 V 51 w(15616)373 1206 y(re2c)g(-s)p 516 1221 V 93 w(2.94)p 683 1221 V 50 w(0.61)p 808 1221 V 92 w(3.55)p 975 1221 V 50 w(16080)p 1130 1221 V 51 w(11808)p 1285 1221 V 112 w(0)p 1420 1221 V 51 w(27888)p 292 1223 1284 2 v 849 1258 a Fi(SP)m(AR)o(C)g(/)g(gc)n (c2.3.3)g(-O)p 292 1274 V 317 1309 a Fr(\015ex)f(-Cem)p 516 1324 2 50 v 71 w(16.03)p 683 1324 V 50 w(2.78)p 808 1324 V 71 w(18.81)p 975 1324 V 71 w(8992)p 1130 1324 V 113 w(24)p 1285 1324 V 92 w(48)p 1420 1324 V 72 w(9064)357 1359 y(\015ex)h(-Cf)p 516 1374 V 92 w(7.84)p 683 1374 V 50 w(2.69)p 808 1374 V 71 w(10.53)p 975 1374 V 71 w(6560)p 1130 1374 V 51 w(62232)p 1285 1374 V 91 w(48)p 1420 1374 V 51 w(68840)443 1409 y(lcc)p 516 1424 V 93 w(4.46)p 683 1424 V 50 w(2.01)p 808 1424 V 92 w(6.47)p 975 1424 V 71 w(7800)p 1130 1424 V 92 w(384)p 1285 1424 V 51 w(8256)p 1420 1424 V 50 w(16440)438 1459 y(gla)p 516 1473 V 92 w(4.08)p 683 1473 V 50 w(1.56)p 808 1473 V 92 w(5.64)p 975 1473 V 50 w(10864)p 1130 1473 V 71 w(2168)p 1285 1473 V 72 w(136)p 1420 1473 V 50 w(13168)417 1508 y(re2c)p 516 1523 V 94 w(3.67)p 683 1523 V 50 w(1.76)p 808 1523 V 92 w(5.43)p 975 1523 V 50 w(13552)p 1130 1523 V 134 w(0)p 1285 1523 V 113 w(0)p 1420 1523 V 51 w(13552)373 1558 y(re2c)g(-s)p 516 1573 V 93 w(3.48)p 683 1573 V 50 w(1.70)p 808 1573 V 92 w(5.18)p 975 1573 V 50 w(15464)p 1130 1573 V 134 w(0)p 1285 1573 V 113 w(0)p 1420 1573 V 51 w(15464)p 292 1575 1284 2 v 880 1610 a Fi(i486)g(/)g(gc)n(c2.4.5)g (-O)p 292 1626 V 317 1661 a Fr(\015ex)f(-Cem)p 516 1676 2 50 v 71 w(21.86)p 683 1676 V 50 w(1.26)p 808 1676 V 71 w(23.12)p 975 1676 V 71 w(8536)p 1130 1676 V 113 w(20)p 1285 1676 V 92 w(24)p 1420 1676 V 72 w(8580)357 1711 y(\015ex)h(-Cf)p 516 1726 V 92 w(9.12)p 683 1726 V 50 w(1.18)p 808 1726 V 71 w(10.30)p 975 1726 V 71 w(6200)p 1130 1726 V 51 w(62228)p 1285 1726 V 91 w(24)p 1420 1726 V 51 w(68452)443 1761 y(lcc)p 516 1776 V 93 w(5.45)p 683 1776 V 50 w(1.22)p 808 1776 V 92 w(6.67)p 975 1776 V 71 w(5924)p 1130 1776 V 92 w(384)p 1285 1776 V 51 w(8240)p 1420 1776 V 50 w(14548)438 1811 y(gla)p 516 1825 V 92 w(5.11)p 683 1825 V 50 w(1.18)p 808 1825 V 92 w(6.29)p 975 1825 V 50 w(15496)p 1130 1825 V 71 w(2144)p 1285 1825 V 72 w(108)p 1420 1825 V 50 w(17748)417 1860 y(re2c)p 516 1875 V 94 w(4.73)p 683 1875 V 50 w(1.13)p 808 1875 V 92 w(5.86)p 975 1875 V 71 w(9800)p 1130 1875 V 134 w(0)p 1285 1875 V 113 w(0)p 1420 1875 V 72 w(9800)373 1910 y(re2c)g(-s)p 516 1925 V 93 w(4.85)p 683 1925 V 50 w(1.17)p 808 1925 V 92 w(6.02)p 975 1925 V 50 w(12968)p 1130 1925 V 134 w(0)p 1285 1925 V 113 w(0)p 1420 1925 V 51 w(12968)p 292 1927 1284 2 v 871 1962 a Fi(68020)h(/)f(gc)n(c1.40)h (-O)p 292 1978 V 317 2013 a Fr(\015ex)e(-Cem)p 516 2028 2 50 v 50 w(117.37)p 683 2028 V 50 w(5.89)p 808 2028 V 51 w(123.26)p 975 2028 V 70 w(7700)p 1130 2028 V 113 w(20)p 1285 2028 V 92 w(22)p 1420 2028 V 72 w(7742)357 2063 y(\015ex)h(-Cf)p 516 2078 V 71 w(50.93)p 683 2078 V 50 w(5.27)p 808 2078 V 71 w(56.20)p 975 2078 V 71 w(5388)p 1130 2078 V 51 w(62228)p 1285 2078 V 91 w(22)p 1420 2078 V 51 w(67638)443 2113 y(lcc)p 516 2128 V 72 w(33.28)p 683 2128 V 50 w(6.28)p 808 2128 V 71 w(39.56)p 975 2128 V 71 w(4956)p 1130 2128 V 92 w(384)p 1285 2128 V 51 w(8236)p 1420 2128 V 50 w(13576)438 2163 y(gla)p 516 2177 V 71 w(33.80)p 683 2177 V 50 w(4.20)p 808 2177 V 71 w(38.00)p 975 2177 V 50 w(13904)p 1130 2177 V 71 w(2144)p 1285 2177 V 72 w(106)p 1420 2177 V 50 w(16154)417 2212 y(re2c)p 516 2227 V 73 w(28.92)p 683 2227 V 50 w(2.91)p 808 2227 V 71 w(31.83)p 975 2227 V 71 w(8556)p 1130 2227 V 134 w(0)p 1285 2227 V 113 w(0)p 1420 2227 V 72 w(8556)373 2262 y(re2c)g(-s)p 516 2277 V 72 w(30.72)p 683 2277 V 50 w(3.19)p 808 2277 V 71 w(33.91)p 975 2277 V 71 w(9856)p 1130 2277 V 134 w(0)p 1285 2277 V 113 w(0)p 1420 2277 V 72 w(9856)513 2352 y(T)m(able)e(1:)18 b(Comparison)12 b(of)h(generated)j(C)d(scanners.)913 2748 y(10)p eop %%Page: 11 11 11 10 bop -42 195 a Fr(consists)15 b(of)d(10)h(copies)h(of)e(the)i (source)h(to)e(James)f(Clark's)h(SGML)f(parser,)i(sgmls)1263 180 y Fq(10)1297 195 y Fr(.)k(The)c(times)e(rep)q(orted)i(are)g(a)o(v)o (erages)-42 245 y(for)j(10)g(trials;)h(the)g(sizes)g(rep)q(orted)h (include)e(ev)o(erything)h(but)g(C)f(library)f(co)q(de)1251 230 y Fq(11)1287 245 y Fr(.)28 b(\015ex)18 b(pro)o(vides)f(a)g(n)o(um)o (b)q(er)g(of)g(table)-42 295 y(compression)e(options)g(including)f Fm(-Cem)g Fr(for)h(tables)g(optimized)f(for)h(space,)h(and)f Fm(-Cf)f Fr(for)h(tables)g(optimized)f(for)g(sp)q(eed.)-42 345 y(By)f(default,)e(RE2C)h(will)f(use)h(a)g(heuristic)h(to)f(decide)h (if)e(a)h Fm(switch)f Fr(should)h(b)q(e)g(replaced)h(with)f Fm(if)p Fr(s:)17 b(the)c Fm(-s)e Fr(option)h(forces)-42 394 y(RE2C)i(to)g(alw)o(a)o(ys)e(generate)k Fm(switch)p Fr(es.)21 444 y(T)m(o)21 b(mak)o(e)g(comparisons)g(more)g(meaningful,)h (all)e(seman)o(tic)i(pro)q(cessing)h(co)q(de)g(w)o(as)f(remo)o(v)o(ed)g (from)e(the)j(GLA-)-42 494 y(generated)d(and)f(lcc)f(scanners,)j(and)d (co)q(de)i(to)e(pro)o(vide)g(line)g(and)g(column)f(n)o(um)o(b)q(er)h (information)d(w)o(as)k(added)g(to)f(the)-42 544 y(RE2C)c(sp)q (eci\014cation.)19 b(The)14 b(remaining)e(di\013erences)k(of)d(note)h (b)q(et)o(w)o(een)i(the)e(scanners)i(include:)21 627 y Fk(\017)k Fr(The)15 b(\015ex-generated)g(scanners)h(do)d(not)h(pro)o (vide)g(line)f(or)h(column)e(n)o(um)o(b)q(er)i(information.)21 710 y Fk(\017)20 b Fr(The)15 b(GLA-generated)f(scanner)i(assumes)d (7-bit)h(input.)21 793 y(As)e(a)g(general)g(rule,)h(the)f (RE2C-generated)h(scanners)h(w)o(ere)f(the)f(fastest,)h(follo)o(w)o(ed) e(b)o(y)h(the)g(GLA-generated)h(scanner)-42 843 y(and)j(then)g(the)g (lcc)g(scanner.)24 b(The)15 b(\015ex-generated)i(scanners)h(w)o(ere)e (signi\014can)o(tly)e(slo)o(w)o(er.)23 b(Only)15 b(the)h (space-optimized)-42 892 y(\015ex)i(scanner)h(w)o(as)e(smaller)f(than)h (the)h(default)f(RE2C)g(scanner,)i(and)e(only)g(b)o(y)g(a)g(narro)o(w)g (margin.)26 b(There)19 b(are)e(some)-42 942 y(arc)o(hitectures,)j (notably)d(the)g(IBM)h(370,)f(on)g(whic)o(h)g(table)g(driv)o(en)g (scanners)i(will)d(probably)h(pro)q(duce)h(b)q(etter)h(results:)-42 992 y(IBM)c(370)e(compilers)g(t)o(ypically)f(generate)j(p)q(o)q(or)f (co)q(de)h(for)f(large)f(routines.)21 1042 y(The)22 b(v)n(arious)f (scanners)j(and)d(input)h(\014les)g(used)h(for)e(the)i(tests)g(are)f(a) o(v)n(ailable)e(for)h(anon)o(ymous)f(ftp)i(from)e Ff(csg.-)-42 1092 y(u)o(w)o(aterlo)q(o.ca)10 b Fr(in)f Ff(/pub/p)q (eter/re2c/sampler.ta)o(r.Z)p Fr(.)i(\015ex)f(is)f(a)o(v)n(ailable)e (for)i(anon)o(ymous)e(ftp)i(from)f Ff(ftp.uu.net)i Fr(as)f Ff(/pack)o(ages/-)-42 1142 y(gnu/\015ex-2.3.7.ta)o(r.Z)p Fr(,)14 b(GLA)h(is)g(a)o(v)n(ailable)e(for)i(anon)o(ymous)f(ftp)h(from) f Ff(ftp.cs.colo)o(rado.edu)i Fr(as)f(part)g(of)g(the)h(Eli)f(pac)o(k)n (age)-42 1191 y Ff(/pub/cs/distribs/eli/Eli3.4.2.ta)o(r.Z)p Fr(,)i(and)h(the)g(lcc)h(fron)o(t)e(end)i(is)f(a)o(v)n(ailable)e(for)h (anon)o(ymous)g(ftp)g(from)g Ff(p)o(rinceton.edu)-42 1241 y Fr(as)f Ff(/pub/lcc/lccfe-1.9.ta)o(r.Z)p Fr(.)g(An)f(alpha)g(v)o (ersion)g(of)g(RE2C)g(will)f(so)q(on)i(b)q(e)g(made)e(a)o(v)n(ailable)f (for)i(anon)o(ymous)f(ftp)h(from)-42 1291 y Ff(csg.u)o(w)o(aterlo)q (o.ca)g Fr(as)f Ff(/pub/p)q(eter/re2c/re2c-0.5.ta)o(r.Z)p Fr(.)-42 1428 y Fs(5)67 b(Related)23 b(W)-6 b(ork)-42 1519 y Fr(The)18 b(k)o(ey)g(to)f(the)h(p)q(erformance)f(and)g (\015exibilit)o(y)e(of)i(an)g(RE2C-generated)h(scanner)h(is)e(the)h (approac)o(h)f(used)h(to)f(deter-)-42 1569 y(mine)e(when)i(the)g (bu\013er)g(needs)g(\014lling.)23 b(In)o(terestingly)m(,)16 b(the)h(lcc)g(scanner)g([5)o(])f(uses)h(a)f(similar)e(approac)o(h)i (\(with)g(certain)-42 1619 y(concessions)g(to)e(k)o(eep)g(the)h(b)q(o)q (okk)o(eeping)e(manageable.\))-42 1735 y Fj(5.1)56 b(Comparison)18 b(With)g(GLA)-42 1812 y Fr(It)h(is)f(natural)f(to)h(compare)f(RE2C)h (to)g(GLA)f([7])g(as)h(it)g(also)f(generates)j(directly)f(executable)g (scanners.)32 b(RE2C)18 b(and)-42 1861 y(GLA)d(ha)o(v)o(e)g(man)o(y)e (di\013erences)k(simply)c(b)q(ecause)j(they)g(are)f(targeted)h(for)e (di\013eren)o(t)i(t)o(yp)q(es)g(of)e(users:)22 b(GLA)14 b(is)h(in)o(tended)-42 1911 y(for)g(p)q(eople)h(who)f(simply)e(wish)i (to)f(lev)o(erage)i(their)f(e\013orts)i(with)d(existing)h(to)q(ols)g (and)g(libraries;)g(RE2C)f(is)h(in)o(tended)h(for)-42 1961 y(p)q(eople)d(that)g(ha)o(v)o(e)f(more)g(sp)q(ecialized)h(needs)h (and)e(are)h(willing)d(to)j(pro)o(vide)f(their)h(o)o(wn)f(supp)q(ort)h (routines.)18 b(F)m(or)12 b(example,)-42 2011 y(GLA)h(pro)o(vides)h(a)f (go)q(o)q(d)f(bu\013ering)i(mec)o(hanism,)c(RE2C)j(users)i(m)o(ust)d (supply)h(their)h(o)o(wn.)j(These)d(di\013erences,)i(ho)o(w)o(ev)o(er,) -42 2061 y(are)f(not)f(unique)f(to)h(GLA)g(and)f(ha)o(v)o(e)h(b)q(een)h (addressed)h(for)d(the)i(most)e(part)h(in)f(previous)h(sections.)21 2111 y(Of)j(more)f(in)o(terest)i(is)f(the)h(di\013erences)i(in)c(the)i (co)q(de)g(that)f(RE2C)g(and)g(GLA)g(generate.)29 b(Scanners)18 b(generated)h(b)o(y)-42 2160 y(RE2C)14 b(and)g(GLA)f(di\013er)h (primarily)e(in)h(t)o(w)o(o)h(asp)q(ects:)19 b(ho)o(w)14 b(they)g(determine)g(when)h(the)f(bu\013er)h(needs)g(\014lling,)d(and)i (ho)o(w)-42 2210 y(they)h(generate)g(co)q(de)g(for)e Fm(switch)p Fr(es.)21 2260 y(GLA)d(uses)i(the)f(ASCI)q(I)g(NUL)f(c)o (haracter)i(as)f(the)g(sen)o(tinel)g(to)f(determine)h(when)g(the)g (bu\013er)g(needs)h(\014lling.)j(T)m(o)10 b(impro)o(v)o(e)-42 2310 y(the)j(sp)q(eed)h(and)e(reduce)i(the)f(size)g(of)e(the)i (generated)g(scanners)h(GLA)e(bu\013ers)i(only)d(complete)h(lines)g (and)g(restricts)i(tok)o(ens)-42 2360 y(to)d(those)g(that)f(do)g(not)g (con)o(tain)g(newline)g(\(ASCI)q(I)h(LF\))f(c)o(haracters)1013 2345 y Fq(12)1050 2360 y Fr(.)17 b(If)10 b(a)g(tok)o(en)g(with)g(an)g (em)o(b)q(edded)h(newline)f(c)o(haracter)-42 2409 y(\(suc)o(h)k(as)f(a) f(commen)o(t\))f(is)h(required)i(it)e(m)o(ust)f(b)q(e)j(recognized)g (with)e(an)g(auxiliary)f(scanner)j(written)f(in)f(C.)g(This)h(co)q(de)g (has)-42 2459 y(to)h(p)q(erform)f(the)i(bu\013ering-related)f(b)q(o)q (okk)o(eeping)g(that)g(is)g(done)g(automatically)d(b)o(y)i (GLA-generated)i(co)q(de.)p -42 2494 780 2 v -11 2521 a Fn(10)22 2532 y Fo(Av)n(ailable)10 b(for)h(anon)o(ymous)d(ftp)j(from) f Fe(ftp.uu.net)i Fo(as)f Fe(/pub/text-p)o(ro)q(cessing/sg)o(ml/sgmls-) o(1.1.)o(ta)o(r.Z)o Fo(.)-11 2560 y Fn(11)22 2572 y Fo(The)h (GLA-generated)c(scanner)i(sizes)h(also)f(do)h(not)g(include)f(the)g (size)h(of)g(an)g(error)g(rep)q(orting)e(mo)q(dule)g Fg(err.o)p Fo(.)-11 2600 y Fn(12)22 2612 y Fo(This)j(is)f(discussed)f (in)h(more)f(detail)g(in)h(Section)f(3.3.1.)913 2748 y Fr(11)p eop %%Page: 12 12 12 11 bop 21 195 a Fr(The)20 b(mec)o(hanism)e(RE2C)h(uses)i(to)f (re\014ll)g(the)g(bu\013er)h(eliminates)d(these)k(restrictions)f(and)e (y)o(et)i(allo)o(ws)d(RE2C)i(to)-42 245 y(generate)15 b(faster)f(and)g(smaller)e(scanners.)19 b(RE2C)13 b(also)g(allo)o(ws)g (b)q(oth)g(auxiliary)f(and)h(primary)f(scanners)j(to)f(b)q(e)g(sp)q (eci\014ed)-42 295 y(using)g(regular)g(expressions.)20 b(F)m(or)13 b(example,)f(App)q(endix)i(A)g(con)o(tains)g(an)g (auxiliary)e(scanner)j(for)f(commen)o(ts.)21 345 y(Lik)o(e)i(RE2C,)g (GLA)h(usually)f(replaces)i Fm(switch)p Fr(es)e(with)h Fm(if)p Fr(s.)27 b(Unlik)o(e)16 b(RE2C,)g(GLA)g(do)q(es)i(not)f(use)g (a)g Fm(case)p Fr(-based)-42 394 y(heuristic)f(to)f(decide)h(whic)o(h)f Fm(switch)p Fr(es)g(to)g(replace:)21 b(rather,)16 b(it)f(alw)o(a)o(ys)f (generates)j(a)e Fm(switch)e Fr(for)i(the)h(start)g(state)g(and)-42 444 y(uses)g Fm(if)p Fr(s)d(for)h(the)g(rest.)20 b(GLA)13 b(replaces)i Fm(switch)p Fr(es)f(with)f(co)q(de)i(sequences)h(of)e(the) g(form:)138 518 y Fm(if\(*YYCURSOR)20 b Fi(in)i Fl(S)505 524 y Fq(1)524 518 y Fm(\))f(goto)g(L)698 524 y Fq(1)717 518 y Fm(;)226 562 y(.)226 579 y(.)226 595 y(.)138 645 y(if\(*YYCURSOR)f Fi(in)i Fl(S)505 651 y Fd(n)528 645 y Fm(\))f(goto)g(L)702 651 y Fd(n)725 645 y Fm(;)-42 737 y Fr(Bit)12 b(v)o(ectors)h(are)f(used)h(for)e(all)f(mem)o(b)q (ership)g(tests)k(in)o(v)o(olving)9 b(sets)k(with)e(more)g(than)g(one)h (elemen)o(t.)17 b(As)12 b(an)g(optimization,)-42 787 y(if)k(a)f(state)i(has)f(a)g(transition)g(to)g(itself)f(the)i(test)g (as)f(to)g(whether)h(to)f(remain)f(in)g(the)i(same)e(state)i(or)f(not)g (is)g(p)q(erformed)-42 837 y(\014rst.)25 b(F)m(or)16 b(example,)e(Figure)i(12)f(sho)o(ws)i(the)f(GLA-generated)h(co)q(de)f (for)g(state)g(8)g(in)f(Figure)h(2)1506 822 y Fq(13)1541 837 y Fr(.)73 b(Note)16 b(the)g(use)h(of)291 926 y Fm(static)j (unsigned)g(char)h(yytable[])f(=)i Fk(f)291 976 y Fm(0x00,)e(0x00,)h (0x00,)g(0x00,)g(/*)65 b(0.)g(1.)g(2.)f(3.)22 b(*/)291 1025 y Fl(:)7 b(:)g(:)291 1075 y Fm(0x00,)20 b(0x00,)h(0x00,)g(0x00,)g (/*)43 b(,)g(-)h(.)f(/)22 b(*/)291 1125 y(0x01,)e(0x01,)h(0x01,)g (0x01,)g(/*)43 b(0)g(1)h(2)f(3)22 b(*/)291 1175 y(0x01,)e(0x01,)h (0x01,)g(0x01,)g(/*)43 b(4)g(5)h(6)f(7)22 b(*/)291 1225 y(0x01,)e(0x01,)h(0x00,)g(0x00,)g(/*)43 b(8)g(9)h(:)f(;)22 b(*/)291 1275 y(0x00,)e(0x00,)h(0x00,)g(0x00,)g(/*)43 b(<)g(=)h(>)f(?)22 b(*/)291 1324 y Fl(:)7 b(:)g(:)291 1374 y Fm(0x00,)20 b(0x00,)h(0x00,)g(0x00)g Fk(g)p Fm(;)g(/*)43 b(|)h Fk(g)108 b Fm(127.)21 b(*/)378 1419 y(.)378 1435 y(.)378 1452 y(.)291 1502 y(L8:)g(if\(yytable[\(*YYC)o(URSOR)o(++\)+0)o (])e(&)j(1<<0\))e(goto)h(L8;--YYCURSOR;)291 1552 y(goto)g(A3;)527 1631 y Fr(Figure)14 b(12:)j(GLA)d(co)q(de)h(for)e(state)i(8)e(in)h (Figure)g(2.)-42 1731 y(128)i(elemen)o(t)f(en)o(tries)i(for)e(the)i (bit)f(v)o(ectors)h(to)e(reduce)j(the)e(scanner)i(size:)k(A)16 b(GLA-generated)h(scanner)g(will)e(crash)h(or)-42 1781 y(otherwise)f(b)q(eha)o(v)o(e)g(unpredictably)f(if)f(a)h(non-ASCI)q(I)f (c)o(haracter)j(app)q(ears)e(in)g(the)g(source)1395 1766 y Fq(14)1432 1781 y Fr(.)21 1831 y(In)k(some)g(sense)j(the)e(results)h (of)e(Section)h(4)f(are)i(a)e(bit)g(misleading:)26 b(the)19 b(GLA)f(sp)q(eci\014cation)i(that)e(w)o(as)h(used)h(to)-42 1880 y(obtain)15 b(the)g(\014gures)h(in)e(T)m(able)g(1)h(is)g(not)f(a)h (t)o(ypical)f(GLA)g(sp)q(eci\014cation.)22 b(Usually)14 b(scanners)j(implem)o(en)o(ted)c(using)i(GLA)-42 1930 y(will)h(handle)i(k)o(eyw)o(ords)f(as)h(iden)o(ti\014ers)g(as)g(GLA)f (has)g(b)q(een)i(optimized)d(for)h(this)g([7)o(].)29 b(T)m(able)16 b(2)h(presen)o(ts)j(a)d(more)f(fair)-42 1980 y(comparison:)h(the)e(k)o(eyw)o(ord)f(matc)o(hing)e(rules)j(w)o (ere)g(remo)o(v)o(ed)e(from)f(b)q(oth)j(the)f(GLA)g(and)g(RE2C)f(sp)q (eci\014cations.)39 b(The)-42 2030 y(RE2C-generated)18 b(scanners)g(w)o(ere)f(still)e(faster)i(and)g(smaller)d(except)k(on)e (the)h(MIPS)g(R4000,)e(where)i(the)g(cc-compiled)-42 2080 y(GLA)d(scanner)h(w)o(as)f(sligh)o(tly)f(faster.)21 2130 y(Note)k(ho)o(w)o(ev)o(er,)g(that)g(the)g(RE2C)g(sp)q (eci\014cation)g(can)g(b)q(e)g(substan)o(tially)f(sp)q(ed)i(up)f(b)o(y) f(using)h(a)f(tec)o(hnique)i(akin)e(to)-42 2179 y(lo)q(op)e(unrolling.) i(Replacing)d(the)i(original)d(k)o(eyw)o(ord)h(matc)o(hing)f(rule)j(in) e(the)i(RE2C)e(sp)q(eci\014cation)1548 2164 y Fq(15)138 2252 y Fm(L)22 b(I*)435 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)-42 2345 y Fr(with)14 b(the)h(follo)o(wing)c(rules)p -42 2380 780 2 v -11 2407 a Fn(13)22 2419 y Fo(Actually)m(,)f(GLA)i(w)o (ould)f(generate)e(a)i Fg(while)f Fo(statemen)o(t.)j(Most)e(compilers)e (will)j(generate)d(the)i(same)f(ob)r(ject)g(co)q(de)g(for)h(b)q(oth.) -11 2446 y Fn(14)22 2458 y Fo(No)h(c)o(hec)o(ks)e(are)h(made)f(to)h (ensure)f(that)g(only)h(7-bit)f(c)o(haracters)f(app)q(ear)h(in)h(the)g (input.)-11 2486 y Fn(15)22 2498 y Fg(L)e Fo(=)i Fg([a-zA-Z)p 215 2498 11 2 v 10 w(])g Fo(and)g Fg(I)e Fo(=)i Fg([a-zA-Z)p 514 2498 V 10 w(0-9])n Fo(.)913 2748 y Fr(12)p eop %%Page: 13 13 13 12 bop 727 776 a Fr(time)387 b(space)380 826 y(program)p 557 841 2 50 v 61 w(user)72 b(sys)65 b(total)p 974 841 V 62 w(text)58 b(data)e(bss)64 b(total)p 355 842 1158 2 v 850 877 a Fi(R4000)16 b(/)f(gc)n(c2.3.3)g(-O)p 355 894 V 479 929 a Fr(gla)p 557 944 2 50 v 71 w(2.63)p 703 944 V 51 w(0.58)p 828 944 V 71 w(3.21)p 974 944 V 50 w(5040)p 1109 944 V 50 w(2496)p 1243 944 V 51 w(144)p 1357 944 V 71 w(7680)458 979 y(re2c)p 557 994 V 73 w(2.50)p 703 994 V 51 w(0.65)p 828 994 V 71 w(3.15)p 974 994 V 50 w(6448)p 1109 994 V 71 w(512)p 1243 994 V 92 w(0)p 1357 994 V 72 w(6960)414 1028 y(re2c)g(-s)p 557 1043 V 72 w(2.49)p 703 1043 V 51 w(0.67)p 828 1043 V 71 w(3.16)p 974 1043 V 50 w(4976)p 1109 1043 V 50 w(4224)p 1243 1043 V 92 w(0)p 1357 1043 V 72 w(9200)382 1078 y(re2c)g(-s)f Fk(y)p 557 1093 V 72 w Fr(2.08)p 703 1093 V 51 w(0.59)p 828 1093 V 71 w(2.67)p 974 1093 V 50 w(5792)p 1109 1093 V 50 w(4224)p 1243 1093 V 92 w(0)p 1357 1093 V 52 w(10016)p 355 1095 1158 2 v 726 1130 a Fi(R4000)i(/)f(c)n(c2.11.2)g(-O)g(-Olimit) e(5000)p 355 1146 V 479 1181 a Fr(gla)p 557 1196 2 50 v 71 w(2.43)p 703 1196 V 51 w(0.64)p 828 1196 V 71 w(3.07)p 974 1196 V 50 w(6512)p 1109 1196 V 50 w(2416)p 1243 1196 V 51 w(128)p 1357 1196 V 71 w(9056)458 1231 y(re2c)p 557 1246 V 73 w(2.93)p 703 1246 V 51 w(0.67)p 828 1246 V 71 w(3.60)p 974 1246 V 50 w(8048)p 1109 1246 V 71 w(528)p 1243 1246 V 92 w(0)p 1357 1246 V 72 w(8576)414 1281 y(re2c)i(-s)p 557 1296 V 72 w(3.04)p 703 1296 V 51 w(0.64)p 828 1296 V 71 w(3.68)p 974 1296 V 50 w(9952)p 1109 1296 V 50 w(2208)p 1243 1296 V 92 w(0)p 1357 1296 V 52 w(12160)p 355 1297 1158 2 v 838 1332 a Fi(SP)m(AR)o(C)g(/)g(gc)n(c2.3.3)g(-O)p 355 1349 V 479 1384 a Fr(gla)p 557 1399 2 50 v 71 w(4.08)p 703 1399 V 51 w(1.65)p 828 1399 V 71 w(5.73)p 974 1399 V 50 w(5472)p 1109 1399 V 50 w(1656)p 1243 1399 V 51 w(136)p 1357 1399 V 71 w(7264)458 1434 y(re2c)p 557 1449 V 73 w(3.77)p 703 1449 V 51 w(1.67)p 828 1449 V 71 w(5.44)p 974 1449 V 50 w(7008)p 1109 1449 V 113 w(0)p 1243 1449 V 92 w(0)p 1357 1449 V 72 w(7008)414 1483 y(re2c)g(-s)p 557 1498 V 72 w(3.66)p 703 1498 V 51 w(2.37)p 828 1498 V 71 w(6.03)p 974 1498 V 50 w(9112)p 1109 1498 V 113 w(0)p 1243 1498 V 92 w(0)p 1357 1498 V 72 w(9112)p 355 1500 1158 2 v 869 1535 a Fi(i486)g(/)g(gc)n(c2.4.5)g(-O)p 355 1551 V 479 1586 a Fr(gla)p 557 1601 2 50 v 71 w(5.04)p 703 1601 V 51 w(1.15)p 828 1601 V 71 w(6.19)p 974 1601 V 50 w(5368)p 1109 1601 V 50 w(1632)p 1243 1601 V 51 w(108)p 1357 1601 V 71 w(7108)458 1636 y(re2c)p 557 1651 V 73 w(4.75)p 703 1651 V 51 w(1.17)p 828 1651 V 71 w(5.92)p 974 1651 V 50 w(5448)p 1109 1651 V 113 w(0)p 1243 1651 V 92 w(0)p 1357 1651 V 72 w(5448)414 1686 y(re2c)g(-s)p 557 1701 V 72 w(5.06)p 703 1701 V 51 w(1.13)p 828 1701 V 71 w(6.19)p 974 1701 V 50 w(8248)p 1109 1701 V 113 w(0)p 1243 1701 V 92 w(0)p 1357 1701 V 72 w(8248)p 355 1703 1158 2 v 860 1737 a Fi(68020)h(/)f(gc)n(c1.40)h(-O)p 355 1754 V 479 1789 a Fr(gla)p 557 1804 2 50 v 51 w(32.69)p 703 1804 V 50 w(3.37)p 828 1804 V 50 w(36.06)p 974 1804 V 50 w(4772)p 1109 1804 V 50 w(1632)p 1243 1804 V 51 w(106)p 1357 1804 V 71 w(6510)458 1839 y(re2c)p 557 1854 V 53 w(29.86)p 703 1854 V 50 w(3.74)p 828 1854 V 50 w(33.60)p 974 1854 V 50 w(4468)p 1109 1854 V 113 w(0)p 1243 1854 V 92 w(0)p 1357 1854 V 72 w(4468)414 1889 y(re2c)f(-s)p 557 1904 V 52 w(28.77)p 703 1904 V 50 w(3.55)p 828 1904 V 50 w(32.32)p 974 1904 V 50 w(5616)p 1109 1904 V 113 w(0)p 1243 1904 V 92 w(0)p 1357 1904 V 72 w(5616)108 1978 y(T)m(able)i(2:)24 b(Scanner)18 b(p)q(erformance)f(with)g(k)o(eyw) o(ords)g(treated)h(as)f(iden)o(ti\014ers.)29 b Fk(y)17 b Fr(uses)h(an)f(\\unrolled")108 2028 y(sp)q(eci\014cation.)913 2748 y(13)p eop %%Page: 14 14 14 13 bop 138 185 a Fm(L)501 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 235 y Fm(L)i(I)457 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 284 y Fm(L)i(I)g(I)413 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 334 y Fm(L)i(I)g(I)f(I)370 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 384 y Fm(L)i(I)g(I)f(I)h(I)326 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 434 y Fm(L)i(I)g(I)f(I)h(I)f(I)283 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 484 y Fm(L)i(I)g(I)f(I)h(I)f(I)h(I)239 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 533 y Fm(L)i(I)g(I)f(I)h(I)f(I)h (I)f(I)196 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)138 583 y Fm(L)i(I*)435 b Fk(f)22 b Fm(RET\(ID\);)e Fk(g)-42 677 y Fr(reduces)f(the)e(n)o(um)o(b)q(er)f(of)g(end-of-bu\013er)h(c)o(hec)o (ks)h(and)e(results)i(in)e(a)g(signi\014can)o(t)g(sp)q(eed)i(impro)o(v) o(emen)o(t)13 b(o)o(v)o(er)k(the)g(GLA-)-42 726 y(generated)f(scanner.) -42 864 y Fs(6)67 b(Summary)24 b(and)f(F)-6 b(urther)25 b(W)-6 b(ork)-42 955 y Fr(This)16 b(pap)q(er)h(has)f(describ)q(ed)h (RE2C,)e(a)h(to)q(ol)f(for)g(creating)h(lexical)f(analyzers.)24 b(Unlik)o(e)16 b(other)g(suc)o(h)h(to)q(ols,)e(RE2C)g(con-)-42 1004 y(cen)o(trates)i(solely)d(on)g(generating)g(e\016cien)o(t)h(co)q (de)g(for)f(matc)o(hing)f(regular)h(expressions.)21 b(Not)14 b(only)g(do)q(es)h(this)g(singleness)-42 1054 y(of)h(purp)q(ose)i(mak)o (e)c(RE2C)i(more)g(suitable)g(for)g(a)g(wider)g(v)n(ariet)o(y)g(of)g (applications,)f(it)h(allo)o(ws)f(it)h(to)g(generate)i(scanners)-42 1104 y(whic)o(h)c(approac)o(h)g(hand-crafted)h(scanners)g(in)f(terms)g (of)f(size)i(and)e(sp)q(eed.)20 b(Compared)13 b(to)h(scanners)i (generated)f(b)o(y)f(\015ex,)-42 1154 y(and)g(GLA,)f(RE2C-generated)i (scanners)g(are)g(faster)f(and)g(in)f(man)o(y)f(cases)k(smaller)c(as)i (w)o(ell.)21 1204 y(While)g(RE2C-generated)h(scanners)h(p)q(erform)e(w) o(ell,)g(there)i(is)e(still)g(ro)q(om)f(for)h(impro)o(v)o(emen)o(t.)k (Near)d(term)f(impro)o(v)o(e-)-42 1254 y(men)o(ts)g(include)g(using)f (GLA's)h(bit)f(v)o(ectors)i(to)f(simplify)d(some)i Fm(switch)p Fr(es)h(and)f(adding)g(a)h(state)h(unrolling)d(op)q(erator.)21 1303 y(In)i(the)g(longer)g(term,)f(inline)g(actions)h(will)e(b)q(e)i (added)h(to)e(RE2C.)g(F)m(or)h(example,)e(a)h(sp)q(eci\014cation)i(lik) o(e)138 1386 y Fm(D)22 b Fk(f)p Fm(c)f(=)h($)p Fk(g)f Fm(\(D)h Fk(f)p Fm(c)f(=)h(10*c)e(+)i($)p Fk(g)p Fm(\)*)-42 1469 y Fr(migh)o(t)15 b(b)q(e)i(used)g(to)f(obtain)g(the)h(v)n(alue)f (of)g(a)g(previously)g(scanned)i(in)o(teger.)26 b(T)o(ypically)m(,)14 b(these)k(sorts)g(of)d(sp)q(eci\014cations)-42 1519 y(w)o(ould)f(b)q(e) g(used)h(as)f(an)f(action)h(in)f(some)g(other)i(sp)q(eci\014cation.)-42 1656 y Fs(7)67 b(Ac)n(kno)n(wledgmen)n(ts)-42 1747 y Fr(The)15 b(authors)f(thank)g(the)g(referees)j(for)c(their)h(man)o(y)e (v)n(aluable)h(commen)o(ts)f(and)i(suggestions.)913 2748 y(14)p eop %%Page: 15 15 15 14 bop -42 195 a Fs(A)68 b(C)22 b(Scanner)-42 276 y Fg(#define)16 b(BSIZE)192 b(8192)-42 315 y(#define)16 b(RET\(i\))174 b({s->cur)15 b(=)i(cursor;)e(return)h(i;})-42 394 y(#define)g(YYCTYPE)156 b(uchar)-42 433 y(#define)16 b(YYCURSOR)138 b(cursor)-42 473 y(#define)16 b(YYLIMIT)156 b(s->lim)-42 512 y(#define)16 b(YYMARKER)138 b(s->ptr)-42 552 y(#define)16 b(YYFILL\(n\))120 b({cursor)15 b(=)i(fill\(s,)e (cursor\);})-42 631 y(typedef)h(struct)f(Scanner)g({)29 670 y(int)299 b(fd;)29 709 y(uint)281 b(line;)29 749 y(uchar)263 b(*bot,)16 b(*tok,)g(*ptr,)f(*cur,)h(*pos,)g(*lim,)g(*top,) g(*eof;)-42 788 y(})i(Scanner;)-42 867 y(uchar)e(*fill\(Scann)o(er)e (*s,)j(uchar)f(*cursor\){)29 907 y(if\(!s->eof)o(\){)100 946 y(uint)g(cnt)g(=)i(s->tok)d(-)i(s->bot;)100 985 y(if\(cnt\){)d(/*)j (move)g(partial)e(token)h(to)g(bottom)g(*/)170 1025 y(memcpy\(s->b)o (ot,)e(s->tok,)h(s->lim)g(-)j(s->tok\);)d(s->tok)g(=)i(s->bot;)170 1064 y(s->ptr)f(-=)h(cnt;)f(cursor)f(-=)i(cnt;)f(s->pos)g(-=)h(cnt;)f (s->lim)g(-=)h(cnt;)100 1104 y(})100 1143 y(if\(\(s->to)o(p)e(-)i (s->lim\))e(<)i(BSIZE\){)f(/*)g(buffer)g(needs)g(to)h(be)g(expanded)d (*/)170 1183 y(uchar)i(*buf)g(=)i(\(uchar*\))c(malloc\(\(\(s-)o(>li)o (m)h(-)i(s->bot\))e(+)i(BSIZE\)*size)o(of\()o(uch)o(ar\))o(\);)170 1222 y(memcpy\(buf,)d(s->tok,)h(s->lim)h(-)h(s->tok\);)e(s->tok)g(=)i (buf;)170 1262 y(s->ptr)f(=)h(&buf[s->pt)o(r)e(-)i(s->bot];)e(cursor)g (=)j(&buf[curs)o(or)c(-)k(s->bot];)170 1301 y(s->pos)e(=)h(&buf[s->po)o (s)e(-)i(s->bot];)e(s->lim)g(=)j(&buf[s->l)o(im)c(-)k(s->bot];)170 1340 y(s->top)e(=)h(&s->lim[BS)o(IZE)o(];)170 1380 y(free\(s->bot)o (\);)d(s->bot)i(=)h(buf;)100 1419 y(})100 1459 y(if\(\(cnt)e(=)i (read\(s->fd)o(,)e(\(char*\))g(s->lim,)g(BSIZE\)\))g(!=)i(BSIZE\){)e (/*)i(EOF)g(*/)170 1498 y(s->eof)f(=)h(&s->lim[cn)o(t];)d(*\(s->eof\)+) o(+)h(=)i('\\n';)100 1538 y(})100 1577 y(s->lim)e(+=)i(cnt;)29 1616 y(})29 1656 y(return)f(cursor;)-42 1695 y(})-42 1774 y(int)h(scan\(Scann)o(er)d(*s\){)100 1814 y(uchar)h(*cursor)h(=)h (s->cur;)-42 1853 y(std:)70 b(s->tok)15 b(=)i(cursor;)-42 1892 y(/*!re2c)100 1932 y("/*")157 b({)17 b(goto)f(comment;)f(})-42 2013 y Fc(:)6 b(:)g(:)11 b Fb(mor)n(e)j(rules)e Fc(:)6 b(:)g(:)100 2086 y Fg([)17 b(\\t\\v\\f]+)50 b({)17 b(goto)f(std;)h(}) 100 2125 y("\\n")157 b({)17 b(if\(cursor)e(==)i(s->eof\))e(RET\(EOI\);) f(s->pos)i(=)h(cursor;)e(s->line++;)364 2164 y(goto)h(std;)h(})100 2204 y([\\000-\\37)o(7])32 b({)17 b(printf\("une)o(xpe)o(cte)o(d)d (character:)h('\045c'\\n",)f(*s->tok\);)364 2243 y(goto)i(std;)h(})-42 2283 y(*/)-42 2322 y(comment:)-42 2362 y(/*!re2c)100 2401 y("*/")157 b({)17 b(goto)f(std;)h(})100 2440 y("\\n")157 b({)17 b(if\(cursor)e(==)i(s->eof\))e(RET\(EOI\);)f(s->tok)i(=)h (s->pos)e(=)j(cursor;)d(s->line++;)364 2480 y(goto)h(comment;)f(})100 2519 y([\\000-\\37)o(7])32 b({)17 b(goto)f(comment;)f(})-42 2559 y(*/)-42 2598 y(})913 2748 y Fr(15)p eop %%Page: 16 16 16 15 bop -42 195 a Fs(References)-21 286 y Fr([1])20 b Fa(Aho,)d(A.)g(V.,)f(Sethi,)h(R.,)h(and)f(Ullman,)h(J.)e(D.)21 b Fi(Compilers:)e(principles,)c(te)n(chniques,)h(and)g(to)n(ols)p Fr(.)k(Addison-)44 336 y(W)m(esley)m(,)13 b(1988.)k(Reprin)o(ted)d (with)f(corrections.)-21 419 y([2])20 b Fa(Bernstein,)c(R.)f(L.)k Fr(Pro)q(ducing)13 b(go)q(o)q(d)g(co)q(de)i(for)e(the)h(case)g (statemen)o(t.)j Fi(Softwar)n(e{Pr)n(actic)n(e)d(and)h(Exp)n(erienc)n (e)g(15)p Fr(,)44 469 y(10)e(\(Octob)q(er)j(1985\),)c(1021{1024.)-21 552 y([3])20 b Fa(DeRemer,)e(F.,)f(and)g(Pennello,)i(T.)h Fr(E\016cien)o(t)15 b(computation)e(of)h Fl(LALR)p Fr(\(1\))h(lo)q (ok-ahead)f(sets.)21 b Fi(A)o(CM)15 b(T)m(r)n(ans-)44 602 y(actions)g(on)g(Pr)n(o)n(gr)n(amming)g(L)n(anguages)h(and)f (Systems)g(4)p Fr(,)f(4)g(\(Octob)q(er)h(1982\),)e(615{649.)-21 685 y([4])20 b Fa(Ellis,)c(M.,)g(and)g(Str)o(oustr)o(up,)h(B.)i Fi(The)c(A)o(nnotate)n(d)h(C++)e(R)n(efer)n(enc)n(e)h(Manual)p Fr(.)j(Addison-W)m(esley)m(,)13 b(1990.)-21 768 y([5])20 b Fa(Fraser,)c(C.)f(W.,)h(and)g(Hanson,)h(D.)f(R.)i Fr(A)c (retargetable)g(compiler)e(for)h(ANSI)h(C.)j Fi(SIGPLAN)e(Notic)n(es)f (26)p Fr(,)g(10)44 817 y(\(Octob)q(er)h(1991\),)e(29{43.)-21 900 y([6])20 b Fa(Garey,)g(M.)d(R.,)i(and)g(Johnson,)h(D.)e(S.)25 b Fi(Computers)16 b(and)h(Intr)n(actability:)k(A)c(Guide)g(to)f(the)h (The)n(ory)f(of)h(NP-)44 950 y(Completeness)p Fr(.)h(W.)13 b(H.)g(F)m(reeman)g(and)h(Compan)o(y)m(,)d(1991.)-21 1033 y([7])20 b Fa(Gra)m(y,)14 b(R.)e(W.)g Fl(\015)r Fr(-GLA)e(-)g(A)g(generator)g(for)g(lexical)f(analyzers)h(that)g (programmers)e(can)i(use.)i Fi(USENIX)g(Confer)n(enc)n(e)44 1083 y(Pr)n(o)n(c)n(e)n(e)n(dings)17 b Fr(\(June)e(1988\),)d(147{160.) -21 1166 y([8])20 b Fa(Gra)m(y,)c(R.)f(W.,)g(Heuring,)g(V.)f(P.,)h (Levi,)h(S.)f(P.,)g(Slo)o(ane,)i(A.)d(M.,)h(and)g(W)-5 b(aite,)15 b(W.)g(M.)h Fr(Eli:)h(A)c(complete,)44 1216 y(\015exible)h(compiler)e(construction)j(system.)j Fi(Communic)n (ations)d(of)g(the)g(A)o(CM)f(35)p Fr(,)g(2)g(\(F)m(ebruary)g(1992\),)f (121{131.)-21 1299 y([9])20 b Fa(Gr)o(osch,)e(J.)i Fr(E\016cien)o(t)15 b(generation)g(of)f(lexical)f(analysers.)21 b Fi(Softwar)n(e{Pr)n (actic)n(e)15 b(and)h(Exp)n(erienc)n(e)g(19)p Fr(,)f(11)f(\(1989\),)44 1349 y(1089{1103.)-42 1432 y([10])20 b Fa(Harrison,)c(M.)g(A.)j Fi(Intr)n(o)n(duction)c(to)g(F)m(ormal)f(L)n(anguage)i(The)n(ory)p Fr(.)i(Addison-W)m(esley)m(,)13 b(1978.)-42 1515 y([11])20 b Fa(Hennessy,)15 b(J.)e(L.,)i(and)f(Mendelsohn,)i(N.)f Fr(Compilation)8 b(of)j(the)h(Pascal)g(case)g(statemen)o(t.)i Fi(Softwar)n(e{Pr)n(actic)n(e)44 1565 y(and)h(Exp)n(erienc)n(e)h(12)p Fr(,)d(9)h(\(Septem)o(b)q(er)h(1982\),)d(879{882.)-42 1648 y([12])20 b Fa(Horspool,)c(R.)g(N.,)f(and)g(Whitney,)h(M.)h Fr(Ev)o(en)d(faster)g(LR)e(parsing.)k Fi(Softwar)n(e{Pr)n(actic)n(e)d (and)i(Exp)n(erienc)n(e)g(20)p Fr(,)44 1697 y(6)e(\(1990\),)g(515{535.) -42 1780 y([13])20 b Fa(Ja)o(cobson,)d(V.)i Fr(T)m(uning)14 b(UNIX)g(Lex)h(or)f(it's)f(NOT)i(true)g(what)f(they)h(sa)o(y)f(ab)q (out)g(Lex.)19 b(In)14 b Fi(USENIX)i(Confer)n(enc)n(e)44 1830 y(Pr)n(o)n(c)n(e)n(e)n(dings)h Fr(\(W)m(ashington,)12 b(DC,)h(Win)o(ter)h(1987\),)f(pp.)g(163{164.)j(Abstract)f(only)m(.)-42 1913 y([14])20 b Fa(Kernighan,)h(B.)e(W.,)h(and)g(Ritchie,)f(D.)h(M.)28 b Fi(The)18 b(C)f(Pr)n(o)n(gr)n(amming)g(L)n(anguage,)i(2nd)g(Ed.)28 b Fr(Pren)o(tice-Hall,)44 1963 y(Inc.,)13 b(1988.)-42 2046 y([15])20 b Fa(Lesk,)25 b(M.)e(E.)38 b Fr(LEX)20 b({)g(a)g(lexical)g(analyzer)g(generator.)38 b(Computing)18 b(Science)k(T)m(ec)o(hnical)e(Rep)q(ort)h(39,)g(Bell)44 2096 y(T)m(elephone)14 b(Lab)q(oratories,)g(Murra)o(y)g(Hill,)e(NJ,)h (1975.)-42 2179 y([16])20 b Fa(P)l(axson,)e(V.)h Fr(\015ex)14 b({)g(man)e(pages,)i(1988.)j(In)d Ff(\015ex-2.3.7.ta)o(r.Z)p Fr(.)e(Av)n(ailable)g(for)i(anon)o(ymous)e(ftp)i(from)e Ff(ftp.uu.net)j Fr(in)44 2229 y Ff(/pack)o(ages/gnu)p Fr(.)-42 2312 y([17])20 b Fa(Pennello,)k(T.)d(J.)33 b Fr(V)m(ery)19 b(fast)g(LR)f(parsing.)33 b(In)19 b Fi(Pr)n(o)n(c)n(e)n (e)n(dings)g(of)g(the)h(A)o(CM)f(SIGPLAN'86)h(Symp)n(osium)g(on)44 2362 y(Compiler)14 b(Construction)j Fr(\(July)c(1986\),)g(A)o(CM.)-42 2445 y([18])20 b Fa(Sale,)g(A.)25 b Fr(The)17 b(implemen)o(tatio)o(n)c (of)j(case)h(statemen)o(ts)g(in)e(Pascal.)25 b Fi(Softwar)n(e{Pr)n (actic)n(e)16 b(and)i(Exp)n(erienc)n(e)f(11)p Fr(,)g(9)44 2494 y(\(Septem)o(b)q(er)d(1981\),)f(929{942.)913 2748 y(16)p eop %%Trailer end userdict /end-hook known{end-hook}if %%EOF re2c-0.13.5/doc/sample.bib0000664000076500007660000000462611016275320012102 00000000000000@Article{Bumbulis94, author = {Peter Bumbulis and Donald D. Cowan}, title = {RE2C -- A More Versatile Scanner Generator}, journal = "ACM Letters on Programming Languages and Systems", volume = 2, number = "1--4", year = 1994, abstract = { It is usually claimed that lexical analysis routines are still coded by hand, despite the widespread availability of scanner generators, for efficiency reasons. While efficiency is a consideration, there exist freely available scanner generators such as GLA \cite{Gray88} that can generate scanners that are faster than most hand-coded ones. However, most generated scanners are tailored for a particular environment, and retargetting these scanners to other environments, if possible, is usually complex enough to make a hand-coded scanner more appealing. In this paper we describe RE2C, a scanner generator that not only generates scanners which are faster (and usually smaller) than those produced by any other scanner generator known to the authors, including GLA, but also adapt easily to any environment. } } @Article{Gray88, author = {Robert W. Gray}, title = {{$\gamma$-GLA} - {A} Generator for Lexical Analyzers That Programmers Can Use}, journal = {USENIX Conference Proceedings}, year = {1988}, month = {June}, pages = {147-160}, abstract = {Writing an efficient lexical analyzer for even a simple language is not a trivial task, and should not be done by hand. We describe GLA, a tool that generates very efficient scanners. These scanners do not use the conventional transition matrix, but instead use a few 128 element vectors. Scanning time is only slightly greater than the absolute minimum --- the time it takes to look at each character in a file. The GLA language allows simple, concise specification of scanners. Augmenting regular expressions with auxiliary scanners easily handles nasty problems such as C comments and C literal constants. We formalize the connection between token scanning and token processing by associating a processor with appropriate patterns. A library of canned descriptions simplifies the specification of commonly used language pieces --- such as, C\_IDENTIFIERS, C\_STRINGS, PASCAL\_COMMENTS, etc. Finally, carefully tuned lexical analysis support modules are provided for error handling, input buffering, storing identifiers in hash tables and manipulating denotations.} } re2c-0.13.5/examples/0002777000076500007660000000000011016277101011267 500000000000000re2c-0.13.5/examples/rexx/0002777000076500007660000000000011016277101012255 500000000000000re2c-0.13.5/examples/rexx/rexx.l0000664000076500007660000001256311016275332013347 00000000000000#include "scanio.h" #include "scanner.h" #define CURSOR ch #define LOADCURSOR ch = *cursor; #define ADVANCE cursor++; #define BACK(n) cursor -= (n); #define CHECK(n) if((ScanCB.lim - cursor) < (n)){cursor = ScanFill(cursor);} #define MARK(n) ScanCB.ptr = cursor; sel = (n); #define REVERT cursor = ScanCB.ptr; #define MARKER sel #define RETURN(i) {ScanCB.cur = cursor; return i;} int ScanToken(){ uchar *cursor = ScanCB.cur; unsigned sel; uchar ch; ScanCB.tok = cursor; ScanCB.eot = NULL; /*!re2c all = [\000-\377]; eof = [\000]; any = all\eof; letter = [a-z]|[A-Z]; digit = [0-9]; symchr = letter|digit|[.!?_]; const = (digit|[.])symchr*([eE][+-]?digit+)?; simple = (symchr\(digit|[.]))(symchr\[.])*; stem = simple [.]; symbol = symchr*; sqstr = ['] ((any\['\n])|(['][']))* [']; dqstr = ["] ((any\["\n])|(["]["]))* ["]; str = sqstr|dqstr; ob = [ \t]*; not = [\\~]; A = [aA]; B = [bB]; C = [cC]; D = [dD]; E = [eE]; F = [fF]; G = [gG]; H = [hH]; I = [iI]; J = [jJ]; K = [kK]; L = [lL]; M = [mM]; N = [nN]; O = [oO]; P = [pP]; Q = [qQ]; R = [rR]; S = [sS]; T = [tT]; U = [uU]; V = [vV]; W = [wW]; X = [xX]; Y = [yY]; Z = [zZ]; */ scan: /*!re2c "\n" { ++(ScanCB.lineNum); ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk); RETURN(SU_EOL); } "|" ob "|" { RETURN(OP_CONCAT); } "+" { RETURN(OP_PLUS); } "-" { RETURN(OP_MINUS); } "*" { RETURN(OP_MULT); } "/" { RETURN(OP_DIV); } "%" { RETURN(OP_IDIV); } "/" ob "/" { RETURN(OP_REMAIN); } "*" ob "*" { RETURN(OP_POWER); } "=" { RETURN(OP_EQUAL); } not ob "=" | "<" ob ">" | ">" ob "<" { RETURN(OP_EQUAL_N); } ">" { RETURN(OP_GT); } "<" { RETURN(OP_LT); } ">" ob "=" | not ob "<" { RETURN(OP_GE); } "<" ob "=" | not ob ">" { RETURN(OP_LE); } "=" ob "=" { RETURN(OP_EQUAL_EQ); } not ob "=" ob "=" { RETURN(OP_EQUAL_EQ_N); } ">" ob ">" { RETURN(OP_GT_STRICT); } "<" ob "<" { RETURN(OP_LT_STRICT); } ">" ob ">" ob "=" | not ob "<" ob "<" { RETURN(OP_GE_STRICT); } "<" ob "<" ob "=" | not ob ">" ob ">" { RETURN(OP_LE_STRICT); } "&" { RETURN(OP_AND); } "|" { RETURN(OP_OR); } "&" ob "&" { RETURN(OP_XOR); } not { RETURN(OP_NOT); } ":" { RETURN(SU_COLON); } "," { RETURN(SU_COMMA); } "(" { RETURN(SU_POPEN); } ")" { RETURN(SU_PCLOSE); } ";" { RETURN(SU_EOC); } A D D R E S S { RETURN(RX_ADDRESS); } A R G { RETURN(RX_ARG); } C A L L { RETURN(RX_CALL); } D O { RETURN(RX_DO); } D R O P { RETURN(RX_DROP); } E L S E { RETURN(RX_ELSE); } E N D { RETURN(RX_END); } E X I T { RETURN(RX_EXIT); } I F { RETURN(RX_IF); } I N T E R P R E T { RETURN(RX_INTERPRET); } I T E R A T E { RETURN(RX_ITERATE); } L E A V E { RETURN(RX_LEAVE); } N O P { RETURN(RX_NOP); } N U M E R I C { RETURN(RX_NUMERIC); } O P T I O N S { RETURN(RX_OPTIONS); } O T H E R W I S E { RETURN(RX_OTHERWISE); } P A R S E { RETURN(RX_PARSE); } P R O C E D U R E { RETURN(RX_PROCEDURE); } P U L L { RETURN(RX_PULL); } P U S H { RETURN(RX_PUSH); } Q U E U E { RETURN(RX_QUEUE); } R E T U R N { RETURN(RX_RETURN); } S A Y { RETURN(RX_SAY); } S E L E C T { RETURN(RX_SELECT); } S I G N A L { RETURN(RX_SIGNAL); } T H E N { RETURN(RX_THEN); } T R A C E { RETURN(RX_TRACE); } W H E N { RETURN(RX_WHEN); } O F F { RETURN(RXS_OFF); } O N { RETURN(RXS_ON); } B Y { RETURN(RXS_BY); } D I G I T S { RETURN(RXS_DIGITS); } E N G I N E E R I N G { RETURN(RXS_ENGINEERING); } E R R O R { RETURN(RXS_ERROR); } E X P O S E { RETURN(RXS_EXPOSE); } F A I L U R E { RETURN(RXS_FAILURE); } F O R { RETURN(RXS_FOR); } F O R E V E R { RETURN(RXS_FOREVER); } F O R M { RETURN(RXS_FORM); } F U Z Z { RETURN(RXS_FUZZ); } H A L T { RETURN(RXS_HALT); } L I N E I N { RETURN(RXS_LINEIN); } N A M E { RETURN(RXS_NAME); } N O T R E A D Y { RETURN(RXS_NOTREADY); } N O V A L U E { RETURN(RXS_NOVALUE); } S C I E N T I F I C { RETURN(RXS_SCIENTIFIC); } S O U R C E { RETURN(RXS_SOURCE); } S Y N T A X { RETURN(RXS_SYNTAX); } T O { RETURN(RXS_TO); } U N T I L { RETURN(RXS_UNTIL); } U P P E R { RETURN(RXS_UPPER); } V A L U E { RETURN(RXS_VALUE); } V A R { RETURN(RXS_VAR); } V E R S I O N { RETURN(RXS_VERSION); } W H I L E { RETURN(RXS_WHILE); } W I T H { RETURN(RXS_WITH); } const { RETURN(SU_CONST); } simple { RETURN(SU_SYMBOL); } stem { RETURN(SU_SYMBOL_STEM); } symbol { RETURN(SU_SYMBOL_COMPOUND); } str { RETURN(SU_LITERAL); } str [bB] / (all\symchr) { RETURN(SU_LITERAL_BIN); } str [xX] / (all\symchr) { RETURN(SU_LITERAL_HEX); } eof { RETURN(SU_EOF); } any { RETURN(SU_ERROR); } */ } bool StripToken(){ uchar *cursor = ScanCB.cur; unsigned depth; uchar ch; bool blanks = FALSE; ScanCB.eot = cursor; strip: /*!re2c "/*" { depth = 1; goto comment; } "\r" { goto strip; } [ \t] { blanks = TRUE; goto strip; } [] / all { RETURN(blanks); } */ comment: /*!re2c "*/" { if(--depth == 0) goto strip; else goto comment; } "\n" { ++(ScanCB.lineNum); ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk); goto comment; } "/*" { ++depth; goto comment; } eof { RETURN(blanks); } any { goto comment; } */ } re2c-0.13.5/examples/rexx/README0000664000076500007660000000010711016275332013053 00000000000000Replacement modules for an existing REXX interpreter. Not standalone. re2c-0.13.5/examples/rexx/scanio.c0000664000076500007660000000234211016275332013616 00000000000000uchar *ScanFill(uchar *cursor){ unsigned cnt = s->tok - s->bot; s->pos += cursor - s->mrk; if(cnt){ if(s->eot){ unsigned len = s->eot - s->tok; memcpy(s->bot, s->tok, len); s->eot = &s->bot[len]; if((len = s->lim - cursor) != 0) memcpy(s->eot, cursor, len); cursor = s->eot; s->lim = &cursor[len]; } else { memcpy(s->bot, s->tok, s->lim - s->tok); cursor -= cnt; s->lim -= cnt; } s->tok = s->bot; s->ptr -= cnt; } if((s->top - s->lim) < 512){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + 512)*sizeof(uchar)); memcpy(buf, s->bot, s->lim - s->bot); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; if(s->eot) s->eot = &buf[s->eot - s->bot]; cursor = &buf[cursor - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[512]; free(s->bot); s->bot = buf; } s->mrk = cursor; if(ScanCBIO.file){ if((cnt = read(ScanCBIO.u.f.fd, (char*) s->lim, 512)) != 512) memset(&s->lim[cnt], 0, 512 - cnt); s->lim += 512; } return cursor; } re2c-0.13.5/examples/cunroll.re0000664000076500007660000001174311016275332013223 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; I = L|D; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); X = any\[*/]; */ /*!re2c "/*" { goto comment; } L { RET(ID); } L I { RET(ID); } L I I { RET(ID); } L I I I { RET(ID); } L I I I I { RET(ID); } L I I I I I { RET(ID); } L I I I I I I { RET(ID); } L I I I I I I I { RET(ID); } L I* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } X { goto comment; } X X { goto comment; } X X X { goto comment; } X X X X { goto comment; } X X X X X { goto comment; } X X X X X X { goto comment; } X X X X X X X { goto comment; } X X X X X X X X { goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/examples/cmmap.re0000664000076500007660000001224611016275332012641 00000000000000#include #include #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int unint; typedef unsigned char uchar; #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { uchar *tok, *ptr, *cur, *pos, *lim, *eof; unint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unint cnt = s->lim - s->tok; uchar *buf = malloc((cnt + 1)*sizeof(uchar)); memcpy(buf, s->tok, cnt); cursor = &buf[cursor - s->tok]; s->pos = &buf[s->pos - s->tok]; s->ptr = &buf[s->ptr - s->tok]; s->lim = &buf[cnt]; s->eof = s->lim; *(s->eof)++ = '\n'; s->tok = buf; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } #ifndef MAP_NORESERVE #define MAP_NORESERVE 0 #endif main(){ Scanner in; struct stat statbuf; uchar *buf; fstat(0, &statbuf); buf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED|MAP_NORESERVE, 0, 0); if(buf != (uchar*)(-1)){ int t; in.lim = &(in.cur = buf)[statbuf.st_size]; in.pos = NULL; in.eof = NULL; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } munmap(buf, statbuf.st_size); } } re2c-0.13.5/examples/basemmap.c0000664000076500007660000000076311016275332013146 00000000000000#include #include #include #include #include #ifndef MAP_NORESERVE #define MAP_NORESERVE 0 #endif volatile char ch; main(){ struct stat statbuf; uchar *buf; fstat(0, &statbuf); buf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED|MAP_NORESERVE, 0, 0); if(buf != (uchar*)(-1)){ uchar *cur, *lim = &buf[statbuf.st_size]; for(cur = buf; buf != lim; ++cur){ ch = *cur; } munmap(buf, statbuf.st_size); } } re2c-0.13.5/examples/pp-c.re0000775000076500007660000001360611016275332012407 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 #define PP_INCLUDE 500 #define PP_LINE 501 #define PP_DEFINE 502 #define PP_UNDEF 503 #define PP_IF 504 #define PP_IFDEF 505 #define PP_IFNDEF 506 #define PP_ELSE 507 #define PP_ELIF 508 #define PP_ENDIF 509 #define PP_ERROR 510 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 12 //8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); PP = "#" [ \t]*; */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } PP "include" { RET(PP_INCLUDE); } PP "line" { RET(PP_LINE); } PP "define" { RET(PP_DEFINE); } PP "undef" { RET(PP_UNDEF); } PP "if" { RET(PP_IF); } PP "ifdef" { RET(PP_IFDEF); } PP "ifndef" { RET(PP_IFNDEF); } PP "else" { RET(PP_ELSE); } PP "elif" { RET(PP_ELIF); } PP "endif" { RET(PP_ENDIF); } PP "error" { RET(PP_ERROR); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); } close(in.fd); } re2c-0.13.5/examples/push.re0000664000076500007660000002243511016275332012524 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize #include #include typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL {cursor = fill(s, cursor);} #define RETURN(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; uint depth; std: s->tok = cursor; /*!re2c any = [\000-\377]; digit = [0-9]; letter = [a-zA-Z]; */ /*!re2c "(*" { depth = 1; goto comment; } digit + {RETURN(1);} digit + / ".." {RETURN(1);} [0-7] + "B" {RETURN(2);} [0-7] + "C" {RETURN(3);} digit [0-9A-F] * "H" {RETURN(4);} digit + "." digit * ("E" ([+-]) ? digit +) ? {RETURN(5);} ['] (any\[\n']) * ['] | ["] (any\[\n"]) * ["] {RETURN(6);} "#" {RETURN(7);} "&" {RETURN(8);} "(" {RETURN(9);} ")" {RETURN(10);} "*" {RETURN(11);} "+" {RETURN(12);} "," {RETURN(13);} "-" {RETURN(14);} "." {RETURN(15);} ".." {RETURN(16);} "/" {RETURN(17);} ":" {RETURN(18);} ":=" {RETURN(19);} ";" {RETURN(20);} "<" {RETURN(21);} "<=" {RETURN(22);} "<>" {RETURN(23);} "=" {RETURN(24);} ">" {RETURN(25);} ">=" {RETURN(26);} "[" {RETURN(27);} "]" {RETURN(28);} "^" {RETURN(29);} "{" {RETURN(30);} "|" {RETURN(31);} "}" {RETURN(32);} "~" {RETURN(33);} "AND" {RETURN(34);} "ARRAY" {RETURN(35);} "BEGIN" {RETURN(36);} "BY" {RETURN(37);} "CASE" {RETURN(38);} "CONST" {RETURN(39);} "DEFINITION" {RETURN(40);} "DIV" {RETURN(41);} "DO" {RETURN(42);} "ELSE" {RETURN(43);} "ELSIF" {RETURN(44);} "END" {RETURN(45);} "EXIT" {RETURN(46);} "EXPORT" {RETURN(47);} "FOR" {RETURN(48);} "FROM" {RETURN(49);} "IF" {RETURN(50);} "IMPLEMENTATION" {RETURN(51);} "IMPORT" {RETURN(52);} "IN" {RETURN(53);} "LOOP" {RETURN(54);} "MOD" {RETURN(55);} "MODULE" {RETURN(56);} "NOT" {RETURN(57);} "OF" {RETURN(58);} "OR" {RETURN(59);} "POINTER" {RETURN(60);} "PROCEDURE" {RETURN(61);} "QUALIFIED" {RETURN(62);} "RECORD" {RETURN(63);} "REPEAT" {RETURN(64);} "RETURN" {RETURN(65);} "SET" {RETURN(66);} "THEN" {RETURN(67);} "TO" {RETURN(68);} "TYPE" {RETURN(69);} "UNTIL" {RETURN(70);} "VAR" {RETURN(71);} "WHILE" {RETURN(72);} "WITH" {RETURN(73);} letter (letter | digit) * {RETURN(74);} [ \t]+ { goto std; } "\n" { if(cursor == s->eof) RETURN(0); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*)" { if(--depth == 0) goto std; else goto comment; } "(*" { ++depth; goto comment; } "\n" { if(cursor == s->eof) RETURN(0); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } /* void putStr(FILE *o, char *s, uint l){ while(l-- > 0) putc(*s++, o); } */ main(){ Scanner in; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while(scan(&in)){ /* putc('<', stdout); putStr(stdout, (char*) in.tok, in.cur - in.tok); putc('>', stdout); putc('\n', stdout); */ } } re2c-0.13.5/examples/cnokw.re0000664000076500007660000001074511016275332012667 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/examples/sample.re0000664000076500007660000000021311016275332013014 00000000000000/*!re2c "print" {return PRINT;} [a-z]+ {return ID;} [0-9]+ {return DEC;} "0x" [0-9a-f]+ {return HEX;} [\000-\377] {return ERR;} */ re2c-0.13.5/examples/c.re0000664000076500007660000001244311016275332011765 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/examples/repeater.re0000775000076500007660000000137311016275332013355 00000000000000#include #include #include #define RET(n) printf("%d\n", n); return n int scan(char *s, int l){ char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c 'a'{1}"\n" {RET(1);} 'a'{2,3}"\n" {RET(2);} 'a'{6}"\n" {RET(4);} 'a'{4,}"\n" {RET(3);} [^aq]|"\n" {RET(0);} */ } #define do_scan(str) scan(str, strlen(str)) main() { do_scan("a\n"); do_scan("aa\n"); do_scan("aaa\n"); do_scan("aaaa\n"); do_scan("q"); do_scan("a"); do_scan("A\n"); do_scan("AA\n"); do_scan("aAa\n"); do_scan("AaaA\n"); do_scan("Q"); do_scan("AaaAa\n"); do_scan("AaaAaA\n"); do_scan("A"); do_scan("\n"); do_scan("0"); } re2c-0.13.5/examples/simple.re0000664000076500007660000000033611016275332013032 00000000000000#define NULL ((char*) 0) char *scan(char *p){ char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) /*!re2c [0-9]+ {return YYCURSOR;} [\000-\377] {return NULL;} */ } re2c-0.13.5/test/0002777000076500007660000000000011016277101010430 500000000000000re2c-0.13.5/test/error4.c0000775000076500007660000000014711016275331011735 00000000000000re2c: error: line 2, column 5: Illegal hexadecimal character code, two hexadecimal digits are required re2c-0.13.5/test/c.re0000664000076500007660000001244311016275331011125 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/bug1472770.f.re0000775000076500007660000000131411016275331012456 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) YYCTYPE yych; int yySavedState; #define YYGETSTATE() yySavedState #define YYSETSTATE(n) yySavedState = n; #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: /*!re2c [^\n\000]* '\n' { ++n; goto start; } [^\n\000]* '\000' { return n; } */ } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/cvsignore.c0000775000076500007660000001250511016275331012520 00000000000000/* Generated by re2c */ #line 1 "cvsignore.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch (yych) { case '$': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 66 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy44; default: goto yy6; } yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy32; default: goto yy6; } yy8: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy25; default: goto yy6; } yy9: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy19; default: goto yy6; } yy10: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy11; default: goto yy6; } yy11: yych = *++YYCURSOR; switch (yych) { case 't': goto yy12; default: goto yy6; } yy12: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy13; default: goto yy6; } yy13: yych = *++YYCURSOR; switch (yych) { case '$': goto yy15; case ':': goto yy14; default: goto yy6; } yy14: yych = *++YYCURSOR; switch (yych) { case '$': goto yy6; default: goto yy18; } yy15: ++YYCURSOR; #line 48 "cvsignore.re" { APPEND(L"$" L"Date$"); goto loop; } #line 132 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: switch (yych) { case '\n': goto yy6; case '$': goto yy15; default: goto yy17; } yy19: yych = *++YYCURSOR; switch (yych) { case '$': goto yy21; case ':': goto yy20; default: goto yy6; } yy20: yych = *++YYCURSOR; switch (yych) { case '$': goto yy6; default: goto yy24; } yy21: ++YYCURSOR; #line 49 "cvsignore.re" { APPEND(L"$" L"Id$"); goto loop; } #line 160 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: switch (yych) { case '\n': goto yy6; case '$': goto yy21; default: goto yy23; } yy25: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy26; default: goto yy6; } yy26: yych = *++YYCURSOR; switch (yych) { case '$': goto yy28; case ':': goto yy27; default: goto yy6; } yy27: yych = *++YYCURSOR; switch (yych) { case '$': goto yy6; default: goto yy31; } yy28: ++YYCURSOR; #line 50 "cvsignore.re" { APPEND(L"$" L"Log$"); goto loop; } #line 194 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: switch (yych) { case '\n': goto yy6; case '$': goto yy28; default: goto yy30; } yy32: yych = *++YYCURSOR; switch (yych) { case 'v': goto yy33; default: goto yy6; } yy33: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy34; default: goto yy6; } yy34: yych = *++YYCURSOR; switch (yych) { case 's': goto yy35; default: goto yy6; } yy35: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy36; default: goto yy6; } yy36: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy37; default: goto yy6; } yy37: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy38; default: goto yy6; } yy38: yych = *++YYCURSOR; switch (yych) { case '$': goto yy40; case ':': goto yy39; default: goto yy6; } yy39: yych = *++YYCURSOR; switch (yych) { case '$': goto yy6; default: goto yy43; } yy40: ++YYCURSOR; #line 51 "cvsignore.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 258 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: switch (yych) { case '\n': goto yy6; case '$': goto yy40; default: goto yy42; } yy44: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy45; default: goto yy6; } yy45: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy46; default: goto yy6; } yy46: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy47; default: goto yy6; } yy47: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy48; default: goto yy6; } yy48: yych = *++YYCURSOR; switch (yych) { case '$': goto yy50; case ':': goto yy49; default: goto yy6; } yy49: yych = *++YYCURSOR; switch (yych) { case '$': goto yy6; default: goto yy53; } yy50: ++YYCURSOR; #line 52 "cvsignore.re" { APPEND(L"$" L"Source$"); goto loop; } #line 310 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: switch (yych) { case '\n': goto yy6; case '$': goto yy50; default: goto yy52; } } #line 55 "cvsignore.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/ctx.s.c0000775000076500007660000000454611016275331011566 00000000000000/* Generated by re2c */ #line 1 "ctx.s.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 50 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\t') { if (yych <= 0x08) goto yy9; goto yy6; } else { if (yych <= '\n') goto yy8; if (yych <= 0x1F) goto yy9; goto yy6; } } else { if (yych <= '9') { if (yych <= '/') goto yy9; goto yy4; } else { if (yych <= '`') goto yy9; if (yych >= 'c') goto yy9; } } YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy3; if (yych == '1') goto yy15; if (yych <= '9') goto yy12; yy3: #line 60 "ctx.s.re" { return UNEXPECTED; } #line 84 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy11; yy5: #line 50 "ctx.s.re" { return NUMBER; } #line 92 "" yy6: ++YYCURSOR; yy7: #line 53 "ctx.s.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 103 "" yy8: yych = *++YYCURSOR; goto yy7; yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy11: if (yych <= '/') goto yy5; if (yych <= '9') goto yy10; goto yy5; yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy14; if (yych <= '9') goto yy12; yy14: YYCURSOR = YYCTXMARKER; #line 49 "ctx.s.re" { return KEYWORD; } #line 128 "" yy15: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy16; if (yych <= '9') goto yy12; yy16: YYCURSOR = YYCTXMARKER; #line 48 "ctx.s.re" { return KEYWORD; } #line 137 "" } #line 63 "ctx.s.re" } #define YYMAXFILL 3 int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/input11.s.c0000775000076500007660000000430011016275331012255 00000000000000/* Generated by re2c */ #line 1 "input11.s.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy7; goto yy10; } else { if (yych <= '0') goto yy5; if (yych <= '9') goto yy9; goto yy10; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy4; if (yych <= '`') goto yy10; goto yy4; } else { if (yych <= 'r') goto yy2; if (yych <= 'z') goto yy4; goto yy10; } } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) == 'e') goto yy15; goto yy14; yy3: #line 10 "input11.s.re" { return 1; } #line 38 "" yy4: yych = *++YYCURSOR; goto yy14; yy5: ++YYCURSOR; yy6: #line 11 "input11.s.re" { return 2; } #line 47 "" yy7: ++YYCURSOR; if ((yych = *YYCURSOR) <= '0') goto yy8; if (yych <= '9') goto yy11; yy8: #line 13 "input11.s.re" { return -1; } #line 55 "" yy9: yych = *++YYCURSOR; goto yy12; yy10: yych = *++YYCURSOR; goto yy8; yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy12: if (yych <= '/') goto yy6; if (yych <= '9') goto yy11; goto yy6; yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: if (yych <= '@') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy13; goto yy3; } else { if (yych <= 'Z') goto yy13; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy13; goto yy3; } yy15: yych = *++YYCURSOR; if (yych != '2') goto yy14; yych = *++YYCURSOR; if (yych != 'c') goto yy14; yych = *(YYMARKER = ++YYCURSOR); if (yych != ':') goto yy14; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy19; if (yych <= 'Z') goto yy20; } else { if (yych == '`') goto yy19; if (yych <= 'z') goto yy20; } yy19: YYCURSOR = YYMARKER; goto yy3; yy20: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '/') goto yy22; if (yych <= ':') goto yy20; if (yych >= 'A') goto yy20; } else { if (yych <= '_') { if (yych >= '_') goto yy20; } else { if (yych <= '`') goto yy22; if (yych <= 'z') goto yy20; } } yy22: #line 9 "input11.s.re" { return 0; } #line 122 "" } #line 15 "input11.s.re" re2c-0.13.5/test/ctx.b.re0000775000076500007660000000202211016275331011714 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } /*!max:re2c */ int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/config4c.f.re0000775000076500007660000000043011016275331012617 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:startlabel = "start"; re2c:state:abort = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/error6.re0000775000076500007660000000002611016275331012117 00000000000000/*!re2c [\X123] {} */ re2c-0.13.5/test/push.f.c0000775000076500007660000004653311016275331011734 00000000000000/* Generated by re2c */ #line 1 "push.f.re" /* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case 0x00: goto yy32; case '\t': case '\v': case '\f': case '\r': case ' ': goto yy30; case '\n': goto yy28; case '(': goto yy16; case ')': goto yy18; case '*': goto yy24; case '+': goto yy22; case '-': goto yy20; case '/': goto yy26; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy12; case '=': goto yy14; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'c': case 'd': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'x': case 'y': case 'z': goto yy10; case 'b': goto yy7; case 'e': goto yy5; case 'f': goto yy4; case 'g': goto yy6; case 'h': goto yy11; case 'i': goto yy2; case 'r': goto yy9; case 'w': goto yy8; default: goto yy34; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'f': goto yy67; default: goto yy39; } yy3: #line 246 "push.f.re" { SEND(kIdentifier); } #line 335 "" yy4: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy64; default: goto yy39; } yy5: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy60; default: goto yy39; } yy6: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy56; default: goto yy39; } yy7: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy51; default: goto yy39; } yy8: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy46; default: goto yy39; } yy9: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy40; default: goto yy39; } yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 247 "push.f.re" { SEND(kDecimalConstant);} #line 385 "" yy14: ++YYCURSOR; #line 249 "push.f.re" { SEND(kEqual); } #line 390 "" yy16: ++YYCURSOR; #line 250 "push.f.re" { SEND(kLeftParen); } #line 395 "" yy18: ++YYCURSOR; #line 251 "push.f.re" { SEND(kRightParen); } #line 400 "" yy20: ++YYCURSOR; #line 252 "push.f.re" { SEND(kMinus); } #line 405 "" yy22: ++YYCURSOR; #line 253 "push.f.re" { SEND(kPlus); } #line 410 "" yy24: ++YYCURSOR; #line 254 "push.f.re" { SEND(kStar); } #line 415 "" yy26: ++YYCURSOR; #line 255 "push.f.re" { SEND(kSlash); } #line 420 "" yy28: ++YYCURSOR; #line 257 "push.f.re" { SKIP(); } #line 425 "" yy30: ++YYCURSOR; #line 258 "push.f.re" { SKIP(); } #line 430 "" yy32: ++YYCURSOR; #line 259 "push.f.re" { send(kEOF); return 1; } #line 435 "" yy34: ++YYCURSOR; #line 260 "push.f.re" { SEND(kUnknown); } #line 440 "" yy36: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy37: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy36; default: goto yy13; } yy38: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy39: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy3; } yy40: yych = *++YYCURSOR; switch (yych) { case 't': goto yy41; default: goto yy39; } yy41: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy42; default: goto yy39; } yy42: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy43; default: goto yy39; } yy43: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy44; default: goto yy39; } yy44: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy45; } yy45: #line 245 "push.f.re" { SEND(kReturn); } #line 629 "" yy46: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy47; default: goto yy39; } yy47: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy48; default: goto yy39; } yy48: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy49; default: goto yy39; } yy49: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy50; } yy50: #line 244 "push.f.re" { SEND(kWhile); } #line 719 "" yy51: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy52; default: goto yy39; } yy52: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy53; default: goto yy39; } yy53: yych = *++YYCURSOR; switch (yych) { case 'k': goto yy54; default: goto yy39; } yy54: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy55; } yy55: #line 243 "push.f.re" { SEND(kBreak); } #line 809 "" yy56: yych = *++YYCURSOR; switch (yych) { case 't': goto yy57; default: goto yy39; } yy57: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy58; default: goto yy39; } yy58: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy59; } yy59: #line 242 "push.f.re" { SEND(kGoto); } #line 893 "" yy60: yych = *++YYCURSOR; switch (yych) { case 's': goto yy61; default: goto yy39; } yy61: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy62; default: goto yy39; } yy62: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy63; } yy63: #line 241 "push.f.re" { SEND(kElse); } #line 977 "" yy64: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy65; default: goto yy39; } yy65: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy66; } yy66: #line 240 "push.f.re" { SEND(kFor); } #line 1055 "" yy67: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy68; } yy68: #line 239 "push.f.re" { SEND(kIf); } #line 1127 "" #line 261 "push.f.re" fill: ssize_t unfinishedSize = cursor-start; printf( "scanner needs a refill. Exiting for now with:\n" " saved fill state = %d\n" " unfinished token size = %d\n", state, unfinishedSize ); if(0 #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof) { uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; #line 133 "c.re" #line 130 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy73; case '\n': goto yy75; case '!': goto yy49; case '"': goto yy28; case '%': goto yy39; case '&': goto yy41; case '\'': goto yy24; case '(': goto yy61; case ')': goto yy63; case '*': goto yy37; case '+': goto yy33; case ',': goto yy57; case '-': goto yy35; case '.': goto yy26; case '/': goto yy2; case '0': goto yy21; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy23; case ':': goto yy59; case ';': goto yy51; case '<': goto yy31; case '=': goto yy47; case '>': goto yy29; case '?': goto yy71; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'h': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'x': case 'y': case 'z': goto yy20; case '[': goto yy65; case ']': goto yy67; case '^': goto yy43; case 'a': goto yy4; case 'b': goto yy6; case 'c': goto yy7; case 'd': goto yy8; case 'e': goto yy9; case 'f': goto yy10; case 'g': goto yy11; case 'i': goto yy12; case 'l': goto yy13; case 'r': goto yy14; case 's': goto yy15; case 't': goto yy16; case 'u': goto yy17; case 'v': goto yy18; case 'w': goto yy19; case '{': goto yy53; case '|': goto yy45; case '}': goto yy55; case '~': goto yy69; default: goto yy77; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy341; case '=': goto yy339; default: goto yy3; } yy3: #line 222 "c.re" { RET('/'); } #line 244 "" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'u': goto yy335; default: goto yy180; } yy5: #line 171 "c.re" { RET(ID); } #line 254 "" yy6: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy330; default: goto yy180; } yy7: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy311; case 'h': goto yy312; case 'o': goto yy313; default: goto yy180; } yy8: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy297; case 'o': goto yy298; default: goto yy180; } yy9: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy283; case 'n': goto yy284; case 'x': goto yy285; default: goto yy180; } yy10: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy275; case 'o': goto yy276; default: goto yy180; } yy11: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy271; default: goto yy180; } yy12: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy266; case 'n': goto yy268; default: goto yy180; } yy13: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy262; default: goto yy180; } yy14: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy249; default: goto yy180; } yy15: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy216; case 'i': goto yy217; case 't': goto yy218; case 'w': goto yy219; default: goto yy180; } yy16: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy209; default: goto yy180; } yy17: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy197; default: goto yy180; } yy18: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy186; default: goto yy180; } yy19: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy181; default: goto yy180; } yy20: yych = *++YYCURSOR; goto yy180; yy21: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; case 'X': case 'x': goto yy172; default: goto yy171; } yy22: #line 175 "c.re" { RET(ICON); } #line 367 "" yy23: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy153; yy24: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy25; default: goto yy143; } yy25: #line 241 "c.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 385 "" yy26: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy131; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; default: goto yy27; } yy27: #line 215 "c.re" { RET('.'); } #line 406 "" yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy25; default: goto yy121; } yy29: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy114; case '>': goto yy116; default: goto yy30; } yy30: #line 225 "c.re" { RET('>'); } #line 424 "" yy31: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '<': goto yy110; case '=': goto yy108; default: goto yy32; } yy32: #line 224 "c.re" { RET('<'); } #line 435 "" yy33: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '+': goto yy104; case '=': goto yy106; default: goto yy34; } yy34: #line 220 "c.re" { RET('+'); } #line 446 "" yy35: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '-': goto yy100; case '=': goto yy102; case '>': goto yy98; default: goto yy36; } yy36: #line 219 "c.re" { RET('-'); } #line 458 "" yy37: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy96; default: goto yy38; } yy38: #line 221 "c.re" { RET('*'); } #line 468 "" yy39: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy94; default: goto yy40; } yy40: #line 223 "c.re" { RET('%'); } #line 478 "" yy41: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '&': goto yy90; case '=': goto yy92; default: goto yy42; } yy42: #line 216 "c.re" { RET('&'); } #line 489 "" yy43: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy88; default: goto yy44; } yy44: #line 226 "c.re" { RET('^'); } #line 499 "" yy45: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy86; case '|': goto yy84; default: goto yy46; } yy46: #line 227 "c.re" { RET('|'); } #line 510 "" yy47: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy82; default: goto yy48; } yy48: #line 210 "c.re" { RET('='); } #line 520 "" yy49: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy80; default: goto yy50; } yy50: #line 217 "c.re" { RET('!'); } #line 530 "" yy51: ++YYCURSOR; #line 205 "c.re" { RET(';'); } #line 535 "" yy53: ++YYCURSOR; #line 206 "c.re" { RET('{'); } #line 540 "" yy55: ++YYCURSOR; #line 207 "c.re" { RET('}'); } #line 545 "" yy57: ++YYCURSOR; #line 208 "c.re" { RET(','); } #line 550 "" yy59: ++YYCURSOR; #line 209 "c.re" { RET(':'); } #line 555 "" yy61: ++YYCURSOR; #line 211 "c.re" { RET('('); } #line 560 "" yy63: ++YYCURSOR; #line 212 "c.re" { RET(')'); } #line 565 "" yy65: ++YYCURSOR; #line 213 "c.re" { RET('['); } #line 570 "" yy67: ++YYCURSOR; #line 214 "c.re" { RET(']'); } #line 575 "" yy69: ++YYCURSOR; #line 218 "c.re" { RET('~'); } #line 580 "" yy71: ++YYCURSOR; #line 228 "c.re" { RET('?'); } #line 585 "" yy73: ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 231 "c.re" { goto std; } #line 593 "" yy75: ++YYCURSOR; #line 234 "c.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 602 "" yy77: yych = *++YYCURSOR; goto yy25; yy78: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy79: switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy78; default: goto yy74; } yy80: ++YYCURSOR; #line 204 "c.re" { RET(NEQ); } #line 622 "" yy82: ++YYCURSOR; #line 203 "c.re" { RET(EQL); } #line 627 "" yy84: ++YYCURSOR; #line 200 "c.re" { RET(OROR); } #line 632 "" yy86: ++YYCURSOR; #line 193 "c.re" { RET(OREQ); } #line 637 "" yy88: ++YYCURSOR; #line 192 "c.re" { RET(XOREQ); } #line 642 "" yy90: ++YYCURSOR; #line 199 "c.re" { RET(ANDAND); } #line 647 "" yy92: ++YYCURSOR; #line 191 "c.re" { RET(ANDEQ); } #line 652 "" yy94: ++YYCURSOR; #line 190 "c.re" { RET(MODEQ); } #line 657 "" yy96: ++YYCURSOR; #line 188 "c.re" { RET(MULEQ); } #line 662 "" yy98: ++YYCURSOR; #line 198 "c.re" { RET(DEREF); } #line 667 "" yy100: ++YYCURSOR; #line 197 "c.re" { RET(DECR); } #line 672 "" yy102: ++YYCURSOR; #line 187 "c.re" { RET(SUBEQ); } #line 677 "" yy104: ++YYCURSOR; #line 196 "c.re" { RET(INCR); } #line 682 "" yy106: ++YYCURSOR; #line 186 "c.re" { RET(ADDEQ); } #line 687 "" yy108: ++YYCURSOR; #line 201 "c.re" { RET(LEQ); } #line 692 "" yy110: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy112; default: goto yy111; } yy111: #line 195 "c.re" { RET(LSHIFT); } #line 702 "" yy112: ++YYCURSOR; #line 185 "c.re" { RET(LSHIFTEQ); } #line 707 "" yy114: ++YYCURSOR; #line 202 "c.re" { RET(GEQ); } #line 712 "" yy116: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy118; default: goto yy117; } yy117: #line 194 "c.re" { RET(RSHIFT); } #line 722 "" yy118: ++YYCURSOR; #line 184 "c.re" { RET(RSHIFTEQ); } #line 727 "" yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy121: switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '\\': goto yy123; default: goto yy120; } yy122: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy22; case 1: goto yy25; case 2: goto yy27; case 3: goto yy134; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy120; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case 'x': goto yy126; default: goto yy122; } yy124: ++YYCURSOR; #line 181 "c.re" { RET(SCON); } #line 778 "" yy126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; default: goto yy122; } yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case '\\': goto yy123; default: goto yy120; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; case '\\': goto yy123; default: goto yy120; } yy131: yych = *++YYCURSOR; switch (yych) { case '.': goto yy140; default: goto yy122; } yy132: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; case 'E': case 'e': goto yy135; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy134: #line 178 "c.re" { RET(FCON); } #line 891 "" yy135: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy137; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy136: yych = *++YYCURSOR; goto yy134; yy137: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy140: ++YYCURSOR; #line 183 "c.re" { RET(ELLIPSIS); } #line 952 "" yy142: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy143: switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '\\': goto yy144; default: goto yy142; } yy144: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy142; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case 'x': goto yy146; default: goto yy122; } yy145: yych = *++YYCURSOR; goto yy22; yy146: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; default: goto yy122; } yy147: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case '\\': goto yy144; default: goto yy142; } yy149: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; case '\\': goto yy144; default: goto yy142; } yy151: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy162; default: goto yy161; } yy152: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy153: switch (yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy152; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy154: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy157; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy155: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy157: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy158: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy160: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy161: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; case 'E': case 'e': goto yy166; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy162: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy163; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy163: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy164: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy166: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy167; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy167: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy168: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy170: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy171: switch (yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy170; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy172: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; default: goto yy122; } yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy175: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy179: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy180: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy5; } yy181: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy182; default: goto yy180; } yy182: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy183; default: goto yy180; } yy183: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy184; default: goto yy180; } yy184: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy185; } yy185: #line 169 "c.re" { RET(WHILE); } #line 1570 "" yy186: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy187; case 'l': goto yy188; default: goto yy180; } yy187: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy195; default: goto yy180; } yy188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy189; default: goto yy180; } yy189: yych = *++YYCURSOR; switch (yych) { case 't': goto yy190; default: goto yy180; } yy190: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy191; default: goto yy180; } yy191: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy192; default: goto yy180; } yy192: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy193; default: goto yy180; } yy193: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy194; } yy194: #line 168 "c.re" { RET(VOLATILE); } #line 1685 "" yy195: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy196; } yy196: #line 167 "c.re" { RET(VOID); } #line 1757 "" yy197: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy198; case 's': goto yy199; default: goto yy180; } yy198: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy206; default: goto yy180; } yy199: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy200; default: goto yy180; } yy200: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy201; default: goto yy180; } yy201: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy202; default: goto yy180; } yy202: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy203; default: goto yy180; } yy203: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy204; default: goto yy180; } yy204: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy205; } yy205: #line 166 "c.re" { RET(UNSIGNED); } #line 1872 "" yy206: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy207; default: goto yy180; } yy207: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy208; } yy208: #line 165 "c.re" { RET(UNION); } #line 1950 "" yy209: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy210; default: goto yy180; } yy210: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy211; default: goto yy180; } yy211: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy212; default: goto yy180; } yy212: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy213; default: goto yy180; } yy213: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy214; default: goto yy180; } yy214: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy215; } yy215: #line 164 "c.re" { RET(TYPEDEF); } #line 2052 "" yy216: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy245; default: goto yy180; } yy217: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy235; case 'z': goto yy236; default: goto yy180; } yy218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy225; case 'r': goto yy226; default: goto yy180; } yy219: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy220; default: goto yy180; } yy220: yych = *++YYCURSOR; switch (yych) { case 't': goto yy221; default: goto yy180; } yy221: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy222; default: goto yy180; } yy222: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy223; default: goto yy180; } yy223: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy224; } yy224: #line 163 "c.re" { RET(SWITCH); } #line 2168 "" yy225: yych = *++YYCURSOR; switch (yych) { case 't': goto yy231; default: goto yy180; } yy226: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy227; default: goto yy180; } yy227: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy228; default: goto yy180; } yy228: yych = *++YYCURSOR; switch (yych) { case 't': goto yy229; default: goto yy180; } yy229: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy230; } yy230: #line 162 "c.re" { RET(STRUCT); } #line 2264 "" yy231: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy232; default: goto yy180; } yy232: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy233; default: goto yy180; } yy233: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy234; } yy234: #line 161 "c.re" { RET(STATIC); } #line 2348 "" yy235: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy241; default: goto yy180; } yy236: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy237; default: goto yy180; } yy237: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy238; default: goto yy180; } yy238: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy239; default: goto yy180; } yy239: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy240; } yy240: #line 160 "c.re" { RET(SIZEOF); } #line 2444 "" yy241: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy242; default: goto yy180; } yy242: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy243; default: goto yy180; } yy243: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy244; } yy244: #line 159 "c.re" { RET(SIGNED); } #line 2528 "" yy245: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy246; default: goto yy180; } yy246: yych = *++YYCURSOR; switch (yych) { case 't': goto yy247; default: goto yy180; } yy247: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy248; } yy248: #line 158 "c.re" { RET(SHORT); } #line 2612 "" yy249: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy250; case 't': goto yy251; default: goto yy180; } yy250: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy256; default: goto yy180; } yy251: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy252; default: goto yy180; } yy252: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy253; default: goto yy180; } yy253: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy254; default: goto yy180; } yy254: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy255; } yy255: #line 157 "c.re" { RET(RETURN); } #line 2715 "" yy256: yych = *++YYCURSOR; switch (yych) { case 's': goto yy257; default: goto yy180; } yy257: yych = *++YYCURSOR; switch (yych) { case 't': goto yy258; default: goto yy180; } yy258: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy259; default: goto yy180; } yy259: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy260; default: goto yy180; } yy260: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy261; } yy261: #line 156 "c.re" { RET(REGISTER); } #line 2811 "" yy262: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy263; default: goto yy180; } yy263: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy264; default: goto yy180; } yy264: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy265; } yy265: #line 155 "c.re" { RET(LONG); } #line 2895 "" yy266: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy267; } yy267: #line 153 "c.re" { RET(IF); } #line 2967 "" yy268: yych = *++YYCURSOR; switch (yych) { case 't': goto yy269; default: goto yy180; } yy269: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy270; } yy270: #line 154 "c.re" { RET(INT); } #line 3045 "" yy271: yych = *++YYCURSOR; switch (yych) { case 't': goto yy272; default: goto yy180; } yy272: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy273; default: goto yy180; } yy273: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy274; } yy274: #line 152 "c.re" { RET(GOTO); } #line 3129 "" yy275: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy279; default: goto yy180; } yy276: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy277; default: goto yy180; } yy277: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy278; } yy278: #line 151 "c.re" { RET(FOR); } #line 3213 "" yy279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy280; default: goto yy180; } yy280: yych = *++YYCURSOR; switch (yych) { case 't': goto yy281; default: goto yy180; } yy281: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy282; } yy282: #line 150 "c.re" { RET(FLOAT); } #line 3297 "" yy283: yych = *++YYCURSOR; switch (yych) { case 's': goto yy294; default: goto yy180; } yy284: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy291; default: goto yy180; } yy285: yych = *++YYCURSOR; switch (yych) { case 't': goto yy286; default: goto yy180; } yy286: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy287; default: goto yy180; } yy287: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy288; default: goto yy180; } yy288: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy289; default: goto yy180; } yy289: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy290; } yy290: #line 149 "c.re" { RET(EXTERN); } #line 3405 "" yy291: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy292; default: goto yy180; } yy292: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy293; } yy293: #line 148 "c.re" { RET(ENUM); } #line 3483 "" yy294: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy295; default: goto yy180; } yy295: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy296; } yy296: #line 147 "c.re" { RET(ELSE); } #line 3561 "" yy297: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy305; default: goto yy180; } yy298: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; case 'u': goto yy300; default: goto yy299; } yy299: #line 145 "c.re" { RET(DO); } #line 3639 "" yy300: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy301; default: goto yy180; } yy301: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy302; default: goto yy180; } yy302: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy303; default: goto yy180; } yy303: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy304; } yy304: #line 146 "c.re" { RET(DOUBLE); } #line 3729 "" yy305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy306; default: goto yy180; } yy306: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy307; default: goto yy180; } yy307: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy308; default: goto yy180; } yy308: yych = *++YYCURSOR; switch (yych) { case 't': goto yy309; default: goto yy180; } yy309: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy310; } yy310: #line 144 "c.re" { RET(DEFAULT); } #line 3825 "" yy311: yych = *++YYCURSOR; switch (yych) { case 's': goto yy327; default: goto yy180; } yy312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy324; default: goto yy180; } yy313: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy314; default: goto yy180; } yy314: yych = *++YYCURSOR; switch (yych) { case 's': goto yy315; case 't': goto yy316; default: goto yy180; } yy315: yych = *++YYCURSOR; switch (yych) { case 't': goto yy322; default: goto yy180; } yy316: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy317; default: goto yy180; } yy317: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy318; default: goto yy180; } yy318: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy319; default: goto yy180; } yy319: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy320; default: goto yy180; } yy320: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy321; } yy321: #line 143 "c.re" { RET(CONTINUE); } #line 3952 "" yy322: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy323; } yy323: #line 142 "c.re" { RET(CONST); } #line 4024 "" yy324: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy325; default: goto yy180; } yy325: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy326; } yy326: #line 141 "c.re" { RET(CHAR); } #line 4102 "" yy327: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy328; default: goto yy180; } yy328: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy329; } yy329: #line 140 "c.re" { RET(CASE); } #line 4180 "" yy330: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy331; default: goto yy180; } yy331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy332; default: goto yy180; } yy332: yych = *++YYCURSOR; switch (yych) { case 'k': goto yy333; default: goto yy180; } yy333: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy334; } yy334: #line 139 "c.re" { RET(BREAK); } #line 4270 "" yy335: yych = *++YYCURSOR; switch (yych) { case 't': goto yy336; default: goto yy180; } yy336: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy337; default: goto yy180; } yy337: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy338; } yy338: #line 138 "c.re" { RET(AUTO); } #line 4354 "" yy339: ++YYCURSOR; #line 189 "c.re" { RET(DIVEQ); } #line 4359 "" yy341: ++YYCURSOR; #line 136 "c.re" { goto comment; } #line 4364 "" } #line 245 "c.re" comment: #line 4371 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy347; case '*': goto yy345; default: goto yy349; } yy345: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy350; default: goto yy346; } yy346: #line 256 "c.re" { goto comment; } #line 4390 "" yy347: ++YYCURSOR; #line 251 "c.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 4399 "" yy349: yych = *++YYCURSOR; goto yy346; yy350: ++YYCURSOR; #line 249 "c.re" { goto std; } #line 4407 "" } #line 257 "c.re" } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/config7b.g.re0000775000076500007660000000022111016275331012620 00000000000000/*!re2c re2c:cgoto:threshold = 7; a = [aA]; b = [bB]; c = [cC]; d = [dD]; (a|b|c|d|"e"|'f'|[gG]) { return 1; } .|"\n" { return -1; } */ re2c-0.13.5/test/input4.re0000775000076500007660000000011511016275331012122 00000000000000/*!re2c [] { return 0; } [^] { return 1; } [\000-\377] { return 2; } */ re2c-0.13.5/test/config1.re0000775000076500007660000000074711016275331012240 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; /*!re2c re2c:indent:top = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan1(char *p) { char *q; /*!re2c re2c:indent:top = 1; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan(char *p) { char *q; /*!re2c [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/push.fs.re0000775000076500007660000000353711016275331012300 00000000000000uint32_t push() { // The scanner starts here #define YYLIMIT limit #define YYCURSOR cursor #define YYMARKER marker #define YYCTYPE uint8_t #define SKIP(x) { start = cursor; goto yy0; } #define SEND(x) { send(x); SKIP(); } #define YYFILL(n) { goto fill; } #define YYGETSTATE() state #define YYSETSTATE(x) { state = (x); } start: /*!re2c re2c:startlabel = 1; eol = "\n"; eof = "\000"; digit = [0-9]; integer = digit+; alpha = [A-Za-z_]; any = [\000-\377]; space = [ \h\t\v\f\r]; "if" { SEND(kIf); } "for" { SEND(kFor); } "else" { SEND(kElse); } "goto" { SEND(kGoto); } "break" { SEND(kBreak); } "while" { SEND(kWhile); } "return" { SEND(kReturn); } alpha (alpha|digit)* { SEND(kIdentifier); } integer { SEND(kDecimalConstant);} "=" { SEND(kEqual); } "(" { SEND(kLeftParen); } ")" { SEND(kRightParen); } "-" { SEND(kMinus); } "+" { SEND(kPlus); } "*" { SEND(kStar); } "/" { SEND(kSlash); } eol { SKIP(); } space { SKIP(); } eof { send(kEOF); return 1; } any { SEND(kUnknown); } */ fill: return 0; } re2c-0.13.5/test/parse_date.b.re0000775000076500007660000011454011016275331013236 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c any = [\000-\377]; space = [ ]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-3]; hour24lz = [01][0-9] | "2"[0-3]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = [AaPp] "."? [Mm] "."?; tz = "("? [A-Za-z]{1,4} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [1-9] | "1" [0-2]; daylz = "0" [1-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; daytext = dayfull | dayabbr; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = hour24[:.]minute; timelong24 = hour24[:.]minute[:.]second; iso8601long = hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; gnudateshort = year "-" month "-" day; iso8601date = year4 "-" monthlz "-" daylz; pointeddate = day "." month "." year; datefull = day ([ -.])* monthtext ([ -.])* year; datenoday = monthtext ([ -.])* year4; datenodayrev = year4 ([ -.])* monthtext; datetextual = monthtext ([ -.])* day [,.stndrh ]* year; datenoyear = monthtext ([ -.])* day [,.stndrh ]*; datenoyearrev = day ([ -.])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; isoweek = year4 "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [1-9] [0-9]*; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'next'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'week'|'fortnight'|'forthnight'|'month'|'year') 's'?) | daytext; relnumber = ([+-]?[ ]*[0-9]+); relative = relnumber space? reltextunit; relativetext = reltextnumber space? reltextunit; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetext { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/bug1454253b.s.re0000775000076500007660000000311411016275331012631 00000000000000#include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { /*!re2c ALNUM = [0-9a-zA-Z]; ANY = [\000-\377]; "?!" ALNUM* { *r++ = '1'; continue; } "?" ALNUM+ { *r++ = '2'; continue; } (ANY\"?") { *r++ = '0'; *r++ = '\0'; return p - s; } */ } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, exp, exp_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", res, res_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 4, "20"); do_scan("#", 1, "0"); do_scan("##", 1, "0"); do_scan("##?", 1, "0"); do_scan("##|", 1, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 3, "20"); do_scan("?1?2!1?2??", 5, "220"); do_scan("?1?2?!1?2??", 11, "22120"); do_scan("?1?2?!1?2?!", 12, "221210"); do_scan("?1?123?45??", 11, "2220"); do_scan("?1?123?45?!", 12, "22210"); } re2c-0.13.5/test/input11.i.re0000775000076500007660000000040611016275331012432 00000000000000/*!re2c letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; config = "re2c:" (letter|"_") (letter|digit|"_"|":")*; config { return 0; } name { return 1; } number { return 2; } .|"\n" { return -1; } */ re2c-0.13.5/test/error11.re0000775000076500007660000000003511016275331012173 00000000000000/*!re2c [\U00000ZZZYY] {} */ re2c-0.13.5/test/bug1479044.s.re0000775000076500007660000000171011016275331012474 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: /*!re2c ( "adsl" | "adslppp" | "bdsl" | "cdsl" | "dslgw4pool" | "dslppp" | "edsl" | "fdsl" | "ldsl" | "pool" | "pppdsl" | "premiumC" | "vdsl" | "xsttldsl") [0-9a-k\-]+ ".".+ ".uswest.net" { return "dsl"; } ( "dhcp" | "dorms" | "rh" ).* "-" [0-9]+ "-" [0-9]+ "." .+ ".resnet.pitt.edu" { return "resnet"; } [0-9]+ "-" [0-9]+ "-" [0-9]+ "-" [0-9]+ "." ("dhcp" | .* "modem" | "bothell") .* ".washington.edu" { return "edu"; } [\001-\377] { goto start; } [\000] { return NULL; } */ } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/error13.1.re0000775000076500007660000000013411016275331012334 00000000000000/*!max:re2c */ /*!re2c "ABC" { return 1; } "ABD" { return 2; } [^] { return 0; } */ re2c-0.13.5/test/error8.c0000775000076500007660000000012311016275331011733 00000000000000re2c: error: line 2, column 4: Illegal octal character code, non octal digit found re2c-0.13.5/test/sample.c0000664000076500007660000000607311016275331012002 00000000000000/* Generated by re2c */ #line 1 "sample.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case '0': goto yy5; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy7; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy4; case 'p': goto yy2; default: goto yy8; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'r': goto yy19; default: goto yy18; } yy3: #line 3 "sample.re" {return ID;} #line 59 "" yy4: yych = *++YYCURSOR; goto yy18; yy5: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'x': goto yy12; default: goto yy11; } yy6: #line 4 "sample.re" {return DEC;} #line 72 "" yy7: yych = *++YYCURSOR; goto yy11; yy8: ++YYCURSOR; #line 6 "sample.re" {return ERR;} #line 80 "" yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy11: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy10; default: goto yy6; } yy12: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy14; default: goto yy13; } yy13: YYCURSOR = YYMARKER; goto yy6; yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy14; default: goto yy16; } yy16: #line 5 "sample.re" {return HEX;} #line 149 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: switch (yych) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy17; default: goto yy3; } yy19: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy20; default: goto yy18; } yy20: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy21; default: goto yy18; } yy21: yych = *++YYCURSOR; switch (yych) { case 't': goto yy22; default: goto yy18; } yy22: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy17; default: goto yy23; } yy23: #line 2 "sample.re" {return PRINT;} #line 236 "" } #line 7 "sample.re" re2c-0.13.5/test/bug1163046.c0000775000076500007660000001315511016275331012045 00000000000000/* Generated by re2c */ #line 1 "bug1163046.re" #include #define YYCTYPE unsigned char #define YYCURSOR cursor #define YYLIMIT cursor #define YYMARKER marker #define YYFILL(n) bool scan(const char *text) { YYCTYPE *start = (YYCTYPE *)text; YYCTYPE *cursor = (YYCTYPE *)text; YYCTYPE *marker = (YYCTYPE *)text; next: YYCTYPE *token = cursor; #line 20 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 45) YYFILL(45); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy5; case '(': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'T': case 't': goto yy7; default: goto yy3; } yy3: #line 23 "bug1163046.re" { goto next; } #line 41 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; #line 25 "bug1163046.re" { return false; } #line 49 "" yy7: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy9; default: goto yy8; } yy8: YYCURSOR = YYMARKER; goto yy3; yy9: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy10; default: goto yy8; } yy10: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy11; default: goto yy8; } yy11: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy12; default: goto yy8; } yy12: yych = *++YYCURSOR; switch (yych) { case 'F': case 'f': goto yy13; default: goto yy8; } yy13: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy14; default: goto yy8; } yy14: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy15; default: goto yy8; } yy15: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy16; default: goto yy8; } yy16: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy17; default: goto yy8; } yy17: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy18; default: goto yy8; } yy18: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy19; default: goto yy8; } yy19: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy20; default: goto yy8; } yy20: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy21; default: goto yy8; } yy21: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy22; default: goto yy8; } yy22: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy23; default: goto yy8; } yy23: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy24; default: goto yy8; } yy24: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy25; default: goto yy8; } yy25: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy26; default: goto yy8; } yy26: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy27; default: goto yy8; } yy27: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy28; default: goto yy8; } yy28: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy29; default: goto yy8; } yy29: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy30; default: goto yy8; } yy30: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy31; default: goto yy8; } yy31: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy32; default: goto yy8; } yy32: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy33; default: goto yy8; } yy33: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy34; default: goto yy8; } yy34: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy35; default: goto yy8; } yy35: yych = *++YYCURSOR; switch (yych) { case 'W': case 'w': goto yy36; default: goto yy8; } yy36: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy37; default: goto yy8; } yy37: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy38; default: goto yy8; } yy38: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy39; default: goto yy8; } yy39: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy40; default: goto yy8; } yy40: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy41; default: goto yy8; } yy41: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy42; default: goto yy8; } yy42: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy43; default: goto yy8; } yy43: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy44; default: goto yy8; } yy44: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy45; default: goto yy8; } yy45: yych = *++YYCURSOR; switch (yych) { case 'X': case 'x': goto yy46; default: goto yy8; } yy46: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy47; default: goto yy8; } yy47: yych = *++YYCURSOR; switch (yych) { case '4': goto yy48; default: goto yy8; } yy48: yych = *++YYCURSOR; switch (yych) { case '.': goto yy49; default: goto yy8; } yy49: yych = *++YYCURSOR; switch (yych) { case '0': goto yy50; default: goto yy8; } yy50: yych = *++YYCURSOR; switch (yych) { case ')': goto yy51; default: goto yy8; } yy51: ++YYCURSOR; #line 18 "bug1163046.re" { if (token == start || *(token - 1) == '\n') return true; else goto next; } #line 350 "" } #line 26 "bug1163046.re" return false; } #define do_scan(str, expect) \ res = scan(str) == expect ? 0 : 1; \ std::cerr << str << "\t-\t" << (res ? "fail" : "ok") << std::endl; \ result += res #define YYMAXFILL 45 int main(int,void**) { int res, result = 0; do_scan("(This file must be converted with BinHex 4.0)", 1); do_scan("x(This file must be converted with BinHex 4.0)", 0); do_scan("(This file must be converted with BinHex 4.0)x", 1); do_scan("x(This file must be converted with BinHex 4.0)x", 0); return result; } re2c-0.13.5/test/config7b.g.c0000775000076500007660000000435211016275331012445 00000000000000/* Generated by re2c */ #line 1 "config7b.g.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy2, &&yy2, &&yy2, &&yy2, &&yy4, &&yy2, &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4 }; goto *yytarget[yych]; } yy2: ++YYCURSOR; #line 10 "config7b.g.re" { return 1; } #line 52 "" yy4: ++YYCURSOR; #line 12 "config7b.g.re" { return -1; } #line 57 "" } #line 14 "config7b.g.re" re2c-0.13.5/test/input4.c0000775000076500007660000000045411016275331011744 00000000000000/* Generated by re2c */ #line 1 "input4.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; #line 3 "input4.re" { return 0; } #line 14 "" yy3: ++YYCURSOR; #line 4 "input4.re" { return 1; } #line 19 "" } #line 7 "input4.re" re2c-0.13.5/test/scanner.fs.re0000775000076500007660000001452011016275331012744 00000000000000/* $Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp $ */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } /*!re2c zero = "\000"; any = [\000-\377]; dot = any \ [\n]; esc = dot \ [\\]; istring = "[" "^" ((esc \ [\]]) | "\\" dot)* "]" ; cstring = "[" ((esc \ [\]]) | "\\" dot)* "]" ; dstring = "\"" ((esc \ ["] ) | "\\" dot)* "\""; sstring = "'" ((esc \ ['] ) | "\\" dot)* "'" ; letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; cname = ":" letter (letter|digit|"_")*; space = [ \t]; eol = ("\r\n" | "\n"); config = "re2c" cname+; value = [^\r\n; \t]* | dstring | sstring; */ int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: /*!re2c "/*!re2c" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } "/*!max:re2c" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } "*" "/" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } "\n" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } zero { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } any { goto echo; } */ } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } /*!re2c "{" { depth = 1; goto code; } "/*" { depth = 1; goto comment; } "*/" { tok = cursor; RETURN(0); } dstring { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } sstring { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } "\"" { fatal("unterminated string constant (missing \")"); } "'" { fatal("unterminated string constant (missing ')"); } istring { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } cstring { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } "[" { fatal("unterminated range (missing ])"); } [()|=;/\\] { RETURN(*tok); } [*+?] { yylval.op = *tok; RETURN(CLOSE); } "{0,}" { yylval.op = '*'; RETURN(CLOSE); } "{" [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } "{" [0-9]+ "," [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } "{" [0-9]+ ",}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } config { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } name { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } "." { cur = cursor; yylval.regexp = mkDot(); return RANGE; } space+ { goto scan; } eol { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } any { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } */ code: /*!re2c "}" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } "{" { ++depth; goto code; } "\n" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } dstring | sstring | any { goto code; } */ comment: /*!re2c "*/" { if(--depth == 0) goto scan; else goto comment; } "/*" { ++depth; fatal("ambiguous /* found"); goto comment; } "\n" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } any { if(cursor == eof) RETURN(0); goto comment; } */ config: /*!re2c space+ { goto config; } "=" space* { iscfg = 2; cur = cursor; RETURN('='); } any { fatal("missing '='"); } */ value: /*!re2c number { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } value { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } */ } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/input8.c0000775000076500007660000000211711016275331011746 00000000000000/* Generated by re2c */ #line 1 "input8.re" #line 5 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; switch (yych) { case '\n': goto yy4; default: goto yy2; } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x00: goto yy6; case '\n': goto yy3; default: goto yy8; } yy3: #line 6 "input8.re" { return 1; } #line 27 "" yy4: ++YYCURSOR; #line 7 "input8.re" { return 2; } #line 32 "" yy6: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x00: goto yy10; case '\n': goto yy7; default: goto yy11; } yy7: #line 5 "input8.re" { return 0; } #line 44 "" yy8: yych = *++YYCURSOR; switch (yych) { case 0x00: goto yy10; case '\n': goto yy9; default: goto yy11; } yy9: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy3; case 1: goto yy7; } yy10: yych = *++YYCURSOR; if (yych <= 0x00) goto yy12; goto yy7; yy11: yych = *++YYCURSOR; if (yych >= 0x01) goto yy9; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy7; } #line 9 "input8.re" re2c-0.13.5/test/simple.c0000664000076500007660000000161711016275331012011 00000000000000/* Generated by re2c */ #line 1 "simple.re" #define NULL ((char*) 0) char *scan(char *p){ char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #line 13 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 10 "simple.re" {return YYCURSOR;} #line 39 "" yy4: ++YYCURSOR; #line 11 "simple.re" {return NULL;} #line 44 "" yy6: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } } #line 12 "simple.re" } re2c-0.13.5/test/bug1472770.s.c0000775000076500007660000000167211016275331012316 00000000000000/* Generated by re2c */ #line 1 "bug1472770.s.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: #line 23 "" { YYCTYPE yych; goto yy0; yy1: ++YYCURSOR; yy0: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x00) goto yy5; if (yych != '\n') goto yy1; ++YYCURSOR; #line 21 "bug1472770.s.re" { ++n; goto start; } #line 40 "" yy5: ++YYCURSOR; #line 26 "bug1472770.s.re" { return n; } #line 47 "" } #line 29 "bug1472770.s.re" } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/error11.c0000775000076500007660000000012611016275331012010 00000000000000re2c: error: line 2, column 9: Illegal unicode character, non hexadecimal digit found re2c-0.13.5/test/bug1479044.s.c0000775000076500007660000005651611016275331012326 00000000000000/* Generated by re2c */ #line 1 "bug1479044.s.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: #line 18 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych <= 'f') { if (yych <= 'a') { if (yych <= '/') { if (yych <= 0x00) goto yy16; goto yy15; } else { if (yych <= '9') goto yy14; if (yych <= '`') goto yy15; } } else { if (yych <= 'c') { if (yych <= 'b') goto yy4; goto yy5; } else { if (yych <= 'd') goto yy6; if (yych <= 'e') goto yy7; goto yy8; } } } else { if (yych <= 'q') { if (yych <= 'l') { if (yych <= 'k') goto yy15; goto yy9; } else { if (yych == 'p') goto yy10; goto yy15; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy13; if (yych <= 'u') goto yy15; goto yy11; } else { if (yych == 'x') goto yy12; goto yy15; } } } yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy172; yy3: #line 32 "bug1479044.s.re" { goto start; } #line 72 "" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy170; goto yy3; yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy168; goto yy3; yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'h') goto yy154; goto yy3; } else { if (yych <= 'o') goto yy153; if (yych == 's') goto yy155; goto yy3; } yy7: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy151; goto yy3; yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy149; goto yy3; yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy147; goto yy3; yy10: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'p') { if (yych <= 'n') goto yy3; if (yych <= 'o') goto yy137; goto yy136; } else { if (yych == 'r') goto yy135; goto yy3; } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy133; goto yy3; yy12: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 's') goto yy108; goto yy3; yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'h') goto yy71; goto yy3; yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy18; if (yych <= '/') goto yy3; if (yych <= '9') goto yy20; goto yy3; yy15: yych = *++YYCURSOR; goto yy3; yy16: ++YYCURSOR; #line 37 "bug1479044.s.re" { return NULL; } #line 151 "" yy18: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych <= '9') goto yy22; yy19: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy63; } } else { if (yyaccept <= 2) { goto yy107; } else { goto yy132; } } yy20: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '-') goto yy18; if (yych <= '/') goto yy19; if (yych <= '9') goto yy20; goto yy19; yy22: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '-') goto yy24; if (yych <= '/') goto yy19; if (yych <= '9') goto yy22; goto yy19; yy24: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych >= ':') goto yy19; yy25: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '-') goto yy27; if (yych <= '/') goto yy19; if (yych <= '9') goto yy25; goto yy19; yy27: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych >= ':') goto yy19; yy28: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; if (yych == '.') goto yy30; if (yych <= '/') goto yy19; if (yych <= '9') goto yy28; goto yy19; yy30: yych = *++YYCURSOR; if (yych == 'b') goto yy34; if (yych != 'd') goto yy33; yych = *++YYCURSOR; if (yych == 'h') goto yy69; goto yy33; yy32: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy33: if (yych == '\n') goto yy19; if (yych == 'm') goto yy35; goto yy32; yy34: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy33; yy35: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy32; } else { if (yych <= 'm') goto yy35; if (yych != 'o') goto yy32; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'c') { if (yych == '\n') goto yy19; goto yy32; } else { if (yych <= 'd') goto yy38; if (yych == 'm') goto yy35; goto yy32; } yy38: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'd') { if (yych == '\n') goto yy19; goto yy32; } else { if (yych <= 'e') goto yy39; if (yych == 'm') goto yy35; goto yy32; } yy39: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy19; if (yych != 'm') goto yy32; yy40: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych >= '.') goto yy44; } else { if (yych <= 'm') { if (yych >= 'm') goto yy40; } else { if (yych == 'o') goto yy46; } } yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= '.') goto yy44; if (yych == 'm') goto yy40; goto yy42; } yy44: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych == 'w') goto yy49; goto yy42; } } yy46: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'd') { if (yych <= 'c') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'e') { if (yych <= 'd') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= '.') goto yy44; if (yych == 'm') goto yy40; goto yy42; } yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'a') { if (yych <= '`') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych != 's') goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'h') { if (yych <= 'g') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'i') { if (yych <= 'h') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'l') goto yy42; if (yych <= 'm') goto yy40; if (yych >= 'o') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'g') { if (yych <= 'f') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych != 't') goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych != 'o') goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'l') goto yy42; if (yych <= 'm') goto yy40; if (yych >= 'o') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= '.') goto yy59; if (yych == 'm') goto yy40; goto yy42; } yy59: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'd') { if (yych <= '\n') { if (yych <= '\t') goto yy42; goto yy19; } else { if (yych == '.') goto yy44; goto yy42; } } else { if (yych <= 'm') { if (yych <= 'e') goto yy60; if (yych <= 'l') goto yy42; goto yy40; } else { if (yych == 'w') goto yy49; goto yy42; } } yy60: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'd') { if (yych <= 'c') goto yy42; } else { if (yych == 'm') goto yy40; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy42; goto yy44; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych != 'u') goto yy42; } } yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych != '\n') goto yy42; } else { if (yych <= '.') goto yy44; if (yych == 'm') goto yy40; goto yy42; } yy63: #line 27 "bug1479044.s.re" { return "edu"; } #line 565 "" yy64: yych = *++YYCURSOR; if (yych != 't') goto yy33; yych = *++YYCURSOR; if (yych != 'h') goto yy33; yych = *++YYCURSOR; if (yych != 'e') goto yy33; yych = *++YYCURSOR; if (yych != 'l') goto yy33; yych = *++YYCURSOR; if (yych == 'l') goto yy42; goto yy33; yy69: yych = *++YYCURSOR; if (yych != 'c') goto yy33; yych = *++YYCURSOR; if (yych == 'p') goto yy42; goto yy33; yy71: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy19; if (yych != '-') goto yy71; yy73: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy71; } else { if (yych <= '-') goto yy73; if (yych <= '/') goto yy71; if (yych >= ':') goto yy71; } yy75: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy71; } else { if (yych <= '-') goto yy77; if (yych <= '/') goto yy71; if (yych <= '9') goto yy75; goto yy71; } yy77: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy71; } else { if (yych <= '-') goto yy73; if (yych <= '/') goto yy71; if (yych >= ':') goto yy71; } yy78: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy71; goto yy77; } else { if (yych <= '.') goto yy80; if (yych <= '/') goto yy71; if (yych <= '9') goto yy78; goto yy71; } yy80: yych = *++YYCURSOR; if (yych != '.') goto yy82; yy81: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy82: if (yych <= ',') { if (yych == '\n') goto yy19; goto yy81; } else { if (yych <= '-') goto yy83; if (yych <= '.') goto yy85; goto yy81; } yy83: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy87; goto yy81; } yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych == 'r') goto yy92; goto yy81; } yy87: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy87; goto yy81; } yy89: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych >= ':') goto yy81; } yy90: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy89; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy90; goto yy81; } yy92: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'e') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 's') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'n') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'e') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy81; } else { if (yych <= '-') goto yy83; if (yych >= '/') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych <= '\n') { if (yych <= '\t') goto yy81; goto yy19; } else { if (yych <= ',') goto yy81; if (yych <= '-') goto yy83; goto yy85; } } else { if (yych <= 'p') { if (yych <= 'o') goto yy81; } else { if (yych == 'r') goto yy92; goto yy81; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'i') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy81; } else { if (yych <= '-') goto yy83; if (yych >= '/') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych <= '\n') { if (yych <= '\t') goto yy81; goto yy19; } else { if (yych <= ',') goto yy81; if (yych <= '-') goto yy83; goto yy85; } } else { if (yych <= 'e') { if (yych <= 'd') goto yy81; } else { if (yych == 'r') goto yy92; goto yy81; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'd') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'u') goto yy81; } yyaccept = 2; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych != '\n') goto yy81; } else { if (yych <= '-') goto yy83; if (yych <= '.') goto yy85; goto yy81; } yy107: #line 22 "bug1479044.s.re" { return "resnet"; } #line 911 "" yy108: yych = *++YYCURSOR; if (yych != 't') goto yy19; yych = *++YYCURSOR; if (yych != 't') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych != 'd') goto yy19; yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yy114: yych = *++YYCURSOR; if (yych == '.') goto yy19; goto yy116; yy115: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy116: if (yych <= '/') { if (yych <= ',') goto yy19; if (yych <= '-') goto yy115; if (yych >= '/') goto yy19; } else { if (yych <= '9') goto yy115; if (yych <= '`') goto yy19; if (yych <= 'k') goto yy115; goto yy19; } yych = *++YYCURSOR; if (yych == '\n') goto yy19; yy118: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy19; if (yych != '.') goto yy118; yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'u') goto yy118; } yy122: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 's') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'w') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'e') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 's') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 't') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy19; if (yych != '.') goto yy118; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy118; goto yy120; } else { if (yych <= 'n') { if (yych <= 'm') goto yy118; } else { if (yych == 'u') goto yy122; goto yy118; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'e') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 't') goto yy118; } yyaccept = 3; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy132; if (yych == '.') goto yy120; goto yy118; yy132: #line 17 "bug1479044.s.re" { return "dsl"; } #line 1066 "" yy133: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy135: yych = *++YYCURSOR; if (yych == 'e') goto yy142; goto yy19; yy136: yych = *++YYCURSOR; if (yych == 'p') goto yy139; goto yy19; yy137: yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy139: yych = *++YYCURSOR; if (yych != 'd') goto yy19; yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy142: yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych != 'i') goto yy19; yych = *++YYCURSOR; if (yych != 'u') goto yy19; yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych == 'C') goto yy114; goto yy19; yy147: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy149: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy151: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy153: yych = *++YYCURSOR; if (yych == 'r') goto yy166; goto yy19; yy154: yych = *++YYCURSOR; if (yych == 'c') goto yy165; goto yy19; yy155: yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych == 'g') goto yy158; if (yych != 'p') goto yy19; yych = *++YYCURSOR; if (yych == 'p') goto yy164; goto yy19; yy158: yych = *++YYCURSOR; if (yych != 'w') goto yy19; yych = *++YYCURSOR; if (yych != '4') goto yy19; yych = *++YYCURSOR; if (yych != 'p') goto yy19; yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy164: yych = *++YYCURSOR; if (yych == 'p') goto yy114; goto yy19; yy165: yych = *++YYCURSOR; if (yych == 'p') goto yy71; goto yy19; yy166: yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych == 's') goto yy71; goto yy19; yy168: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy170: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy172: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych == '.') goto yy19; if (yych != 'p') goto yy116; yych = *++YYCURSOR; if (yych != 'p') goto yy19; ++YYCURSOR; if ((yych = *YYCURSOR) == 'p') goto yy114; goto yy19; } #line 40 "bug1479044.s.re" } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/repeater.re0000664000076500007660000000207211016275331012507 00000000000000#include #include #include #define RET(n) return n int scan(const char *s, int l){ const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c any = [\000-\377]; 'a'{1}"\n" {RET(1);} 'a'{2,3}"\n" {RET(2);} 'a'{6}"\n" {RET(3);} 'a'{4,}"\n" {RET(4);} [^aq\n] {RET(5);} any {RET(0);} */ } void _do_scan(int exp, const char * str, int len) { int ret = scan(str, len); printf("%d %s %d\n", exp, exp == ret ? "==" : "!=", ret); } #define do_scan(exp, str) _do_scan(exp, str, sizeof(str) - 1) main() { do_scan(1, "a\n"); do_scan(2, "aa\n"); do_scan(2, "aaa\n"); do_scan(4, "aaaa\n"); do_scan(0, "q"); do_scan(0, "a"); do_scan(1, "A\n"); do_scan(2, "AA\n"); do_scan(2, "aAa\n"); do_scan(4, "AaaA\n"); do_scan(5, "Q"); do_scan(4, "AaaAa\n"); do_scan(3, "AaaAaA\n"); do_scan(5, "A"); do_scan(0, "\n"); do_scan(5, "0"); do_scan(0, "a"); do_scan(0, "q"); do_scan(5, "x"); } re2c-0.13.5/test/error1.re0000775000076500007660000000056511016275331012122 00000000000000#include #include #include #define RET(n) return n int scan(const char *s, int l) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c any = [\000-\377]; 'a'{,}"\n" {RET(1);} any {RET(0);} */ } re2c-0.13.5/test/cvsignore.u.c0000775000076500007660000001051011016275331012755 00000000000000/* Generated by re2c */ #line 1 "cvsignore.u.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned int #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.u.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.u.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 62 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.u.re" { APPEND(L"$" L"Date$"); goto loop; } #line 101 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yych == '\n') goto yy6; if (yych == '$') goto yy15; goto yy17; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.u.re" { APPEND(L"$" L"Id$"); goto loop; } #line 121 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.u.re" { APPEND(L"$" L"Log$"); goto loop; } #line 143 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.u.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 175 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.u.re" { APPEND(L"$" L"Source$"); goto loop; } #line 203 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.u.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/push.re0000775000076500007660000002247711016275331011675 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize= limit) break; #define YYCTYPE unsigned short #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.wb.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.wb.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 96 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.wb.re" { APPEND(L"$" L"Date$"); goto loop; } #line 135 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yych & ~0xFF) { goto yy17; } else if (yybm[0+yych] & 128) { goto yy17; } if (yych <= '#') goto yy6; goto yy15; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.wb.re" { APPEND(L"$" L"Id$"); goto loop; } #line 159 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.wb.re" { APPEND(L"$" L"Log$"); goto loop; } #line 181 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.wb.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 213 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.wb.re" { APPEND(L"$" L"Source$"); goto loop; } #line 241 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.wb.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/input7.re0000775000076500007660000000011511016275331012125 00000000000000/*!re2c any = [\000-\377]; . { return 0; } any { return 1; } */ re2c-0.13.5/test/config2.s.re0000775000076500007660000000140411016275331012471 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; /*!re2c re2c:indent:string = " "; [a] { return YYCURSOR; } [b] { return YYCURSOR; } [c] { return YYCURSOR; } [d] { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan1(char *p) { char *q; /*!re2c re2c:indent:string = "\t"; [a] { return YYCURSOR; } [b] { return YYCURSOR; } [c] { return YYCURSOR; } [d] { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan(char *p) { char *q; /*!re2c re2c:indent:string = ""; [a] { return YYCURSOR; } [b] { return YYCURSOR; } [c] { return YYCURSOR; } [d] { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/parse_date.db.re0000775000076500007660000012110511016275331013375 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: parse_date.re,v 1.36 2006/04/09 15:03:01 derick Exp $ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { add_warning(s, "Double timezone specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; struct timelib_error_container *errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ' || ptr[0] == '\t') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static void add_warning(Scanner *s, char *error) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_error(Scanner *s, char *error) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ' || **ptr == '\t') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ' && **ptr != '\t') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem = NULL; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); if (found) { t->zone_type = TIMELIB_ZONETYPE_ABBR; } #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (found && t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c any = [\000-\377]; space = [ \t]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-3]; hour24lz = [01][0-9] | "2"[0-3]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = ([AaPp] "."? [Mm] "."?) [\000\t ]; tz = "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [1-9] | "1" [0-2]; daylz = "0" [1-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; daytext = dayfull | dayabbr; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = 't'? hour24[:.]minute; timelong24 = 't'? hour24[:.]minute[:.]second; iso8601long = 't'? hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = 't'? hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = 't'? hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = 't'? hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; gnudateshort = year "-" month "-" day; iso8601date = year4 "-" monthlz "-" daylz; pointeddate = day [.\t-] month [.-] year; datefull = day ([ \t.-])* monthtext ([ \t.-])* year; datenoday = monthtext ([ .\t-])* year4; datenodayrev = year4 ([ .\t-])* monthtext; datetextual = monthtext ([ .\t-])* day [,.stndrh\t ]* year; datenoyear = monthtext ([ .\t-])* day [,.stndrh\t ]*; datenoyearrev = day ([ .\t-])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; isoweek = year4 "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [0-9]+; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'next'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'week'|'fortnight'|'forthnight'|'month'|'year') 's'?) | daytext; relnumber = ([+-]?[ \t]*[0-9]+); relative = relnumber space? reltextunit; relativetext = reltextnumber space? reltextunit; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; add_error(s, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetext { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,\t] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { add_error(s, "Unexpected character"); goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { in.time = timelib_time_ctor(); add_error(&in, "Empty string"); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/input10.b.c0000775000076500007660000000076411016275331012245 00000000000000/* Generated by re2c */ #line 1 "input10.b.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'E') { if (yych <= '@') goto yy4; if (yych >= 'E') goto yy4; } else { if (yych <= 'G') goto yy2; if (yych <= '`') goto yy4; if (yych >= 'h') goto yy4; } yy2: ++YYCURSOR; #line 8 "input10.b.re" { return 1; } #line 23 "" yy4: ++YYCURSOR; #line 10 "input10.b.re" { return -1; } #line 28 "" } #line 12 "input10.b.re" re2c-0.13.5/test/modula.c0000664000076500007660000015761511016275331012013 00000000000000/* Generated by re2c */ #line 1 "modula.re" #include #include #include typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYCTXMARKER s->ctx #define YYFILL {cursor = fill(s, cursor);} #define RETURN(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *ctx, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; uint depth; std: s->tok = cursor; #line 65 "modula.re" #line 68 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 15) YYFILL(15); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy73; case '\n': goto yy75; case '"': goto yy9; case '#': goto yy10; case '&': goto yy12; case '\'': goto yy7; case '(': goto yy2; case ')': goto yy14; case '*': goto yy16; case '+': goto yy18; case ',': goto yy20; case '-': goto yy22; case '.': goto yy24; case '/': goto yy26; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy4; case '8': case '9': goto yy6; case ':': goto yy28; case ';': goto yy30; case '<': goto yy32; case '=': goto yy34; case '>': goto yy36; case 'A': goto yy52; case 'B': goto yy54; case 'C': goto yy55; case 'D': goto yy56; case 'E': goto yy57; case 'F': goto yy58; case 'G': case 'H': case 'J': case 'K': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy72; case 'I': goto yy59; case 'L': goto yy60; case 'M': goto yy61; case 'N': goto yy62; case 'O': goto yy63; case 'P': goto yy64; case 'Q': goto yy65; case 'R': goto yy66; case 'S': goto yy67; case 'T': goto yy68; case 'U': goto yy69; case 'V': goto yy70; case 'W': goto yy71; case '[': goto yy38; case ']': goto yy40; case '^': goto yy42; case '{': goto yy44; case '|': goto yy46; case '}': goto yy48; case '~': goto yy50; default: goto yy77; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy297; default: goto yy3; } yy3: #line 80 "modula.re" {RETURN(9);} #line 176 "" yy4: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy292; yy5: #line 70 "modula.re" {RETURN(1);} #line 185 "" yy6: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy278; yy7: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy8; default: goto yy274; } yy8: #line 159 "modula.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 204 "" yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy8; default: goto yy269; } yy10: ++YYCURSOR; #line 78 "modula.re" {RETURN(7);} #line 216 "" yy12: ++YYCURSOR; #line 79 "modula.re" {RETURN(8);} #line 221 "" yy14: ++YYCURSOR; #line 81 "modula.re" {RETURN(10);} #line 226 "" yy16: ++YYCURSOR; #line 82 "modula.re" {RETURN(11);} #line 231 "" yy18: ++YYCURSOR; #line 83 "modula.re" {RETURN(12);} #line 236 "" yy20: ++YYCURSOR; #line 84 "modula.re" {RETURN(13);} #line 241 "" yy22: ++YYCURSOR; #line 85 "modula.re" {RETURN(14);} #line 246 "" yy24: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '.': goto yy266; default: goto yy25; } yy25: #line 86 "modula.re" {RETURN(15);} #line 256 "" yy26: ++YYCURSOR; #line 88 "modula.re" {RETURN(17);} #line 261 "" yy28: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy264; default: goto yy29; } yy29: #line 89 "modula.re" {RETURN(18);} #line 271 "" yy30: ++YYCURSOR; #line 91 "modula.re" {RETURN(20);} #line 276 "" yy32: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy262; case '>': goto yy260; default: goto yy33; } yy33: #line 92 "modula.re" {RETURN(21);} #line 287 "" yy34: ++YYCURSOR; #line 95 "modula.re" {RETURN(24);} #line 292 "" yy36: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy258; default: goto yy37; } yy37: #line 96 "modula.re" {RETURN(25);} #line 302 "" yy38: ++YYCURSOR; #line 98 "modula.re" {RETURN(27);} #line 307 "" yy40: ++YYCURSOR; #line 99 "modula.re" {RETURN(28);} #line 312 "" yy42: ++YYCURSOR; #line 100 "modula.re" {RETURN(29);} #line 317 "" yy44: ++YYCURSOR; #line 101 "modula.re" {RETURN(30);} #line 322 "" yy46: ++YYCURSOR; #line 102 "modula.re" {RETURN(31);} #line 327 "" yy48: ++YYCURSOR; #line 103 "modula.re" {RETURN(32);} #line 332 "" yy50: ++YYCURSOR; #line 104 "modula.re" {RETURN(33);} #line 337 "" yy52: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'N': goto yy250; case 'R': goto yy251; default: goto yy81; } yy53: #line 147 "modula.re" {RETURN(74);} #line 348 "" yy54: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy243; case 'Y': goto yy244; default: goto yy81; } yy55: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy234; case 'O': goto yy235; default: goto yy81; } yy56: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy219; case 'I': goto yy220; case 'O': goto yy221; default: goto yy81; } yy57: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy200; case 'N': goto yy201; case 'X': goto yy202; default: goto yy81; } yy58: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy193; case 'R': goto yy194; default: goto yy81; } yy59: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy171; case 'M': goto yy173; case 'N': goto yy174; default: goto yy81; } yy60: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy167; default: goto yy81; } yy61: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy160; default: goto yy81; } yy62: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy157; default: goto yy81; } yy63: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy153; case 'R': goto yy155; default: goto yy81; } yy64: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy137; case 'R': goto yy138; default: goto yy81; } yy65: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy128; default: goto yy81; } yy66: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy112; default: goto yy81; } yy67: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy109; default: goto yy81; } yy68: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy99; case 'O': goto yy100; case 'Y': goto yy102; default: goto yy81; } yy69: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy94; default: goto yy81; } yy70: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy91; default: goto yy81; } yy71: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy82; case 'I': goto yy83; default: goto yy81; } yy72: yych = *++YYCURSOR; goto yy81; yy73: ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 149 "modula.re" { goto std; } #line 481 "" yy75: ++YYCURSOR; #line 152 "modula.re" { if(cursor == s->eof) RETURN(0); s->pos = cursor; s->line++; goto std; } #line 490 "" yy77: yych = *++YYCURSOR; goto yy8; yy78: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy79: switch (yych) { case '\t': case ' ': goto yy78; default: goto yy74; } yy80: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy81: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy53; } yy82: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy87; default: goto yy81; } yy83: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy84; default: goto yy81; } yy84: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy85; default: goto yy81; } yy85: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy86; } yy86: #line 145 "modula.re" {RETURN(73);} #line 662 "" yy87: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy88; default: goto yy81; } yy88: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy89; default: goto yy81; } yy89: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy90; } yy90: #line 144 "modula.re" {RETURN(72);} #line 745 "" yy91: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy92; default: goto yy81; } yy92: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy93; } yy93: #line 143 "modula.re" {RETURN(71);} #line 822 "" yy94: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy95; default: goto yy81; } yy95: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy96; default: goto yy81; } yy96: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy97; default: goto yy81; } yy97: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy98; } yy98: #line 142 "modula.re" {RETURN(70);} #line 911 "" yy99: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy106; default: goto yy81; } yy100: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy101; } yy101: #line 140 "modula.re" {RETURN(68);} #line 988 "" yy102: yych = *++YYCURSOR; switch (yych) { case 'P': goto yy103; default: goto yy81; } yy103: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy104; default: goto yy81; } yy104: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy105; } yy105: #line 141 "modula.re" {RETURN(69);} #line 1071 "" yy106: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy107; default: goto yy81; } yy107: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy108; } yy108: #line 139 "modula.re" {RETURN(67);} #line 1148 "" yy109: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy110; default: goto yy81; } yy110: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy111; } yy111: #line 138 "modula.re" {RETURN(66);} #line 1225 "" yy112: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy113; case 'P': goto yy114; case 'T': goto yy115; default: goto yy81; } yy113: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy124; default: goto yy81; } yy114: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy120; default: goto yy81; } yy115: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy116; default: goto yy81; } yy116: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy117; default: goto yy81; } yy117: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy118; default: goto yy81; } yy118: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy119; } yy119: #line 137 "modula.re" {RETURN(65);} #line 1334 "" yy120: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy121; default: goto yy81; } yy121: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy122; default: goto yy81; } yy122: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy123; } yy123: #line 136 "modula.re" {RETURN(64);} #line 1417 "" yy124: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy125; default: goto yy81; } yy125: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy126; default: goto yy81; } yy126: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy127; } yy127: #line 135 "modula.re" {RETURN(63);} #line 1500 "" yy128: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy129; default: goto yy81; } yy129: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy130; default: goto yy81; } yy130: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy131; default: goto yy81; } yy131: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy132; default: goto yy81; } yy132: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy133; default: goto yy81; } yy133: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy134; default: goto yy81; } yy134: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy135; default: goto yy81; } yy135: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy136; } yy136: #line 134 "modula.re" {RETURN(62);} #line 1613 "" yy137: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy147; default: goto yy81; } yy138: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy139; default: goto yy81; } yy139: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy140; default: goto yy81; } yy140: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy141; default: goto yy81; } yy141: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy142; default: goto yy81; } yy142: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy143; default: goto yy81; } yy143: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy144; default: goto yy81; } yy144: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy145; default: goto yy81; } yy145: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy146; } yy146: #line 133 "modula.re" {RETURN(61);} #line 1732 "" yy147: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy148; default: goto yy81; } yy148: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy149; default: goto yy81; } yy149: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy150; default: goto yy81; } yy150: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy151; default: goto yy81; } yy151: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy152; } yy152: #line 132 "modula.re" {RETURN(60);} #line 1827 "" yy153: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy154; } yy154: #line 130 "modula.re" {RETURN(58);} #line 1898 "" yy155: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy156; } yy156: #line 131 "modula.re" {RETURN(59);} #line 1969 "" yy157: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy158; default: goto yy81; } yy158: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy159; } yy159: #line 129 "modula.re" {RETURN(57);} #line 2046 "" yy160: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy161; default: goto yy81; } yy161: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; case 'U': goto yy163; default: goto yy162; } yy162: #line 127 "modula.re" {RETURN(55);} #line 2123 "" yy163: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy164; default: goto yy81; } yy164: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy165; default: goto yy81; } yy165: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy166; } yy166: #line 128 "modula.re" {RETURN(56);} #line 2206 "" yy167: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy168; default: goto yy81; } yy168: yych = *++YYCURSOR; switch (yych) { case 'P': goto yy169; default: goto yy81; } yy169: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy170; } yy170: #line 126 "modula.re" {RETURN(54);} #line 2289 "" yy171: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy172; } yy172: #line 122 "modula.re" {RETURN(50);} #line 2360 "" yy173: yych = *++YYCURSOR; switch (yych) { case 'P': goto yy176; default: goto yy81; } yy174: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy175; } yy175: #line 125 "modula.re" {RETURN(53);} #line 2437 "" yy176: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy177; case 'O': goto yy178; default: goto yy81; } yy177: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy182; default: goto yy81; } yy178: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy179; default: goto yy81; } yy179: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy180; default: goto yy81; } yy180: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy181; } yy181: #line 124 "modula.re" {RETURN(52);} #line 2533 "" yy182: yych = *++YYCURSOR; switch (yych) { case 'M': goto yy183; default: goto yy81; } yy183: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy184; default: goto yy81; } yy184: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy185; default: goto yy81; } yy185: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy186; default: goto yy81; } yy186: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy187; default: goto yy81; } yy187: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy188; default: goto yy81; } yy188: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy189; default: goto yy81; } yy189: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy190; default: goto yy81; } yy190: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy191; default: goto yy81; } yy191: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy192; } yy192: #line 123 "modula.re" {RETURN(51);} #line 2658 "" yy193: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy198; default: goto yy81; } yy194: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy195; default: goto yy81; } yy195: yych = *++YYCURSOR; switch (yych) { case 'M': goto yy196; default: goto yy81; } yy196: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy197; } yy197: #line 121 "modula.re" {RETURN(49);} #line 2747 "" yy198: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy199; } yy199: #line 120 "modula.re" {RETURN(48);} #line 2818 "" yy200: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy213; default: goto yy81; } yy201: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy211; default: goto yy81; } yy202: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy203; case 'P': goto yy204; default: goto yy81; } yy203: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy209; default: goto yy81; } yy204: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy205; default: goto yy81; } yy205: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy206; default: goto yy81; } yy206: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy207; default: goto yy81; } yy207: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy208; } yy208: #line 119 "modula.re" {RETURN(47);} #line 2932 "" yy209: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy210; } yy210: #line 118 "modula.re" {RETURN(46);} #line 3003 "" yy211: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy212; } yy212: #line 117 "modula.re" {RETURN(45);} #line 3074 "" yy213: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy214; case 'I': goto yy216; default: goto yy81; } yy214: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy215; } yy215: #line 115 "modula.re" {RETURN(43);} #line 3152 "" yy216: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy217; default: goto yy81; } yy217: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy218; } yy218: #line 116 "modula.re" {RETURN(44);} #line 3229 "" yy219: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy225; default: goto yy81; } yy220: yych = *++YYCURSOR; switch (yych) { case 'V': goto yy223; default: goto yy81; } yy221: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy222; } yy222: #line 114 "modula.re" {RETURN(42);} #line 3312 "" yy223: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy224; } yy224: #line 113 "modula.re" {RETURN(41);} #line 3383 "" yy225: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy226; default: goto yy81; } yy226: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy227; default: goto yy81; } yy227: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy228; default: goto yy81; } yy228: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy229; default: goto yy81; } yy229: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy230; default: goto yy81; } yy230: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy231; default: goto yy81; } yy231: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy232; default: goto yy81; } yy232: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy233; } yy233: #line 112 "modula.re" {RETURN(40);} #line 3496 "" yy234: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy240; default: goto yy81; } yy235: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy236; default: goto yy81; } yy236: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy237; default: goto yy81; } yy237: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy238; default: goto yy81; } yy238: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy239; } yy239: #line 111 "modula.re" {RETURN(39);} #line 3591 "" yy240: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy241; default: goto yy81; } yy241: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy242; } yy242: #line 110 "modula.re" {RETURN(38);} #line 3668 "" yy243: yych = *++YYCURSOR; switch (yych) { case 'G': goto yy246; default: goto yy81; } yy244: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy245; } yy245: #line 109 "modula.re" {RETURN(37);} #line 3745 "" yy246: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy247; default: goto yy81; } yy247: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy248; default: goto yy81; } yy248: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy249; } yy249: #line 108 "modula.re" {RETURN(36);} #line 3828 "" yy250: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy256; default: goto yy81; } yy251: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy252; default: goto yy81; } yy252: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy253; default: goto yy81; } yy253: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy254; default: goto yy81; } yy254: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy255; } yy255: #line 107 "modula.re" {RETURN(35);} #line 3923 "" yy256: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy80; default: goto yy257; } yy257: #line 106 "modula.re" {RETURN(34);} #line 3994 "" yy258: ++YYCURSOR; #line 97 "modula.re" {RETURN(26);} #line 3999 "" yy260: ++YYCURSOR; #line 94 "modula.re" {RETURN(23);} #line 4004 "" yy262: ++YYCURSOR; #line 93 "modula.re" {RETURN(22);} #line 4009 "" yy264: ++YYCURSOR; #line 90 "modula.re" {RETURN(19);} #line 4014 "" yy266: ++YYCURSOR; #line 87 "modula.re" {RETURN(16);} #line 4019 "" yy268: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy269: switch (yych) { case '\n': goto yy270; case '"': goto yy271; default: goto yy268; } yy270: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy5; case 1: goto yy8; case 2: goto yy276; case 3: goto yy294; case 4: goto yy296; } yy271: ++YYCURSOR; #line 76 "modula.re" {RETURN(6);} #line 4043 "" yy273: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy274: switch (yych) { case '\n': goto yy270; case '\'': goto yy271; default: goto yy273; } yy275: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy283; default: goto yy286; } yy276: #line 75 "modula.re" {RETURN(5);} #line 4064 "" yy277: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy278: switch (yych) { case '.': goto yy275; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy277; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': goto yy279; case 'H': goto yy281; default: goto yy5; } yy279: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': goto yy279; case 'H': goto yy281; default: goto yy270; } yy281: ++YYCURSOR; #line 74 "modula.re" {RETURN(4);} #line 4121 "" yy283: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 71 "modula.re" {RETURN(1);} #line 4127 "" yy285: yyaccept = 2; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy286: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy285; case 'E': goto yy287; default: goto yy276; } yy287: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy288; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy289; default: goto yy270; } yy288: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy289; default: goto yy270; } yy289: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy289; default: goto yy276; } yy291: YYCTXMARKER = YYCURSOR + 1; yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy292: switch (yych) { case '.': goto yy275; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy291; case '8': case '9': goto yy277; case 'A': case 'D': case 'E': case 'F': goto yy279; case 'B': goto yy293; case 'C': goto yy295; case 'H': goto yy281; default: goto yy5; } yy293: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': goto yy279; case 'H': goto yy281; default: goto yy294; } yy294: #line 72 "modula.re" {RETURN(2);} #line 4251 "" yy295: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': goto yy279; case 'H': goto yy281; default: goto yy296; } yy296: #line 73 "modula.re" {RETURN(3);} #line 4278 "" yy297: ++YYCURSOR; #line 68 "modula.re" { depth = 1; goto comment; } #line 4283 "" } #line 163 "modula.re" comment: #line 4289 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy304; case '(': goto yy303; case '*': goto yy301; default: goto yy306; } yy301: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy309; default: goto yy302; } yy302: #line 180 "modula.re" { goto comment; } #line 4309 "" yy303: yych = *++YYCURSOR; switch (yych) { case '*': goto yy307; default: goto yy302; } yy304: ++YYCURSOR; #line 175 "modula.re" { if(cursor == s->eof) RETURN(0); s->tok = s->pos = cursor; s->line++; goto comment; } #line 4324 "" yy306: yych = *++YYCURSOR; goto yy302; yy307: ++YYCURSOR; #line 173 "modula.re" { ++depth; goto comment; } #line 4332 "" yy309: ++YYCURSOR; #line 167 "modula.re" { if(--depth == 0) goto std; else goto comment; } #line 4342 "" } #line 181 "modula.re" } /* void putStr(FILE *o, char *s, uint l){ while(l-- > 0) putc(*s++, o); } */ main(){ Scanner in; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while(scan(&in)){ /* putc('<', stdout); putStr(stdout, (char*) in.tok, in.cur - in.tok); putc('>', stdout); putc('\n', stdout); */ } } re2c-0.13.5/test/error14.re0000775000076500007660000000015411016275331012200 00000000000000/*!re2c "ABC" { return 1; } "ABD" { return 2; } [^] { return 0; } */ /*!max:re2c */ /*!max:re2c */ re2c-0.13.5/test/input10.re0000775000076500007660000000016611016275331012205 00000000000000/*!re2c a = [aA]; b = [bB]; c = [cC]; d = [dD]; (a|b|c|d|"e"|'f'|[gG]) { return 1; } .|"\n" { return -1; } */ re2c-0.13.5/test/cvsignore.s.re0000775000076500007660000000255611016275331013152 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/input10.s.re0000775000076500007660000000016611016275331012446 00000000000000/*!re2c a = [aA]; b = [bB]; c = [cC]; d = [dD]; (a|b|c|d|"e"|'f'|[gG]) { return 1; } .|"\n" { return -1; } */ re2c-0.13.5/test/bug1454253.c0000775000076500007660000001104211016275331012041 00000000000000/* Generated by re2c */ #line 1 "bug1454253.re" #include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { #line 23 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *(YYMARKER = YYCURSOR); switch (yych) { case 0x00: goto yy5; case '?': goto yy3; default: goto yy7; } yy2: #line 40 "bug1454253.re" { *r++ = '0'; *r++ = '\0'; return p - s; } #line 41 "" yy3: yych = *++YYCURSOR; switch (yych) { case '!': goto yy12; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy4; } yy4: YYCURSOR = YYMARKER; goto yy2; yy5: ++YYCURSOR; #line 34 "bug1454253.re" { *r++ = '3'; *r++ = '\0'; return p - s; } #line 121 "" yy7: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 0x00: case '?': goto yy2; default: goto yy7; } yy9: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy11; } yy11: #line 29 "bug1454253.re" { *r++ = '2'; continue; } #line 206 "" yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy12; default: goto yy14; } yy14: #line 24 "bug1454253.re" { *r++ = '1'; continue; } #line 282 "" } #line 45 "bug1454253.re" } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, res, res_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", exp, exp_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 2, "20"); do_scan("#", 1, "0"); do_scan("##", 2, "0"); do_scan("##?", 2, "0"); do_scan("##|", 3, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 4, "20"); do_scan("?1?2!1?2??", 6, "220"); do_scan("?1?2?!1?2??", 9, "22120"); do_scan("?1?2?!1?2?!", 12, "221213"); do_scan("?1?123?45??", 9, "2220"); do_scan("?1?123?45?!", 12, "22213"); } re2c-0.13.5/test/config3.c0000775000076500007660000000624711016275331012057 00000000000000/* Generated by re2c */ #line 1 "config3.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; #line 15 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 13 "config3.re" { return YYCURSOR; } #line 41 "" yy4: ++YYCURSOR; #line 14 "config3.re" { return NULL; } #line 46 "" yy6: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } } #line 15 "config3.re" } char *scan1(char *p) { char *q; #line 74 "" { YYCTYPE yych; yy8: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy10; default: goto yy12; } yy10: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy11: #line 23 "config3.re" { return YYCURSOR; } #line 100 "" yy12: ++YYCURSOR; #line 24 "config3.re" { return NULL; } #line 105 "" yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy11; } } #line 25 "config3.re" } char *scan2(char *p) { char *q; #line 133 "" { YYCTYPE yych; startLabel: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy18; default: goto yy20; } yy18: ++YYCURSOR; yych = *YYCURSOR; goto yy23; yy19: #line 33 "config3.re" { return YYCURSOR; } #line 159 "" yy20: ++YYCURSOR; #line 34 "config3.re" { return NULL; } #line 164 "" yy22: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy23: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy22; default: goto yy19; } } #line 35 "config3.re" } char *scan(char *p) { char *q; #line 192 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy26; default: goto yy28; } yy26: ++YYCURSOR; yych = *YYCURSOR; goto yy31; yy27: #line 43 "config3.re" { return YYCURSOR; } #line 217 "" yy28: ++YYCURSOR; #line 44 "config3.re" { return NULL; } #line 222 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy30; default: goto yy27; } } #line 45 "config3.re" } re2c-0.13.5/test/parse_date.b.c0000775000076500007660000116052311016275331013055 00000000000000/* Generated by re2c */ #line 1 "parse_date.b.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 845 "parse_date.b.re" #line 743 "" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192, 64, 192, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 160, 32, 32, 32, 160, 32, 32, 32, 32, 32, 160, 32, 32, 32, 160, 160, 160, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; switch (yych) { case 0x00: case '\n': goto yy48; case ' ': goto yy45; case '(': goto yy42; case '+': case '-': goto yy41; case ',': case '.': goto yy47; case '0': goto yy13; case '1': goto yy14; case '2': goto yy15; case '3': goto yy16; case '4': case '5': case '6': case '7': case '8': case '9': goto yy17; case '@': goto yy11; case 'A': goto yy25; case 'B': case 'C': case 'G': case 'H': case 'K': case 'Q': case 'R': case 'U': case 'Z': goto yy43; case 'D': goto yy31; case 'E': goto yy35; case 'F': goto yy23; case 'I': goto yy18; case 'J': goto yy21; case 'L': goto yy37; case 'M': goto yy7; case 'N': goto yy5; case 'O': goto yy29; case 'P': goto yy39; case 'S': goto yy27; case 'T': goto yy9; case 'V': goto yy19; case 'W': goto yy33; case 'X': goto yy20; case 'Y': goto yy2; case 'a': goto yy26; case 'b': case 'c': case 'g': case 'h': case 'i': case 'k': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy44; case 'd': goto yy32; case 'e': goto yy36; case 'f': goto yy24; case 'j': goto yy22; case 'l': goto yy38; case 'm': goto yy8; case 'n': goto yy6; case 'o': goto yy30; case 'p': goto yy40; case 's': goto yy28; case 't': goto yy10; case 'w': goto yy34; case 'y': goto yy4; default: goto yy50; } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych >= 'a') goto yy136; } else { if (yych <= 'e') goto yy1311; if (yych <= 'z') goto yy136; } } yy3: #line 1340 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 888 "" yy4: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1302; if (yych <= 'z') goto yy133; goto yy3; } } yy5: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1273; goto yy133; } else { if (yych <= 'I') goto yy1274; if (yych <= 'N') goto yy133; goto yy1272; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1289; goto yy136; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1290; goto yy136; } else { if (yych <= 'o') goto yy1288; if (yych <= 'z') goto yy136; goto yy3; } } } yy6: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1273; goto yy133; } else { if (yych <= 'I') goto yy1274; if (yych <= 'N') goto yy133; goto yy1272; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1273; goto yy133; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1274; goto yy133; } else { if (yych <= 'o') goto yy1272; if (yych <= 'z') goto yy133; goto yy3; } } } yy7: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1244; } else { if (yych == 'I') goto yy1245; if (yych <= 'N') goto yy133; goto yy1246; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1258; goto yy136; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1259; goto yy136; } else { if (yych <= 'o') goto yy1260; if (yych <= 'z') goto yy136; goto yy3; } } } yy8: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1244; } else { if (yych == 'I') goto yy1245; if (yych <= 'N') goto yy133; goto yy1246; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1244; goto yy133; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1245; goto yy133; } else { if (yych <= 'o') goto yy1246; if (yych <= 'z') goto yy133; goto yy3; } } } yy9: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'G') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'E') goto yy1180; goto yy133; } } else { if (yych <= 'O') { if (yych <= 'H') goto yy1181; if (yych <= 'N') goto yy133; goto yy1182; } else { if (yych == 'U') goto yy1183; if (yych <= 'V') goto yy133; goto yy1184; } } } else { if (yych <= 'n') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy1213; if (yych == 'h') goto yy1214; goto yy136; } } else { if (yych <= 'u') { if (yych <= 'o') goto yy1215; if (yych <= 't') goto yy136; goto yy1216; } else { if (yych == 'w') goto yy1217; if (yych <= 'z') goto yy136; goto yy3; } } } yy10: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'G') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'E') goto yy1180; goto yy133; } } else { if (yych <= 'O') { if (yych <= 'H') goto yy1181; if (yych <= 'N') goto yy133; goto yy1182; } else { if (yych == 'U') goto yy1183; if (yych <= 'V') goto yy133; goto yy1184; } } } else { if (yych <= 'n') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1180; if (yych == 'h') goto yy1181; goto yy133; } } else { if (yych <= 'u') { if (yych <= 'o') goto yy1182; if (yych <= 't') goto yy133; goto yy1183; } else { if (yych == 'w') goto yy1184; if (yych <= 'z') goto yy133; goto yy3; } } } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1176; if (yych <= '0') goto yy12; if (yych <= '9') goto yy1177; yy12: #line 1406 "parse_date.b.re" { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } #line 1146 "" yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'w': case 'y': goto yy1140; case '-': goto yy615; case '.': goto yy1142; case '/': goto yy614; case '0': goto yy1175; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1174; case ':': goto yy1143; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': goto yy1174; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1141; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': goto yy1141; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1138; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': goto yy1138; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy18: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy133; } } else { if (yych <= 'W') { if (yych <= 'I') goto yy602; if (yych == 'V') goto yy601; goto yy133; } else { if (yych <= 'Z') { if (yych <= 'X') goto yy601; goto yy133; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } } yy19: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy599; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy20: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy597; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy21: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy589; } else { if (yych == 'u') goto yy588; if (yych <= 'z') goto yy136; goto yy3; } } yy22: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy580; } else { if (yych == 'u') goto yy579; if (yych <= 'z') goto yy133; goto yy3; } } yy23: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy541; } } else { if (yych <= 'N') { if (yych == 'I') goto yy542; goto yy133; } else { if (yych <= 'O') goto yy543; if (yych <= 'Q') goto yy133; goto yy544; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy560; if (yych <= 'h') goto yy136; goto yy561; } } else { if (yych <= 'q') { if (yych == 'o') goto yy562; goto yy136; } else { if (yych <= 'r') goto yy563; if (yych <= 'z') goto yy136; goto yy3; } } } yy24: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy541; } } else { if (yych <= 'N') { if (yych == 'I') goto yy542; goto yy133; } else { if (yych <= 'O') goto yy543; if (yych <= 'Q') goto yy133; goto yy544; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy541; if (yych <= 'h') goto yy133; goto yy542; } } else { if (yych <= 'q') { if (yych == 'o') goto yy543; goto yy133; } else { if (yych <= 'r') goto yy544; if (yych <= 'z') goto yy133; goto yy3; } } } yy25: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy524; goto yy133; } else { if (yych <= 'P') goto yy523; if (yych <= 'T') goto yy133; goto yy522; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy534; goto yy136; } } else { if (yych <= 't') { if (yych <= 'p') goto yy533; goto yy136; } else { if (yych <= 'u') goto yy532; if (yych <= 'z') goto yy136; goto yy3; } } } yy26: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy524; goto yy133; } else { if (yych <= 'P') goto yy523; if (yych <= 'T') goto yy133; goto yy522; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy524; goto yy133; } } else { if (yych <= 't') { if (yych <= 'p') goto yy523; goto yy133; } else { if (yych <= 'u') goto yy522; if (yych <= 'z') goto yy133; goto yy3; } } } yy27: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy469; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy468; goto yy133; } else { if (yych <= 'I') goto yy470; if (yych <= 'T') goto yy133; goto yy471; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy496; if (yych <= 'd') goto yy136; goto yy495; } } else { if (yych <= 't') { if (yych == 'i') goto yy497; goto yy136; } else { if (yych <= 'u') goto yy498; if (yych <= 'z') goto yy136; goto yy3; } } } yy28: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy469; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy468; goto yy133; } else { if (yych <= 'I') goto yy470; if (yych <= 'T') goto yy133; goto yy471; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy469; if (yych <= 'd') goto yy133; goto yy468; } } else { if (yych <= 't') { if (yych == 'i') goto yy470; goto yy133; } else { if (yych <= 'u') goto yy471; if (yych <= 'z') goto yy133; goto yy3; } } } yy29: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'c') goto yy463; if (yych <= 'z') goto yy136; goto yy3; } } yy30: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'c') goto yy458; if (yych <= 'z') goto yy133; goto yy3; } } yy31: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy451; if (yych <= 'z') goto yy136; goto yy3; } } yy32: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy356; if (yych <= 'z') goto yy133; goto yy3; } } yy33: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy348; if (yych <= 'z') goto yy136; goto yy3; } } yy34: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy339; if (yych <= 'z') goto yy133; goto yy3; } } yy35: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy136; goto yy330; } else { if (yych == 'l') goto yy331; if (yych <= 'z') goto yy136; goto yy3; } } yy36: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy133; goto yy321; } else { if (yych == 'l') goto yy322; if (yych <= 'z') goto yy133; goto yy3; } } yy37: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy318; if (yych <= 'z') goto yy136; goto yy3; } } yy38: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy315; if (yych <= 'z') goto yy133; goto yy3; } } yy39: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'r') goto yy235; if (yych <= 'z') goto yy136; goto yy3; } } yy40: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'r') goto yy153; if (yych <= 'z') goto yy133; goto yy3; } } yy41: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy12; if (yych <= '1') goto yy146; if (yych <= '2') goto yy147; if (yych <= '9') goto yy148; goto yy12; yy42: yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy145; if (yych <= '`') goto yy12; if (yych <= 'z') goto yy145; goto yy12; yy43: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } yy44: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy45: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy46; if (yych <= '9') goto yy51; yy46: #line 1395 "parse_date.b.re" { goto std; } #line 2137 "" yy47: yych = *++YYCURSOR; goto yy46; yy48: ++YYCURSOR; #line 1400 "parse_date.b.re" { s->pos = cursor; s->line++; goto std; } #line 2148 "" yy50: yych = *++YYCURSOR; goto yy12; yy51: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yybm[0+yych] & 8) { goto yy51; } switch (yych) { case ' ': goto yy56; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy53: YYCURSOR = YYMARKER; if (yyaccept <= 13) { if (yyaccept <= 6) { if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy12; } else { goto yy3; } } else { if (yyaccept <= 2) { goto yy46; } else { goto yy69; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy172; } else { goto yy341; } } else { goto yy363; } } } else { if (yyaccept <= 10) { if (yyaccept <= 8) { if (yyaccept <= 7) { goto yy385; } else { goto yy420; } } else { if (yyaccept <= 9) { goto yy526; } else { goto yy620; } } } else { if (yyaccept <= 12) { if (yyaccept <= 11) { goto yy634; } else { goto yy775; } } else { goto yy784; } } } } else { if (yyaccept <= 20) { if (yyaccept <= 17) { if (yyaccept <= 15) { if (yyaccept <= 14) { goto yy880; } else { goto yy916; } } else { if (yyaccept <= 16) { goto yy943; } else { goto yy889; } } } else { if (yyaccept <= 19) { if (yyaccept <= 18) { goto yy1043; } else { goto yy937; } } else { goto yy1146; } } } else { if (yyaccept <= 23) { if (yyaccept <= 22) { if (yyaccept <= 21) { goto yy1154; } else { goto yy1200; } } else { goto yy1203; } } else { if (yyaccept <= 25) { if (yyaccept <= 24) { goto yy1279; } else { goto yy1287; } } else { goto yy1310; } } } } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy53; if (yych <= '9') goto yy51; goto yy53; yy56: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy57: switch (yych) { case ' ': goto yy56; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy58: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy120; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy120; if (yych == 'u') goto yy118; goto yy53; } } yy59: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy110; } else { if (yych == 'o') goto yy109; goto yy53; } } yy60: yych = *++YYCURSOR; if (yych == 'O') goto yy107; if (yych == 'o') goto yy107; goto yy53; yy61: yych = *++YYCURSOR; if (yych == 'A') goto yy106; if (yych == 'a') goto yy106; goto yy53; yy62: yych = *++YYCURSOR; if (yych == 'E') goto yy98; if (yych == 'e') goto yy98; goto yy53; yy63: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy83; } else { if (yych == 'r') goto yy82; goto yy53; } } yy64: yych = *++YYCURSOR; if (yych == 'E') goto yy79; if (yych == 'e') goto yy79; goto yy53; yy65: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy67; goto yy53; } } yy66: yych = *++YYCURSOR; if (yych == 'U') goto yy74; if (yych == 'u') goto yy74; goto yy53; yy67: yych = *++YYCURSOR; if (yych == 'E') goto yy68; if (yych != 'e') goto yy53; yy68: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy70; if (yych == 's') goto yy70; yy69: #line 1379 "parse_date.b.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 2436 "" yy70: yych = *++YYCURSOR; if (yych == 'D') goto yy71; if (yych != 'd') goto yy53; yy71: yych = *++YYCURSOR; if (yych == 'A') goto yy72; if (yych != 'a') goto yy53; yy72: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych != 'y') goto yy53; yy73: yych = *++YYCURSOR; goto yy69; yy74: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy75; if (yych != 'r') goto yy69; yy75: yych = *++YYCURSOR; if (yych == 'S') goto yy76; if (yych != 's') goto yy53; yy76: yych = *++YYCURSOR; if (yych == 'D') goto yy77; if (yych != 'd') goto yy53; yy77: yych = *++YYCURSOR; if (yych == 'A') goto yy78; if (yych != 'a') goto yy53; yy78: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy79: yych = *++YYCURSOR; if (yych == 'A') goto yy80; if (yych != 'a') goto yy53; yy80: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych != 'r') goto yy53; yy81: yych = *++YYCURSOR; if (yych == 'S') goto yy73; if (yych == 's') goto yy73; goto yy69; yy82: yych = *++YYCURSOR; if (yych == 'I') goto yy95; if (yych == 'i') goto yy95; goto yy53; yy83: yych = *++YYCURSOR; if (yych == 'R') goto yy84; if (yych != 'r') goto yy53; yy84: yych = *++YYCURSOR; if (yych == 'T') goto yy85; if (yych != 't') goto yy53; yy85: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy87; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy87; } else { if (yych != 'n') goto yy53; } } yych = *++YYCURSOR; if (yych == 'I') goto yy92; if (yych == 'i') goto yy92; goto yy53; yy87: yych = *++YYCURSOR; if (yych == 'N') goto yy88; if (yych != 'n') goto yy53; yy88: yych = *++YYCURSOR; if (yych == 'I') goto yy89; if (yych != 'i') goto yy53; yy89: yych = *++YYCURSOR; if (yych == 'G') goto yy90; if (yych != 'g') goto yy53; yy90: yych = *++YYCURSOR; if (yych == 'H') goto yy91; if (yych != 'h') goto yy53; yy91: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy92: yych = *++YYCURSOR; if (yych == 'G') goto yy93; if (yych != 'g') goto yy53; yy93: yych = *++YYCURSOR; if (yych == 'H') goto yy94; if (yych != 'h') goto yy53; yy94: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy95: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy96; if (yych != 'd') goto yy69; yy96: yych = *++YYCURSOR; if (yych == 'A') goto yy97; if (yych != 'a') goto yy53; yy97: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy98: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy100; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy100; if (yych >= 'f') goto yy53; } yych = *++YYCURSOR; if (yych == 'K') goto yy81; if (yych == 'k') goto yy81; goto yy53; yy100: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy101; if (yych != 'n') goto yy69; yy101: yych = *++YYCURSOR; if (yych == 'E') goto yy102; if (yych != 'e') goto yy53; yy102: yych = *++YYCURSOR; if (yych == 'S') goto yy103; if (yych != 's') goto yy53; yy103: yych = *++YYCURSOR; if (yych == 'D') goto yy104; if (yych != 'd') goto yy53; yy104: yych = *++YYCURSOR; if (yych == 'A') goto yy105; if (yych != 'a') goto yy53; yy105: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy106: yych = *++YYCURSOR; if (yych == 'Y') goto yy81; if (yych == 'y') goto yy81; goto yy53; yy107: yych = *++YYCURSOR; if (yych == 'U') goto yy108; if (yych != 'u') goto yy53; yy108: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych == 'r') goto yy81; goto yy53; yy109: yych = *++YYCURSOR; if (yych == 'N') goto yy114; if (yych == 'n') goto yy114; goto yy53; yy110: yych = *++YYCURSOR; if (yych == 'N') goto yy111; if (yych != 'n') goto yy53; yy111: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy73; if (yych <= 'T') goto yy69; } else { if (yych <= 's') { if (yych <= 'r') goto yy69; goto yy73; } else { if (yych != 'u') goto yy69; } } yych = *++YYCURSOR; if (yych == 'T') goto yy113; if (yych != 't') goto yy53; yy113: yych = *++YYCURSOR; if (yych == 'E') goto yy81; if (yych == 'e') goto yy81; goto yy53; yy114: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy115; if (yych <= 'S') goto yy69; goto yy116; } else { if (yych <= 'd') { if (yych <= 'c') goto yy69; } else { if (yych == 't') goto yy116; goto yy69; } } yy115: yych = *++YYCURSOR; if (yych == 'A') goto yy117; if (yych == 'a') goto yy117; goto yy53; yy116: yych = *++YYCURSOR; if (yych == 'H') goto yy81; if (yych == 'h') goto yy81; goto yy53; yy117: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy118: yych = *++YYCURSOR; if (yych == 'N') goto yy129; if (yych == 'n') goto yy129; goto yy53; yy119: yych = *++YYCURSOR; if (yych == 'T') goto yy124; if (yych == 't') goto yy124; goto yy53; yy120: yych = *++YYCURSOR; if (yych == 'C') goto yy121; if (yych != 'c') goto yy53; yy121: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy122; if (yych <= 'R') goto yy69; goto yy73; } else { if (yych <= 'o') { if (yych <= 'n') goto yy69; } else { if (yych == 's') goto yy73; goto yy69; } } yy122: yych = *++YYCURSOR; if (yych == 'N') goto yy123; if (yych != 'n') goto yy53; yy123: yych = *++YYCURSOR; if (yych == 'D') goto yy81; if (yych == 'd') goto yy81; goto yy53; yy124: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy125; if (yych != 'u') goto yy69; yy125: yych = *++YYCURSOR; if (yych == 'R') goto yy126; if (yych != 'r') goto yy53; yy126: yych = *++YYCURSOR; if (yych == 'D') goto yy127; if (yych != 'd') goto yy53; yy127: yych = *++YYCURSOR; if (yych == 'A') goto yy128; if (yych != 'a') goto yy53; yy128: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy129: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy130; if (yych != 'd') goto yy69; yy130: yych = *++YYCURSOR; if (yych == 'A') goto yy131; if (yych != 'a') goto yy53; yy131: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy132: yych = *++YYCURSOR; goto yy3; yy133: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy134: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy135: yych = *++YYCURSOR; if (yych == ')') goto yy132; goto yy3; yy136: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy137: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych != '/') goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy140; } goto yy53; yy140: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy140; } if (yych == '/') goto yy138; if (yych == '_') goto yy138; goto yy3; yy142: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy144: if (yych <= '^') { if (yych == '/') goto yy138; goto yy53; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy143; goto yy53; } yy145: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy146: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy148; case ':': goto yy149; default: goto yy3; } yy147: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': goto yy148; case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy148: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy149: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy152; if (yych <= '9') goto yy132; goto yy3; yy150: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy151; default: goto yy3; } yy151: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'X') { if (yych <= 'G') { if (yych <= 'C') { if (yych == ' ') goto yy57; goto yy3; } else { if (yych == 'E') goto yy3; if (yych <= 'F') goto yy57; goto yy3; } } else { if (yych <= 'R') { if (yych <= 'H') goto yy57; if (yych == 'M') goto yy57; goto yy3; } else { if (yych <= 'T') goto yy57; if (yych == 'W') goto yy57; goto yy3; } } } else { if (yych <= 'l') { if (yych <= 'e') { if (yych <= 'Y') goto yy57; if (yych == 'd') goto yy57; goto yy3; } else { if (yych == 'g') goto yy3; if (yych <= 'h') goto yy57; goto yy3; } } else { if (yych <= 'v') { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy3; if (yych <= 't') goto yy57; goto yy3; } else { if (yych == 'x') goto yy3; if (yych <= 'y') goto yy57; goto yy3; } } } yy152: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy132; goto yy3; yy153: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy154; if (yych <= 'z') goto yy134; goto yy3; } } yy154: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy155; if (yych <= 'z') goto yy135; goto yy3; } } yy155: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy156; if (yych != 'i') goto yy3; } yy156: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy53; yy157: yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy53; yy158: yych = *++YYCURSOR; if (yych == 'S') goto yy159; if (yych != 's') goto yy53; yy159: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy160: switch (yych) { case ' ': goto yy159; case 'D': case 'd': goto yy164; case 'F': case 'f': goto yy166; case 'H': case 'h': goto yy163; case 'M': case 'm': goto yy162; case 'S': case 's': goto yy161; case 'T': case 't': goto yy168; case 'W': case 'w': goto yy165; case 'Y': case 'y': goto yy167; default: goto yy53; } yy161: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy53; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy53; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy222; goto yy53; } else { if (yych <= 'e') goto yy223; if (yych == 'u') goto yy221; goto yy53; } } yy162: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy53; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy213; } else { if (yych == 'o') goto yy212; goto yy53; } } yy163: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy210; goto yy53; yy164: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy209; goto yy53; yy165: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy201; goto yy53; yy166: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy53; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy186; } else { if (yych == 'r') goto yy185; goto yy53; } } yy167: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy182; goto yy53; yy168: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy53; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy170; goto yy53; } } yy169: yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy177; goto yy53; yy170: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy53; yy171: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy173; if (yych == 's') goto yy173; yy172: #line 1323 "parse_date.b.re" { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3289 "" yy173: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy53; yy174: yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy53; yy175: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy53; yy176: yych = *++YYCURSOR; goto yy172; yy177: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy178; if (yych != 'r') goto yy172; yy178: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy53; yy179: yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy53; yy180: yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy53; yy181: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy182: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy53; yy183: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy53; yy184: yych = *++YYCURSOR; if (yych == 'S') goto yy176; if (yych == 's') goto yy176; goto yy172; yy185: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych == 'i') goto yy198; goto yy53; yy186: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych != 'r') goto yy53; yy187: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy53; yy188: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy190; } else { if (yych != 'n') goto yy53; } } yy189: yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy195; goto yy53; yy190: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy53; yy191: yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy53; yy192: yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy53; yy193: yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy53; yy194: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy195: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy53; yy196: yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy53; yy197: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy198: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy199; if (yych != 'd') goto yy172; yy199: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy53; yy200: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy201: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy203; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy203; if (yych >= 'f') goto yy53; } yy202: yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy184; goto yy53; yy203: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy204; if (yych != 'n') goto yy172; yy204: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy53; yy205: yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy53; yy206: yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy53; yy207: yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy53; yy208: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy209: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy184; goto yy53; yy210: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy53; yy211: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy184; goto yy53; yy212: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych == 'n') goto yy217; goto yy53; yy213: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych != 'n') goto yy53; yy214: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy176; if (yych <= 'T') goto yy172; } else { if (yych <= 's') { if (yych <= 'r') goto yy172; goto yy176; } else { if (yych != 'u') goto yy172; } } yy215: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy53; yy216: yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy184; goto yy53; yy217: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy218; if (yych <= 'S') goto yy172; goto yy219; } else { if (yych <= 'd') { if (yych <= 'c') goto yy172; } else { if (yych == 't') goto yy219; goto yy172; } } yy218: yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy220; goto yy53; yy219: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy184; goto yy53; yy220: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy221: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych == 'n') goto yy232; goto yy53; yy222: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy227; goto yy53; yy223: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych != 'c') goto yy53; yy224: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy225; if (yych <= 'R') goto yy172; goto yy176; } else { if (yych <= 'o') { if (yych <= 'n') goto yy172; } else { if (yych == 's') goto yy176; goto yy172; } } yy225: yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy53; yy226: yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy184; goto yy53; yy227: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy228; if (yych != 'u') goto yy172; yy228: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy53; yy229: yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy53; yy230: yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy53; yy231: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy232: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy233; if (yych != 'd') goto yy172; yy233: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy53; yy234: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy235: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy154; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy236; if (yych <= 'z') goto yy137; goto yy3; } } yy236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy155; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy237; if (yych <= 'z') goto yy142; goto yy3; } } yy237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy156; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy238; if (yych <= 'z') goto yy143; goto yy3; } } yy238: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'S') goto yy159; goto yy53; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 's') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy241: yych = *++YYCURSOR; if (yych <= 'h') { if (yych <= '`') { if (yych <= '/') { if (yych <= '.') goto yy160; goto yy138; } else { if (yych == '_') goto yy138; goto yy160; } } else { if (yych <= 'e') { if (yych == 'd') goto yy245; goto yy143; } else { if (yych <= 'f') goto yy247; if (yych <= 'g') goto yy143; goto yy244; } } } else { if (yych <= 't') { if (yych <= 'm') { if (yych <= 'l') goto yy143; goto yy243; } else { if (yych <= 'r') goto yy143; if (yych >= 't') goto yy249; } } else { if (yych <= 'x') { if (yych == 'w') goto yy246; goto yy143; } else { if (yych <= 'y') goto yy248; if (yych <= 'z') goto yy143; goto yy160; } } } yy242: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy144; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy144; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy301; goto yy144; } else { if (yych <= 'e') goto yy302; if (yych == 'u') goto yy303; goto yy144; } } yy243: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy144; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy144; goto yy292; } else { if (yych == 'o') goto yy293; goto yy144; } } yy244: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy290; goto yy144; yy245: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy289; goto yy144; yy246: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy281; goto yy144; yy247: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy144; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy144; goto yy265; } else { if (yych == 'r') goto yy266; goto yy144; } } yy248: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy262; goto yy144; yy249: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy144; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; } else { if (yych == 'u') goto yy251; goto yy144; } } yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy257; goto yy144; yy251: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy173; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy253; if (yych <= 'z') goto yy143; goto yy172; } } yy253: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy144; yy256: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'z') goto yy143; goto yy172; } yy257: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'R') goto yy178; goto yy172; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'r') goto yy258; if (yych <= 'z') goto yy143; goto yy172; } } yy258: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy262: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy144; yy264: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yy265: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych == 'r') goto yy270; goto yy144; yy266: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych != 'i') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy199; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy268; if (yych <= 'z') goto yy143; goto yy172; } } yy268: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy270: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy144; goto yy189; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; goto yy273; } else { if (yych != 'n') goto yy144; } } yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy278; goto yy144; yy273: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy144; yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy278: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy281: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy144; if (yych <= 'D') goto yy203; goto yy202; } else { if (yych <= 'c') goto yy144; if (yych <= 'd') goto yy283; if (yych >= 'f') goto yy144; } yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy264; goto yy144; yy283: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'N') goto yy204; goto yy172; } } else { if (yych <= 'm') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'n') goto yy284; if (yych <= 'z') goto yy143; goto yy172; } } yy284: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy289: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy264; goto yy144; yy290: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy264; goto yy144; yy292: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych == 'n') goto yy298; goto yy144; yy293: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'C') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'D') goto yy218; if (yych == 'T') goto yy219; goto yy172; } } else { if (yych <= 'd') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'c') goto yy143; } else { if (yych == 't') goto yy296; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy297; goto yy144; yy296: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy264; goto yy144; yy297: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy298: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'R') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'S') goto yy176; if (yych == 'U') goto yy215; goto yy172; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'r') goto yy143; goto yy256; } else { if (yych == 'u') goto yy299; if (yych <= 'z') goto yy143; goto yy172; } } yy299: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy264; goto yy144; yy301: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy310; goto yy144; yy302: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych == 'c') goto yy307; goto yy144; yy303: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy233; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy305; if (yych <= 'z') goto yy143; goto yy172; } } yy305: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy307: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'N') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'O') goto yy225; if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'o') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'n') goto yy143; } else { if (yych == 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy264; goto yy144; yy310: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'U') goto yy228; goto yy172; } } else { if (yych <= 't') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'u') goto yy311; if (yych <= 'z') goto yy143; goto yy172; } } yy311: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy315: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy316; if (yych <= 'z') goto yy134; goto yy3; } } yy316: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy317: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy160; case ')': goto yy132; default: goto yy3; } yy318: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy316; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy319; if (yych <= 'z') goto yy137; goto yy3; } } yy319: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy320: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': goto yy160; case ')': goto yy132; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy143; case 'd': goto yy245; case 'f': goto yy247; case 'h': goto yy244; case 'm': goto yy243; case 's': goto yy242; case 't': goto yy249; case 'w': goto yy246; case 'y': goto yy248; default: goto yy3; } yy321: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy328; if (yych <= 'z') goto yy134; goto yy3; } } yy322: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy323; if (yych <= 'z') goto yy134; goto yy3; } } yy323: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy324; if (yych <= 'z') goto yy135; goto yy3; } } yy324: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy325; if (yych != 'e') goto yy3; } yy325: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy53; yy326: yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy53; yy327: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy328: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'h') goto yy329; if (yych <= 'z') goto yy135; goto yy3; } } yy329: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy330: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy337; if (yych <= 'z') goto yy137; goto yy3; } } yy331: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy323; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy332; if (yych <= 'z') goto yy137; goto yy3; } } yy332: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy324; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy333; if (yych <= 'z') goto yy142; goto yy3; } } yy333: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy325; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy334; if (yych <= 'z') goto yy143; goto yy3; } } yy334: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy337: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; goto yy329; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy338; if (yych <= 'z') goto yy142; goto yy3; } } yy338: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy339: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy340; if (yych <= 'z') goto yy134; goto yy3; } } yy340: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych >= 'a') goto yy135; } else { if (yych <= 'n') goto yy342; if (yych <= 'z') goto yy135; } } yy341: #line 1307 "parse_date.b.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 4789 "" yy342: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy343; if (yych != 'e') goto yy3; } yy343: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy53; yy344: yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy53; yy345: yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy53; yy346: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy53; yy347: yych = *++YYCURSOR; goto yy341; yy348: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy340; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy349; if (yych <= 'z') goto yy137; goto yy3; } } yy349: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'n') goto yy350; if (yych <= 'z') goto yy142; goto yy341; } } yy350: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy343; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy351; if (yych <= 'z') goto yy143; goto yy3; } } yy351: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy144; yy355: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy341; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy341; if (yych <= 'z') goto yy143; goto yy341; } yy356: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'c') goto yy357; if (yych <= 'z') goto yy134; goto yy3; } } yy357: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'E') goto yy366; goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy366; if (yych <= 'z') goto yy135; goto yy3; } } } yy358: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); yych = *YYCURSOR; yy359: if (yybm[0+yych] & 64) { goto yy358; } if (yych <= '/') goto yy53; if (yych <= '2') goto yy362; if (yych <= '3') goto yy364; if (yych <= '9') goto yy365; goto yy53; yy360: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy3; if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; yy361: yych = *++YYCURSOR; if (yych <= '/') goto yy359; if (yych <= '0') goto yy440; if (yych <= '2') goto yy441; if (yych <= '3') goto yy442; goto yy359; yy362: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy439; if (yych <= '9') goto yy422; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy363: #line 1126 "parse_date.b.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 5026 "" yy364: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy365: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy370; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy366: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy367; if (yych != 'm') goto yy3; } yy367: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy53; yy368: yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy53; yy369: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy370: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy421; if (yych <= ':') goto yy383; goto yy363; } yy371: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy421; if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy372: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy373: yych = *++YYCURSOR; goto yy378; yy374: yych = *++YYCURSOR; goto yy378; yy375: yych = *++YYCURSOR; goto yy378; yy376: yych = *++YYCURSOR; goto yy378; yy377: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); yych = *YYCURSOR; yy378: if (yybm[0+yych] & 128) { goto yy377; } if (yych <= '/') goto yy363; if (yych <= '1') goto yy379; if (yych <= '2') goto yy380; if (yych <= '9') goto yy381; goto yy363; yy379: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy417; if (yych <= ':') goto yy383; goto yy363; } yy380: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy417; if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy381: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy382: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych <= '9') goto yy415; goto yy363; yy383: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy384; if (yych <= '9') goto yy386; goto yy53; yy384: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; } else { if (yych <= '9') goto yy386; if (yych <= ':') goto yy387; } yy385: #line 1351 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 5235 "" yy386: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy387; if (yych != ':') goto yy385; yy387: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy388; if (yych <= '6') goto yy389; if (yych <= '9') goto yy390; goto yy53; yy388: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy391; goto yy385; yy389: yych = *++YYCURSOR; if (yych == '0') goto yy391; goto yy385; yy390: yych = *++YYCURSOR; goto yy385; yy391: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '+') { if (yych <= '\'') { if (yych != ' ') goto yy385; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy385; goto yy394; } } else { if (yych <= '@') { if (yych == '-') goto yy394; goto yy385; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy397; goto yy385; } } yy392: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '+') { if (yych <= '\'') { if (yych == ' ') goto yy392; goto yy53; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy53; } } else { if (yych <= '@') { if (yych != '-') goto yy53; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; } } yy394: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy410; if (yych <= '2') goto yy411; if (yych <= '9') goto yy412; goto yy53; yy395: yych = *++YYCURSOR; if (yych <= '@') goto yy53; if (yych <= 'Z') goto yy397; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; yy396: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy401; goto yy385; } yy397: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy398: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy399; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy399: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy400; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy400: yych = *++YYCURSOR; if (yych == ')') goto yy390; goto yy385; yy401: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych == '/') goto yy403; goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy399; if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych != '/') goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy400; if (yych <= '^') goto yy385; } else { if (yych <= '`') goto yy385; if (yych <= 'z') goto yy407; goto yy385; } } yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy53; if (yych >= '{') goto yy53; yy405: yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy385; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy405; goto yy385; } yy407: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy390; if (yych <= '.') goto yy385; goto yy403; } else { if (yych <= '_') { if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yy408: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy53; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy408; goto yy53; } yy410: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy412; if (yych <= ':') goto yy413; goto yy385; yy411: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy385; if (yych >= '4') goto yy414; } else { if (yych <= '9') goto yy390; if (yych <= ':') goto yy413; goto yy385; } yy412: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; if (yych >= ';') goto yy385; yy413: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; goto yy385; yy414: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy390; goto yy385; yy415: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy416: yych = *++YYCURSOR; goto yy363; yy417: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy363; } yy418: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy419: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy420; if (yych <= '9') goto yy416; yy420: #line 1100 "parse_date.b.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 5529 "" yy421: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy419; if (yych <= ':') goto yy383; goto yy363; } yy422: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych != '.') goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy423: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy378; if (yych <= '1') goto yy429; goto yy430; } else { if (yych <= '5') goto yy431; if (yych <= '9') goto yy432; goto yy378; } yy424: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy428; if (yych <= ':') goto yy383; goto yy363; } yy425: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy428; if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy426: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy427: yych = *++YYCURSOR; if (yych <= '/') goto yy420; if (yych <= '9') goto yy415; goto yy420; yy428: yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy420; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy420; } yy429: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy438; if (yych <= ':') goto yy433; goto yy363; } yy430: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '3') goto yy438; if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy431: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy432: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy363; } else { if (yych <= '9') goto yy382; if (yych >= ';') goto yy363; } yy433: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy434; if (yych <= '6') goto yy435; if (yych <= '9') goto yy386; goto yy53; yy434: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '9') goto yy436; if (yych <= ':') goto yy387; goto yy385; } yy435: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '0') goto yy391; if (yych == ':') goto yy387; goto yy385; } yy436: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= '(') { if (yych == ' ') goto yy392; if (yych <= '\'') goto yy385; goto yy395; } else { if (yych == '+') goto yy394; if (yych <= ',') goto yy385; goto yy394; } } else { if (yych <= '@') { if (yych <= '.') goto yy387; if (yych == ':') goto yy387; goto yy385; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy397; goto yy385; } } yy437: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy387; goto yy363; } yy438: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy433; goto yy363; } yy439: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych == '.') goto yy423; goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy440: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; if (yych <= '0') goto yy422; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy441: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy442: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy443: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych >= '.') goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy444: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy446; if (yych <= '9') goto yy447; yy446: #line 1238 "parse_date.b.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 5879 "" yy447: yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; goto yy446; yy450: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych <= '-') goto yy444; goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy451: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; goto yy357; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'c') goto yy452; if (yych <= 'z') goto yy137; goto yy3; } } yy452: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy366; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy453; if (yych <= 'z') goto yy142; goto yy3; } } } yy453: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy367; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy454; if (yych <= 'z') goto yy143; goto yy3; } } yy454: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy457: yych = *++YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy138; goto yy359; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy359; if (yych <= 'z') goto yy143; goto yy359; } yy458: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy459; if (yych <= 'z') goto yy134; goto yy3; } } yy459: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'O') goto yy135; } else { if (yych <= 'n') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy460; if (yych <= 'z') goto yy135; goto yy3; } } } yy460: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'B') goto yy461; if (yych != 'b') goto yy3; } yy461: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy53; yy462: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy463: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy459; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy464; if (yych <= 'z') goto yy137; goto yy3; } } yy464: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'O') { if (yych <= 'N') goto yy135; goto yy460; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'n') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'o') goto yy465; if (yych <= 'z') goto yy142; goto yy3; } } } yy465: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'A') goto yy3; goto yy461; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy466; if (yych <= 'z') goto yy143; goto yy3; } } yy466: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy468: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') { if (yych <= 'C') goto yy483; goto yy134; } else { if (yych <= 'P') goto yy482; if (yych <= 'U') goto yy134; goto yy484; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych == 'c') goto yy483; goto yy134; } } else { if (yych <= 'u') { if (yych <= 'p') goto yy482; goto yy134; } else { if (yych <= 'v') goto yy484; if (yych <= 'z') goto yy134; goto yy3; } } } yy469: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy477; if (yych <= 'z') goto yy134; goto yy3; } } yy470: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy475; if (yych <= 'z') goto yy134; goto yy3; } } yy471: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy472; if (yych <= 'z') goto yy134; goto yy3; } } yy472: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy473; if (yych <= 'z') goto yy135; goto yy341; } } yy473: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy474; if (yych != 'a') goto yy3; } yy474: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy475: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy476; if (yych <= 'z') goto yy135; goto yy3; } } yy476: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy477: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'u') goto yy478; if (yych <= 'z') goto yy135; goto yy341; } } yy478: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy479; if (yych != 'r') goto yy3; } yy479: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy53; yy480: yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy53; yy481: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy482: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'T') goto yy490; goto yy135; } else { if (yych <= 's') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy490; if (yych <= 'z') goto yy135; goto yy3; } } } yy483: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy488; if (yych <= 'z') goto yy135; goto yy3; } } yy484: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy485; if (yych <= 'z') goto yy135; goto yy3; } } yy485: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy486; if (yych != 'n') goto yy3; } yy486: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy53; yy487: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy488: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy489; if (yych != 'n') goto yy3; } yy489: yych = *++YYCURSOR; if (yych == 'D') goto yy159; if (yych == 'd') goto yy159; goto yy53; yy490: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= 'D') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'E') goto yy491; if (yych != 'e') goto yy3; } } yy491: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy53; yy492: yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy53; yy493: yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy53; yy494: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy495: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= 'O') { if (yych == 'C') goto yy483; goto yy134; } else { if (yych <= 'P') goto yy482; if (yych <= 'U') goto yy134; goto yy484; } } } else { if (yych <= 'c') { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'b') goto yy137; goto yy510; } } else { if (yych <= 'u') { if (yych == 'p') goto yy509; goto yy137; } else { if (yych <= 'v') goto yy511; if (yych <= 'z') goto yy137; goto yy3; } } } yy496: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy504; if (yych <= 'z') goto yy137; goto yy3; } } yy497: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy502; if (yych <= 'z') goto yy137; goto yy3; } } yy498: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy472; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy499; if (yych <= 'z') goto yy137; goto yy3; } } yy499: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy473; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy500; if (yych <= 'z') goto yy142; goto yy341; } } yy500: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy474; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy501; if (yych <= 'z') goto yy143; goto yy3; } } yy501: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy502: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy476; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy503; if (yych <= 'z') goto yy142; goto yy3; } } yy503: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy504: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; goto yy478; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'u') goto yy505; if (yych <= 'z') goto yy142; goto yy341; } } yy505: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy479; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy506; if (yych <= 'z') goto yy143; goto yy3; } } yy506: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy509: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'T') { if (yych <= 'S') goto yy135; goto yy490; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 's') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 't') goto yy517; if (yych <= 'z') goto yy142; goto yy3; } } } yy510: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy515; if (yych <= 'z') goto yy142; goto yy3; } } yy511: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; goto yy485; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy512; if (yych <= 'z') goto yy142; goto yy3; } } yy512: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy486; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy513; if (yych <= 'z') goto yy143; goto yy3; } } yy513: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy515: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy489; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy516; if (yych <= 'z') goto yy143; goto yy3; } } yy516: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'D') goto yy159; goto yy53; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy517: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy138; goto yy359; } } else { if (yych <= '_') { if (yych == 'E') goto yy491; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'e') goto yy518; if (yych <= 'z') goto yy143; goto yy3; } } } yy518: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy144; yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy522: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy529; if (yych <= 'z') goto yy134; goto yy3; } } yy523: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'r') goto yy527; if (yych <= 'z') goto yy134; goto yy3; } } yy524: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'o') goto yy525; if (yych <= 'z') goto yy134; goto yy3; } } yy525: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy526; if (yych <= 'z') goto yy135; } yy526: #line 1292 "parse_date.b.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } #line 7168 "" yy527: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'I') goto yy135; } else { if (yych <= 'h') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'i') goto yy528; if (yych <= 'z') goto yy135; goto yy3; } } } yy528: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'L') goto yy358; if (yych == 'l') goto yy358; goto yy3; } yy529: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'U') goto yy135; } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy530; if (yych <= 'z') goto yy135; goto yy3; } } } yy530: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy531; if (yych != 's') goto yy3; } yy531: yych = *++YYCURSOR; if (yych == 'T') goto yy358; if (yych == 't') goto yy358; goto yy53; yy532: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy538; if (yych <= 'z') goto yy137; goto yy3; } } yy533: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy536; if (yych <= 'z') goto yy137; goto yy3; } } yy534: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; goto yy525; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy535; if (yych <= 'z') goto yy137; goto yy3; } } yy535: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy526; goto yy132; } else { if (yych == '/') goto yy138; goto yy526; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy526; goto yy138; } else { if (yych <= '`') goto yy526; if (yych <= 'z') goto yy142; goto yy526; } } yy536: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'I') { if (yych <= 'H') goto yy135; goto yy528; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'h') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'i') goto yy537; if (yych <= 'z') goto yy142; goto yy3; } } } yy537: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'K') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy538: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'U') { if (yych <= 'T') goto yy135; goto yy530; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'u') goto yy539; if (yych <= 'z') goto yy142; goto yy3; } } } yy539: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy531; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy540; if (yych <= 'z') goto yy143; goto yy3; } } yy540: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'T') goto yy358; goto yy53; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 't') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy541: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'b') goto yy555; if (yych <= 'z') goto yy134; goto yy3; } } yy542: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'F') goto yy552; if (yych <= 'Q') goto yy134; goto yy551; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy134; goto yy552; } else { if (yych == 'r') goto yy551; if (yych <= 'z') goto yy134; goto yy3; } } yy543: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'u') goto yy548; if (yych <= 'z') goto yy134; goto yy3; } } yy544: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'i') goto yy545; if (yych <= 'z') goto yy134; goto yy3; } } yy545: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy546; if (yych <= 'z') goto yy135; goto yy341; } } yy546: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy547; if (yych != 'a') goto yy3; } yy547: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy548: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy549; if (yych <= 'z') goto yy135; goto yy3; } } yy549: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy550; if (yych != 't') goto yy3; } yy550: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy551: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 's') goto yy554; if (yych <= 'z') goto yy135; goto yy3; } } yy552: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy553; if (yych <= 'z') goto yy135; goto yy3; } } yy553: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy554: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy555: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'R') goto yy135; } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy556; if (yych <= 'z') goto yy135; goto yy3; } } } yy556: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy557; if (yych != 'u') goto yy3; } yy557: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy53; yy558: yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy53; yy559: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy560: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy574; if (yych <= 'z') goto yy137; goto yy3; } } yy561: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'E') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'F') goto yy552; if (yych <= 'Q') goto yy134; goto yy551; } } } else { if (yych <= 'e') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'q') { if (yych <= 'f') goto yy571; goto yy137; } else { if (yych <= 'r') goto yy570; if (yych <= 'z') goto yy137; goto yy3; } } } yy562: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy567; if (yych <= 'z') goto yy137; goto yy3; } } yy563: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy545; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy564; if (yych <= 'z') goto yy137; goto yy3; } } yy564: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy565; if (yych <= 'z') goto yy142; goto yy341; } } yy565: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy547; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy566; if (yych <= 'z') goto yy143; goto yy3; } } yy566: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy567: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; goto yy549; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy568; if (yych <= 'z') goto yy142; goto yy3; } } yy568: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy550; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy569; if (yych <= 'z') goto yy143; goto yy3; } } yy569: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy570: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy573; if (yych <= 'z') goto yy142; goto yy3; } } yy571: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy553; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy572; if (yych <= 'z') goto yy142; goto yy3; } } yy572: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy573: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy574: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'R') { if (yych <= 'Q') goto yy135; goto yy556; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'r') goto yy575; if (yych <= 'z') goto yy142; goto yy3; } } } yy575: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'T') goto yy3; goto yy557; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy576; if (yych <= 'z') goto yy143; goto yy3; } } yy576: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy579: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'L') goto yy586; if (yych <= 'M') goto yy134; goto yy585; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy134; goto yy586; } else { if (yych == 'n') goto yy585; if (yych <= 'z') goto yy134; goto yy3; } } yy580: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy581; if (yych <= 'z') goto yy134; goto yy3; } } yy581: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'U') goto yy135; } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy582; if (yych <= 'z') goto yy135; goto yy3; } } } yy582: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy583; if (yych != 'a') goto yy3; } yy583: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy53; yy584: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy585: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'E') goto yy587; goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy587; if (yych <= 'z') goto yy135; goto yy3; } } } yy586: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'Y') goto yy135; } else { if (yych <= 'x') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'y') goto yy587; if (yych <= 'z') goto yy135; goto yy3; } } } yy587: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } yy588: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'K') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'L') goto yy586; if (yych <= 'M') goto yy134; goto yy585; } } } else { if (yych <= 'k') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'm') { if (yych <= 'l') goto yy595; goto yy137; } else { if (yych <= 'n') goto yy594; if (yych <= 'z') goto yy137; goto yy3; } } } yy589: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy581; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy590; if (yych <= 'z') goto yy137; goto yy3; } } yy590: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'U') { if (yych <= 'T') goto yy135; goto yy582; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'u') goto yy591; if (yych <= 'z') goto yy142; goto yy3; } } } yy591: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy583; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy592; if (yych <= 'z') goto yy143; goto yy3; } } yy592: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy594: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy596; if (yych <= 'z') goto yy142; goto yy3; } } } yy595: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'Y') { if (yych <= 'X') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'x') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'y') goto yy596; if (yych <= 'z') goto yy142; goto yy3; } } } yy596: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '_') { if (yych <= '9') goto yy359; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } yy597: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy598: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy599: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy601: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy602: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy598; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy603: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy604: switch (yych) { case ' ': goto yy603; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy624; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'P': case 'p': goto yy628; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy605: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy1137; if (yych == 'u') goto yy118; goto yy53; } } yy606: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych == 'U') goto yy118; goto yy53; } } else { if (yych <= 'e') { if (yych <= 'a') goto yy119; if (yych <= 'd') goto yy53; goto yy1137; } else { if (yych <= 's') goto yy53; if (yych <= 't') goto yy843; if (yych <= 'u') goto yy118; goto yy53; } } yy607: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy715; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy715; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy608: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy702; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy702; goto yy53; } } yy609: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy718; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy718; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy610: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy1136; } else { if (yych == 'u') goto yy67; goto yy53; } } yy611: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy851; goto yy57; yy612: yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy655; goto yy53; } else { if (yych <= 'd') goto yy843; if (yych == 'o') goto yy655; goto yy53; } yy613: yych = *++YYCURSOR; if (yych == 'd') goto yy843; goto yy53; yy614: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy783; case '3': goto yy785; case '4': case '5': case '6': case '7': case '8': case '9': goto yy786; case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy615: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy740; case 'D': case 'd': goto yy744; case 'F': case 'f': goto yy738; case 'J': case 'j': goto yy737; case 'M': case 'm': goto yy739; case 'N': case 'n': goto yy743; case 'O': case 'o': goto yy742; case 'S': case 's': goto yy741; default: goto yy617; } yy616: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy617: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy701; case 'F': case 'f': goto yy697; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy698; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy700; case 'V': goto yy621; case 'X': goto yy622; default: goto yy53; } yy618: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy693; goto yy694; } else { if (yych <= '5') goto yy695; if (yych <= '9') goto yy696; goto yy617; } yy619: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych >= ' ') goto yy657; } else { if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; } } else { if (yych <= 'V') { if (yych <= 'I') goto yy692; if (yych >= 'V') goto yy665; } else { if (yych == 'X') goto yy665; } } yy620: #line 1139 "parse_date.b.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 9054 "" yy621: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy690; goto yy620; } yy622: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy689; goto yy620; } yy623: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy682; if (yych <= 'T') goto yy53; goto yy681; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy682; } else { if (yych == 'u') goto yy681; goto yy53; } } yy624: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { if (yych == '.') goto yy629; goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'P') goto yy675; goto yy53; } } else { if (yych <= 'o') { if (yych <= 'U') goto yy674; if (yych == 'm') goto yy630; goto yy53; } else { if (yych <= 'p') goto yy675; if (yych == 'u') goto yy674; goto yy53; } } yy625: yych = *++YYCURSOR; if (yych == 'C') goto yy669; if (yych == 'c') goto yy669; goto yy53; yy626: yych = *++YYCURSOR; if (yych == 'O') goto yy655; if (yych == 'o') goto yy655; goto yy53; yy627: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy633; if (yych <= '9') goto yy635; goto yy53; yy628: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'm') goto yy630; goto yy53; } yy629: yych = *++YYCURSOR; if (yych == 'M') goto yy630; if (yych != 'm') goto yy53; yy630: ++YYCURSOR; if ((yych = *YYCURSOR) == '.') goto yy632; yy631: #line 929 "parse_date.b.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 9165 "" yy632: yych = *++YYCURSOR; goto yy631; yy633: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy636; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; } yy634: #line 946 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 9202 "" yy635: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy636; if (yych != ':') goto yy634; yy636: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy637; if (yych <= '6') goto yy638; if (yych <= '9') goto yy639; goto yy53; yy637: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy643; goto yy634; yy638: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy643; goto yy634; yy639: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy634; yy640: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy641: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy634; if (yych <= '9') goto yy641; goto yy634; yy643: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '@') goto yy634; goto yy646; } } else { if (yych <= '`') { if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy644: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy644; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy646; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy646: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy648; if (yych == 'm') goto yy648; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy648; if (yych != 'm') goto yy53; yy648: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy649: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy636; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy650: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy650; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy652; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy652: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy654; if (yych == 'm') goto yy654; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy654; if (yych != 'm') goto yy53; yy654: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy655: yych = *++YYCURSOR; if (yych == 'V') goto yy656; if (yych != 'v') goto yy53; yy656: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy657: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy658: if (yych <= 0x1F) goto yy53; if (yych <= '.') goto yy657; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy659: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy660; if (yych <= '9') goto yy666; yy660: #line 1073 "parse_date.b.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 9404 "" yy661: yych = *++YYCURSOR; if (yych == 'M') goto yy662; if (yych != 'm') goto yy53; yy662: yych = *++YYCURSOR; if (yych == 'B') goto yy663; if (yych != 'b') goto yy53; yy663: yych = *++YYCURSOR; if (yych == 'E') goto yy664; if (yych != 'e') goto yy53; yy664: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych != 'r') goto yy53; yy665: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; yy666: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yy667: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yych = *++YYCURSOR; goto yy660; yy669: yych = *++YYCURSOR; if (yych == 'T') goto yy670; if (yych != 't') goto yy53; yy670: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'O') { if (yych <= 'N') goto yy620; } else { if (yych != 'o') goto yy620; } } yy671: yych = *++YYCURSOR; if (yych == 'B') goto yy672; if (yych != 'b') goto yy53; yy672: yych = *++YYCURSOR; if (yych == 'E') goto yy673; if (yych != 'e') goto yy53; yy673: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy674: yych = *++YYCURSOR; if (yych == 'G') goto yy678; if (yych == 'g') goto yy678; goto yy53; yy675: yych = *++YYCURSOR; if (yych == 'R') goto yy676; if (yych != 'r') goto yy53; yy676: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'I') { if (yych <= 'H') goto yy620; } else { if (yych != 'i') goto yy620; } } yy677: yych = *++YYCURSOR; if (yych == 'L') goto yy665; if (yych == 'l') goto yy665; goto yy53; yy678: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy679: yych = *++YYCURSOR; if (yych == 'S') goto yy680; if (yych != 's') goto yy53; yy680: yych = *++YYCURSOR; if (yych == 'T') goto yy665; if (yych == 't') goto yy665; goto yy53; yy681: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy688; if (yych <= 'M') goto yy53; goto yy687; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy688; } else { if (yych == 'n') goto yy687; goto yy53; } } yy682: yych = *++YYCURSOR; if (yych == 'N') goto yy683; if (yych != 'n') goto yy53; yy683: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy684: yych = *++YYCURSOR; if (yych == 'A') goto yy685; if (yych != 'a') goto yy53; yy685: yych = *++YYCURSOR; if (yych == 'R') goto yy686; if (yych != 'r') goto yy53; yy686: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy687: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy688: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'Y') { if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy689: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy690: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych != 'I') goto yy620; } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy692: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy693: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy733; if (yych <= ':') goto yy636; goto yy634; } yy694: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '2') goto yy733; if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy695: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy696: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych == ':') goto yy636; goto yy634; yy697: yych = *++YYCURSOR; if (yych == 'E') goto yy718; if (yych == 'e') goto yy718; goto yy53; yy698: yych = *++YYCURSOR; if (yych == 'A') goto yy715; if (yych == 'a') goto yy715; goto yy53; yy699: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy675; if (yych <= 'T') goto yy53; goto yy674; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy675; } else { if (yych == 'u') goto yy674; goto yy53; } } yy700: yych = *++YYCURSOR; if (yych == 'E') goto yy708; if (yych == 'e') goto yy708; goto yy53; yy701: yych = *++YYCURSOR; if (yych == 'E') goto yy702; if (yych != 'e') goto yy53; yy702: yych = *++YYCURSOR; if (yych == 'C') goto yy703; if (yych != 'c') goto yy53; yy703: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy704: yych = *++YYCURSOR; if (yych == 'M') goto yy705; if (yych != 'm') goto yy53; yy705: yych = *++YYCURSOR; if (yych == 'B') goto yy706; if (yych != 'b') goto yy53; yy706: yych = *++YYCURSOR; if (yych == 'E') goto yy707; if (yych != 'e') goto yy53; yy707: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy708: yych = *++YYCURSOR; if (yych == 'P') goto yy709; if (yych != 'p') goto yy53; yy709: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'T') { if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy711: yych = *++YYCURSOR; if (yych == 'M') goto yy712; if (yych != 'm') goto yy53; yy712: yych = *++YYCURSOR; if (yych == 'B') goto yy713; if (yych != 'b') goto yy53; yy713: yych = *++YYCURSOR; if (yych == 'E') goto yy714; if (yych != 'e') goto yy53; yy714: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy715: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy716; if (yych <= 'X') goto yy53; goto yy665; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy665; goto yy53; } } yy716: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'C') { if (yych <= 'B') goto yy620; } else { if (yych != 'c') goto yy620; } } yy717: yych = *++YYCURSOR; if (yych == 'H') goto yy665; if (yych == 'h') goto yy665; goto yy53; yy718: yych = *++YYCURSOR; if (yych == 'B') goto yy719; if (yych != 'b') goto yy53; yy719: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'R') { if (yych <= 'Q') goto yy620; } else { if (yych != 'r') goto yy620; } } yy720: yych = *++YYCURSOR; if (yych == 'U') goto yy721; if (yych != 'u') goto yy53; yy721: yych = *++YYCURSOR; if (yych == 'A') goto yy722; if (yych != 'a') goto yy53; yy722: yych = *++YYCURSOR; if (yych == 'R') goto yy723; if (yych != 'r') goto yy53; yy723: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy724: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy725; if (yych <= '6') goto yy726; if (yych <= '9') goto yy727; goto yy53; yy725: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy732; goto yy634; yy726: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy732; if (yych <= '9') goto yy728; goto yy634; } yy727: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych >= ':') goto yy634; yy728: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy729; if (yych <= '9') goto yy730; yy729: #line 1087 "parse_date.b.re" { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 9929 "" yy730: yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych >= ':') goto yy729; yych = *++YYCURSOR; goto yy729; yy732: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy644; goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy646; if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy733: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy650; goto yy634; } else { if (yych <= '.') goto yy724; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy734: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych <= '9') goto yy736; goto yy53; yy735: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy736: yych = *++YYCURSOR; if (yych == '-') goto yy773; goto yy53; yy737: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy769; if (yych <= 'T') goto yy53; goto yy768; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy769; } else { if (yych == 'u') goto yy768; goto yy53; } } yy738: yych = *++YYCURSOR; if (yych == 'E') goto yy766; if (yych == 'e') goto yy766; goto yy53; yy739: yych = *++YYCURSOR; if (yych == 'A') goto yy763; if (yych == 'a') goto yy763; goto yy53; yy740: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy760; if (yych <= 'T') goto yy53; goto yy759; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy760; } else { if (yych == 'u') goto yy759; goto yy53; } } yy741: yych = *++YYCURSOR; if (yych == 'E') goto yy756; if (yych == 'e') goto yy756; goto yy53; yy742: yych = *++YYCURSOR; if (yych == 'C') goto yy754; if (yych == 'c') goto yy754; goto yy53; yy743: yych = *++YYCURSOR; if (yych == 'O') goto yy752; if (yych == 'o') goto yy752; goto yy53; yy744: yych = *++YYCURSOR; if (yych == 'E') goto yy745; if (yych != 'e') goto yy53; yy745: yych = *++YYCURSOR; if (yych == 'C') goto yy746; if (yych != 'c') goto yy53; yy746: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy704; } else { if (yych == 'e') goto yy704; goto yy620; } } yy747: yych = *++YYCURSOR; if (yych <= '/') goto yy658; if (yych <= '0') goto yy748; if (yych <= '2') goto yy749; if (yych <= '3') goto yy750; goto yy658; yy748: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '0') goto yy666; if (yych <= '9') goto yy751; goto yy660; yy749: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy751; goto yy660; yy750: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '1') goto yy751; if (yych <= '9') goto yy666; goto yy660; yy751: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy667; goto yy660; yy752: yych = *++YYCURSOR; if (yych == 'V') goto yy753; if (yych != 'v') goto yy53; yy753: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy754: yych = *++YYCURSOR; if (yych == 'T') goto yy755; if (yych != 't') goto yy53; yy755: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'O') { if (yych <= '9') goto yy659; if (yych <= 'N') goto yy620; goto yy671; } else { if (yych == 'o') goto yy671; goto yy620; } } yy756: yych = *++YYCURSOR; if (yych == 'P') goto yy757; if (yych != 'p') goto yy53; yy757: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'T') { if (yych <= '9') goto yy659; if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy711; } else { if (yych == 'e') goto yy711; goto yy620; } } yy759: yych = *++YYCURSOR; if (yych == 'G') goto yy762; if (yych == 'g') goto yy762; goto yy53; yy760: yych = *++YYCURSOR; if (yych == 'R') goto yy761; if (yych != 'r') goto yy53; yy761: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'I') { if (yych <= '9') goto yy659; if (yych <= 'H') goto yy620; goto yy677; } else { if (yych == 'i') goto yy677; goto yy620; } } yy762: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy679; } else { if (yych == 'u') goto yy679; goto yy620; } } yy763: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy764; if (yych <= 'X') goto yy53; goto yy765; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy765; goto yy53; } } yy764: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'C') { if (yych <= '9') goto yy659; if (yych <= 'B') goto yy620; goto yy717; } else { if (yych == 'c') goto yy717; goto yy620; } } yy765: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) goto yy620; if (yych <= ',') goto yy657; goto yy747; } else { if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; } yy766: yych = *++YYCURSOR; if (yych == 'B') goto yy767; if (yych != 'b') goto yy53; yy767: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'R') { if (yych <= '9') goto yy659; if (yych <= 'Q') goto yy620; goto yy720; } else { if (yych == 'r') goto yy720; goto yy620; } } yy768: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy772; if (yych <= 'M') goto yy53; goto yy771; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy772; } else { if (yych == 'n') goto yy771; goto yy53; } } yy769: yych = *++YYCURSOR; if (yych == 'N') goto yy770; if (yych != 'n') goto yy53; yy770: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy684; } else { if (yych == 'u') goto yy684; goto yy620; } } yy771: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy772: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'Y') { if (yych <= '9') goto yy659; if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy773: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy774; if (yych <= '3') goto yy776; if (yych <= '9') goto yy777; goto yy53; yy774: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '9') goto yy777; if (yych >= 'n') goto yy779; } else { if (yych <= 'r') { if (yych >= 'r') goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; } } yy775: #line 1060 "parse_date.b.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 10457 "" yy776: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '1') goto yy777; if (yych <= 'm') goto yy775; goto yy779; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } } yy777: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy779; goto yy775; } else { if (yych <= 'r') goto yy780; if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } yy778: yych = *++YYCURSOR; if (yych == 't') goto yy782; goto yy53; yy779: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy780: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy781: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy782: yych = *++YYCURSOR; goto yy775; yy783: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych >= '/') goto yy837; } else { if (yych <= '9') goto yy786; if (yych >= 'n') goto yy834; } } else { if (yych <= 'r') { if (yych >= 'r') goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; } } yy784: #line 1033 "parse_date.b.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 10539 "" yy785: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych <= '.') goto yy784; goto yy837; } else { if (yych <= '1') goto yy786; if (yych <= 'm') goto yy784; goto yy834; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy786: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy837; if (yych <= 'm') goto yy784; goto yy834; } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy787: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy832; if (yych <= 'T') goto yy53; goto yy831; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy832; } else { if (yych == 'u') goto yy831; goto yy53; } } yy788: yych = *++YYCURSOR; if (yych == 'E') goto yy830; if (yych == 'e') goto yy830; goto yy53; yy789: yych = *++YYCURSOR; if (yych == 'A') goto yy829; if (yych == 'a') goto yy829; goto yy53; yy790: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy828; if (yych <= 'T') goto yy53; goto yy827; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy828; } else { if (yych == 'u') goto yy827; goto yy53; } } yy791: yych = *++YYCURSOR; if (yych == 'E') goto yy825; if (yych == 'e') goto yy825; goto yy53; yy792: yych = *++YYCURSOR; if (yych == 'C') goto yy824; if (yych == 'c') goto yy824; goto yy53; yy793: yych = *++YYCURSOR; if (yych == 'O') goto yy823; if (yych == 'o') goto yy823; goto yy53; yy794: yych = *++YYCURSOR; if (yych == 'E') goto yy795; if (yych != 'e') goto yy53; yy795: yych = *++YYCURSOR; if (yych == 'C') goto yy796; if (yych != 'c') goto yy53; yy796: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy797: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy803; if (yych <= '2') goto yy804; goto yy53; yy803: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy805; goto yy53; yy804: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy805: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy810; if (yych <= '6') goto yy811; goto yy53; yy810: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy812; goto yy53; yy811: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy812: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yy813: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '*') { if (yych == ' ') goto yy813; goto yy53; } else { if (yych == ',') goto yy53; if (yych >= '.') goto yy53; } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy816; if (yych <= '2') goto yy818; if (yych <= '9') goto yy819; goto yy53; yy816: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy817; if (yych <= '9') goto yy819; if (yych <= ':') goto yy820; yy817: #line 1264 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } #line 10742 "" yy818: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy817; if (yych >= '4') goto yy821; } else { if (yych <= '9') goto yy822; if (yych <= ':') goto yy820; goto yy817; } yy819: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; if (yych >= ';') goto yy817; yy820: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; goto yy817; yy821: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych >= ':') goto yy817; yy822: yych = *++YYCURSOR; goto yy817; yy823: yych = *++YYCURSOR; if (yych == 'V') goto yy796; if (yych == 'v') goto yy796; goto yy53; yy824: yych = *++YYCURSOR; if (yych == 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; yy825: yych = *++YYCURSOR; if (yych == 'P') goto yy826; if (yych != 'p') goto yy53; yy826: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy797; goto yy53; } else { if (yych <= 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; } yy827: yych = *++YYCURSOR; if (yych == 'G') goto yy796; if (yych == 'g') goto yy796; goto yy53; yy828: yych = *++YYCURSOR; if (yych == 'R') goto yy796; if (yych == 'r') goto yy796; goto yy53; yy829: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy796; if (yych <= 'X') goto yy53; goto yy796; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy796; } else { if (yych == 'y') goto yy796; goto yy53; } } yy830: yych = *++YYCURSOR; if (yych == 'B') goto yy796; if (yych == 'b') goto yy796; goto yy53; yy831: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy796; if (yych <= 'M') goto yy53; goto yy796; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy796; } else { if (yych == 'n') goto yy796; goto yy53; } } yy832: yych = *++YYCURSOR; if (yych == 'N') goto yy796; if (yych == 'n') goto yy796; goto yy53; yy833: yych = *++YYCURSOR; if (yych == 't') goto yy842; goto yy53; yy834: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy835: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy836: yych = *++YYCURSOR; if (yych == 'h') goto yy842; goto yy53; yy837: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; goto yy784; yy842: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy837; goto yy784; yy843: yych = *++YYCURSOR; if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych >= '0') goto yy617; yy844: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy845: yych = *++YYCURSOR; if (yych <= '/') goto yy617; if (yych <= '0') goto yy846; if (yych <= '1') goto yy847; if (yych <= '9') goto yy848; goto yy617; yy846: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych <= '9') goto yy848; goto yy53; yy847: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy848: yych = *++YYCURSOR; if (yych != '.') goto yy53; yy849: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych <= '9') goto yy728; goto yy729; yy851: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy879; goto yy57; yy852: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy856; case 'D': case 'd': goto yy860; case 'F': case 'f': goto yy854; case 'J': case 'j': goto yy853; case 'M': case 'm': goto yy855; case 'N': case 'n': goto yy859; case 'O': case 'o': goto yy858; case 'S': case 's': goto yy857; default: goto yy53; } yy853: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy878; if (yych <= 'T') goto yy53; goto yy877; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy878; } else { if (yych == 'u') goto yy877; goto yy53; } } yy854: yych = *++YYCURSOR; if (yych == 'E') goto yy876; if (yych == 'e') goto yy876; goto yy53; yy855: yych = *++YYCURSOR; if (yych == 'A') goto yy875; if (yych == 'a') goto yy875; goto yy53; yy856: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy874; if (yych <= 'T') goto yy53; goto yy873; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy874; } else { if (yych == 'u') goto yy873; goto yy53; } } yy857: yych = *++YYCURSOR; if (yych == 'E') goto yy871; if (yych == 'e') goto yy871; goto yy53; yy858: yych = *++YYCURSOR; if (yych == 'C') goto yy870; if (yych == 'c') goto yy870; goto yy53; yy859: yych = *++YYCURSOR; if (yych == 'O') goto yy869; if (yych == 'o') goto yy869; goto yy53; yy860: yych = *++YYCURSOR; if (yych == 'E') goto yy861; if (yych != 'e') goto yy53; yy861: yych = *++YYCURSOR; if (yych == 'C') goto yy862; if (yych != 'c') goto yy53; yy862: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy863: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy864; if (yych <= '2') goto yy865; if (yych <= '3') goto yy866; goto yy53; yy864: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy865: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy866: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy867: ++YYCURSOR; #line 1251 "parse_date.b.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 11075 "" yy869: yych = *++YYCURSOR; if (yych == 'V') goto yy862; if (yych == 'v') goto yy862; goto yy53; yy870: yych = *++YYCURSOR; if (yych == 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; yy871: yych = *++YYCURSOR; if (yych == 'P') goto yy872; if (yych != 'p') goto yy53; yy872: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy863; goto yy53; } else { if (yych <= 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; } yy873: yych = *++YYCURSOR; if (yych == 'G') goto yy862; if (yych == 'g') goto yy862; goto yy53; yy874: yych = *++YYCURSOR; if (yych == 'R') goto yy862; if (yych == 'r') goto yy862; goto yy53; yy875: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy862; if (yych <= 'X') goto yy53; goto yy862; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy862; } else { if (yych == 'y') goto yy862; goto yy53; } } yy876: yych = *++YYCURSOR; if (yych == 'B') goto yy862; if (yych == 'b') goto yy862; goto yy53; yy877: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy862; if (yych <= 'M') goto yy53; goto yy862; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy862; } else { if (yych == 'n') goto yy862; goto yy53; } } yy878: yych = *++YYCURSOR; if (yych == 'N') goto yy862; if (yych == 'n') goto yy862; goto yy53; yy879: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy900; case '1': goto yy901; case '2': goto yy903; case '3': goto yy904; case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy880; } yy880: #line 1283 "parse_date.b.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 11219 "" yy881: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1065; case '1': goto yy1066; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1067; case 'A': case 'a': goto yy1060; case 'D': case 'd': goto yy1064; case 'F': case 'f': goto yy1058; case 'J': case 'j': goto yy1057; case 'M': case 'm': goto yy1059; case 'N': case 'n': goto yy1063; case 'O': case 'o': goto yy1062; case 'S': case 's': goto yy1061; default: goto yy886; } yy882: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1038; if (yych <= '1') goto yy1039; if (yych <= '9') goto yy1040; goto yy53; yy883: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy884: switch (yych) { case ' ': goto yy883; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy899; case 'F': case 'f': goto yy893; case 'H': case 'h': goto yy60; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy894; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy896; case 'T': case 't': goto yy65; case 'V': goto yy890; case 'W': case 'w': goto yy62; case 'X': goto yy891; case 'Y': case 'y': goto yy64; default: goto yy53; } yy885: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy886: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy1030; case 'F': case 'f': goto yy1027; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy1028; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy1029; case 'V': goto yy890; case 'X': goto yy891; default: goto yy53; } yy887: yych = *++YYCURSOR; if (yych <= '/') goto yy886; if (yych <= '0') goto yy1024; if (yych <= '2') goto yy1025; if (yych <= '3') goto yy1026; goto yy886; yy888: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy1023; } else { if (yych == 'W') goto yy889; if (yych <= 'X') goto yy977; } yy889: #line 1113 "parse_date.b.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 11378 "" yy890: yych = *++YYCURSOR; if (yych == 'I') goto yy1021; goto yy889; yy891: yych = *++YYCURSOR; if (yych == 'I') goto yy1020; goto yy889; yy892: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1013; if (yych <= 'T') goto yy53; goto yy1012; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1013; } else { if (yych == 'u') goto yy1012; goto yy53; } } yy893: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy1006; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy1006; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy894: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy1003; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy1003; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy895: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy997; if (yych <= 'T') goto yy53; goto yy996; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy997; } else { if (yych == 'u') goto yy996; goto yy53; } } yy896: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy989; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy989; if (yych == 'u') goto yy118; goto yy53; } } yy897: yych = *++YYCURSOR; if (yych == 'C') goto yy984; if (yych == 'c') goto yy984; goto yy53; yy898: yych = *++YYCURSOR; if (yych == 'O') goto yy978; if (yych == 'o') goto yy978; goto yy53; yy899: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy971; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy971; goto yy53; } } yy900: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy969; if (yych <= '9') goto yy970; goto yy57; yy901: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy938; if (yych <= '9') goto yy917; goto yy57; yy902: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy918; if (yych <= '1') goto yy919; goto yy53; yy903: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy917; goto yy57; yy904: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy913; if (yych <= '6') goto yy914; if (yych <= '9') goto yy51; goto yy57; yy905: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '0') goto yy906; if (yych <= '4') goto yy907; goto yy908; } else { if (yych <= 'E') { if (yych <= 'D') goto yy53; goto yy98; } else { if (yych == 'e') goto yy98; goto yy53; } } yy906: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy907: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy908: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy909: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy910; if (yych <= '7') goto yy911; yy910: #line 1219 "parse_date.b.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11588 "" yy911: ++YYCURSOR; #line 1200 "parse_date.b.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11609 "" yy913: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy914: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '6') goto yy915; if (yych <= '9') goto yy51; goto yy57; yy915: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'X') { if (yych <= 'G') { if (yych <= 'C') { if (yych == ' ') goto yy57; } else { if (yych == 'E') goto yy916; if (yych <= 'F') goto yy57; } } else { if (yych <= 'R') { if (yych <= 'H') goto yy57; if (yych == 'M') goto yy57; } else { if (yych <= 'T') goto yy57; if (yych == 'W') goto yy57; } } } else { if (yych <= 'l') { if (yych <= 'e') { if (yych <= 'Y') goto yy57; if (yych == 'd') goto yy57; } else { if (yych == 'g') goto yy916; if (yych <= 'h') goto yy57; } } else { if (yych <= 'v') { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy916; if (yych <= 't') goto yy57; } else { if (yych == 'x') goto yy916; if (yych <= 'y') goto yy57; } } } yy916: #line 1187 "parse_date.b.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 11677 "" yy917: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy918: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy920; goto yy53; yy919: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy920: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy922; if (yych <= '2') goto yy923; if (yych <= '3') goto yy924; goto yy53; yy922: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy923: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy924: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy925: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy927; if (yych <= '2') goto yy928; goto yy53; yy927: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy929; goto yy53; yy928: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy929: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy934; if (yych <= '6') goto yy935; goto yy53; yy934: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy935: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy936: ++YYCURSOR; yy937: #line 1163 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 11782 "" yy938: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych >= '1') goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy939: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy940: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy941: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': goto yy942; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy916; } yy942: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } switch (yych) { case ' ': goto yy56; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': goto yy944; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; case 't': goto yy945; default: goto yy943; } yy943: #line 1151 "parse_date.b.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 11930 "" yy944: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych <= '1') goto yy959; goto yy960; } else { if (yych <= '9') goto yy961; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yy945: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '2') goto yy947; } else { if (yych <= '9') goto yy948; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy953; if (yych <= '9') goto yy948; goto yy53; yy947: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy953; if (yych <= '5') goto yy949; goto yy53; yy948: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yy949: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy950: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy951: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy952: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy953: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; goto yy53; yy954: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy955; if (yych <= '6') goto yy956; if (yych <= '9') goto yy950; goto yy53; yy955: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy957; if (yych <= '6') goto yy958; if (yych <= '9') goto yy936; goto yy53; yy956: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy957; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy957: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy958: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy959: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy968; if (yych <= '9') goto yy961; if (yych <= ':') goto yy962; goto yy53; yy960: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '3') goto yy968; goto yy949; } else { if (yych == ':') goto yy962; goto yy53; } yy961: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy949; if (yych != ':') goto yy53; yy962: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy966; if (yych <= '6') goto yy967; goto yy53; yy966: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy967: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy968: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; if (yych <= ':') goto yy962; goto yy53; yy969: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy51; if (yych <= '9') goto yy915; goto yy57; yy970: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych <= '0') goto yy939; goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy971: yych = *++YYCURSOR; if (yych == 'C') goto yy972; if (yych != 'c') goto yy53; yy972: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy973; if (yych != 'e') goto yy889; yy973: yych = *++YYCURSOR; if (yych == 'M') goto yy974; if (yych != 'm') goto yy53; yy974: yych = *++YYCURSOR; if (yych == 'B') goto yy975; if (yych != 'b') goto yy53; yy975: yych = *++YYCURSOR; if (yych == 'E') goto yy976; if (yych != 'e') goto yy53; yy976: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych != 'r') goto yy53; yy977: yych = *++YYCURSOR; goto yy889; yy978: yych = *++YYCURSOR; if (yych == 'V') goto yy979; if (yych != 'v') goto yy53; yy979: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy980; if (yych != 'e') goto yy889; yy980: yych = *++YYCURSOR; if (yych == 'M') goto yy981; if (yych != 'm') goto yy53; yy981: yych = *++YYCURSOR; if (yych == 'B') goto yy982; if (yych != 'b') goto yy53; yy982: yych = *++YYCURSOR; if (yych == 'E') goto yy983; if (yych != 'e') goto yy53; yy983: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy984: yych = *++YYCURSOR; if (yych == 'T') goto yy985; if (yych != 't') goto yy53; yy985: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy986; if (yych != 'o') goto yy889; yy986: yych = *++YYCURSOR; if (yych == 'B') goto yy987; if (yych != 'b') goto yy53; yy987: yych = *++YYCURSOR; if (yych == 'E') goto yy988; if (yych != 'e') goto yy53; yy988: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy989: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych != 'p') goto yy53; } } yy990: yych = *++YYCURSOR; if (yych == 'T') goto yy991; if (yych != 't') goto yy889; yy991: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy992; if (yych != 'e') goto yy889; yy992: yych = *++YYCURSOR; if (yych == 'M') goto yy993; if (yych != 'm') goto yy53; yy993: yych = *++YYCURSOR; if (yych == 'B') goto yy994; if (yych != 'b') goto yy53; yy994: yych = *++YYCURSOR; if (yych == 'E') goto yy995; if (yych != 'e') goto yy53; yy995: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy996: yych = *++YYCURSOR; if (yych == 'G') goto yy1000; if (yych == 'g') goto yy1000; goto yy53; yy997: yych = *++YYCURSOR; if (yych == 'R') goto yy998; if (yych != 'r') goto yy53; yy998: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy999; if (yych != 'i') goto yy889; yy999: yych = *++YYCURSOR; if (yych == 'L') goto yy977; if (yych == 'l') goto yy977; goto yy53; yy1000: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1001; if (yych != 'u') goto yy889; yy1001: yych = *++YYCURSOR; if (yych == 'S') goto yy1002; if (yych != 's') goto yy53; yy1002: yych = *++YYCURSOR; if (yych == 'T') goto yy977; if (yych == 't') goto yy977; goto yy53; yy1003: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1004; if (yych <= 'X') goto yy53; goto yy977; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy977; goto yy53; } } yy1004: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1005; if (yych != 'c') goto yy889; yy1005: yych = *++YYCURSOR; if (yych == 'H') goto yy977; if (yych == 'h') goto yy977; goto yy53; yy1006: yych = *++YYCURSOR; if (yych == 'B') goto yy1007; if (yych != 'b') goto yy53; yy1007: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1008; if (yych != 'r') goto yy889; yy1008: yych = *++YYCURSOR; if (yych == 'U') goto yy1009; if (yych != 'u') goto yy53; yy1009: yych = *++YYCURSOR; if (yych == 'A') goto yy1010; if (yych != 'a') goto yy53; yy1010: yych = *++YYCURSOR; if (yych == 'R') goto yy1011; if (yych != 'r') goto yy53; yy1011: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1012: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1019; if (yych <= 'M') goto yy53; goto yy1018; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1019; } else { if (yych == 'n') goto yy1018; goto yy53; } } yy1013: yych = *++YYCURSOR; if (yych == 'N') goto yy1014; if (yych != 'n') goto yy53; yy1014: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1015; if (yych != 'u') goto yy889; yy1015: yych = *++YYCURSOR; if (yych == 'A') goto yy1016; if (yych != 'a') goto yy53; yy1016: yych = *++YYCURSOR; if (yych == 'R') goto yy1017; if (yych != 'r') goto yy53; yy1017: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1018: yych = *++YYCURSOR; if (yych == 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; yy1019: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; yy1020: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1021: yych = *++YYCURSOR; if (yych != 'I') goto yy889; yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1023: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1024: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1037; if (yych <= '9') goto yy1036; goto yy53; yy1025: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1035; goto yy53; yy1026: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1033; if (yych <= '6') goto yy1032; goto yy53; yy1027: yych = *++YYCURSOR; if (yych == 'E') goto yy1006; if (yych == 'e') goto yy1006; goto yy53; yy1028: yych = *++YYCURSOR; if (yych == 'A') goto yy1003; if (yych == 'a') goto yy1003; goto yy53; yy1029: yych = *++YYCURSOR; if (yych == 'E') goto yy1031; if (yych == 'e') goto yy1031; goto yy53; yy1030: yych = *++YYCURSOR; if (yych == 'E') goto yy971; if (yych == 'e') goto yy971; goto yy53; yy1031: yych = *++YYCURSOR; if (yych == 'P') goto yy990; if (yych == 'p') goto yy990; goto yy53; yy1032: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '6') goto yy1034; goto yy53; yy1033: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1034: yych = *++YYCURSOR; goto yy916; yy1035: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1036: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1037: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1038: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '0') goto yy1040; if (yych <= '9') goto yy1051; goto yy53; yy1039: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '2') goto yy1051; goto yy53; yy1040: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy1041: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1042; if (yych <= '3') goto yy1044; if (yych <= '9') goto yy1045; goto yy53; yy1042: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1045; if (yych >= 'n') goto yy1047; } else { if (yych <= 'r') { if (yych >= 'r') goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; } } yy1043: #line 1048 "parse_date.b.re" { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 12491 "" yy1044: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1045; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1045: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1047; goto yy1043; } else { if (yych <= 'r') goto yy1048; if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } yy1046: yych = *++YYCURSOR; if (yych == 't') goto yy1050; goto yy53; yy1047: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1048: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1049: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy1050: yych = *++YYCURSOR; goto yy1043; yy1051: yych = *++YYCURSOR; if (yych != '/') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1054; } else { if (yych <= '3') goto yy1055; if (yych <= '9') goto yy1045; goto yy53; } yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '0') { if (yych <= '/') goto yy1043; goto yy1045; } else { if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1054: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1055: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1056: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy1050; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1057: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1132; if (yych <= 'T') goto yy53; goto yy1131; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1132; } else { if (yych == 'u') goto yy1131; goto yy53; } } yy1058: yych = *++YYCURSOR; if (yych == 'E') goto yy1129; if (yych == 'e') goto yy1129; goto yy53; yy1059: yych = *++YYCURSOR; if (yych == 'A') goto yy1126; if (yych == 'a') goto yy1126; goto yy53; yy1060: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1123; if (yych <= 'T') goto yy53; goto yy1122; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy1123; } else { if (yych == 'u') goto yy1122; goto yy53; } } yy1061: yych = *++YYCURSOR; if (yych == 'E') goto yy1119; if (yych == 'e') goto yy1119; goto yy53; yy1062: yych = *++YYCURSOR; if (yych == 'C') goto yy1117; if (yych == 'c') goto yy1117; goto yy53; yy1063: yych = *++YYCURSOR; if (yych == 'O') goto yy1115; if (yych == 'o') goto yy1115; goto yy53; yy1064: yych = *++YYCURSOR; if (yych == 'E') goto yy1113; if (yych == 'e') goto yy1113; goto yy53; yy1065: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '-') goto yy1068; goto yy53; } else { if (yych <= '0') goto yy1067; if (yych <= '9') goto yy1087; goto yy53; } yy1066: yych = *++YYCURSOR; if (yych == '-') goto yy1068; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1087; goto yy53; yy1067: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy1068: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1069; if (yych <= '3') goto yy1070; if (yych <= '9') goto yy1071; goto yy53; yy1069: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1071; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1070: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1071: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1076; if (yych <= 'm') goto yy775; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1072: yych = *++YYCURSOR; if (yych == 't') goto yy1086; goto yy53; yy1073: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1074: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1075: yych = *++YYCURSOR; if (yych == 'h') goto yy1086; goto yy53; yy1076: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1077; if (yych <= '2') goto yy1078; if (yych <= '9') goto yy1079; goto yy53; yy1077: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1079; if (yych <= ':') goto yy1080; goto yy53; yy1078: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1079; if (yych == ':') goto yy1080; goto yy53; yy1079: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1080: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1081; if (yych <= '9') goto yy1082; goto yy53; yy1081: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1082; if (yych <= ':') goto yy1083; goto yy53; yy1082: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1083: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1084; if (yych <= '6') goto yy1085; if (yych <= '9') goto yy936; goto yy53; yy1084: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1085: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy1086: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1076; goto yy775; yy1087: yych = *++YYCURSOR; if (yych != '-') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1090; } else { if (yych <= '3') goto yy1091; if (yych <= '9') goto yy1071; goto yy53; } yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; if (yych <= '0') goto yy1071; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1090: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1091: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1092: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1093; if (yych <= 'm') goto yy1043; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy1043; } } yy1093: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1094; if (yych <= '2') goto yy1095; if (yych <= '9') goto yy1079; goto yy53; yy1094: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1096; if (yych <= ':') goto yy1080; goto yy53; yy1095: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1096; if (yych == ':') goto yy1080; goto yy53; yy1096: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1098; if (yych <= '9') goto yy1082; goto yy53; yy1098: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1099; if (yych <= ':') goto yy1083; goto yy53; yy1099: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1101; if (yych <= '6') goto yy1102; if (yych <= '9') goto yy936; goto yy53; yy1101: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1103; goto yy937; yy1102: yych = *++YYCURSOR; if (yych != '0') goto yy937; yy1103: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy937; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1105: yyaccept = 19; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= ',') { if (yych != '+') goto yy937; } else { if (yych <= '-') goto yy1107; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1105; goto yy937; } yy1107: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1108; if (yych <= '2') goto yy1109; if (yych <= '9') goto yy1110; goto yy53; yy1108: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1110; if (yych <= ':') goto yy1111; goto yy937; yy1109: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy937; if (yych >= '4') goto yy1112; } else { if (yych <= '9') goto yy936; if (yych <= ':') goto yy1111; goto yy937; } yy1110: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; if (yych >= ';') goto yy937; yy1111: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; goto yy937; yy1112: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1113: yych = *++YYCURSOR; if (yych == 'C') goto yy1114; if (yych != 'c') goto yy53; yy1114: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy973; if (yych == 'e') goto yy973; goto yy889; } yy1115: yych = *++YYCURSOR; if (yych == 'V') goto yy1116; if (yych != 'v') goto yy53; yy1116: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy980; if (yych == 'e') goto yy980; goto yy889; } yy1117: yych = *++YYCURSOR; if (yych == 'T') goto yy1118; if (yych != 't') goto yy53; yy1118: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'O') goto yy986; if (yych == 'o') goto yy986; goto yy889; } yy1119: yych = *++YYCURSOR; if (yych == 'P') goto yy1120; if (yych != 'p') goto yy53; yy1120: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'T') goto yy1121; if (yych != 't') goto yy889; } yy1121: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy992; if (yych == 'e') goto yy992; goto yy889; } yy1122: yych = *++YYCURSOR; if (yych == 'G') goto yy1125; if (yych == 'g') goto yy1125; goto yy53; yy1123: yych = *++YYCURSOR; if (yych == 'R') goto yy1124; if (yych != 'r') goto yy53; yy1124: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'I') goto yy999; if (yych == 'i') goto yy999; goto yy889; } yy1125: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1001; if (yych == 'u') goto yy1001; goto yy889; } yy1126: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1127; if (yych <= 'X') goto yy53; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy1128; goto yy53; } } yy1127: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'C') goto yy1005; if (yych == 'c') goto yy1005; goto yy889; } yy1128: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy863; goto yy889; yy1129: yych = *++YYCURSOR; if (yych == 'B') goto yy1130; if (yych != 'b') goto yy53; yy1130: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'R') goto yy1008; if (yych == 'r') goto yy1008; goto yy889; } yy1131: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1135; if (yych <= 'M') goto yy53; goto yy1134; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1135; } else { if (yych == 'n') goto yy1134; goto yy53; } } yy1132: yych = *++YYCURSOR; if (yych == 'N') goto yy1133; if (yych != 'n') goto yy53; yy1133: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1015; if (yych == 'u') goto yy1015; goto yy889; } yy1134: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; } yy1135: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; } yy1136: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych <= '/') goto yy844; goto yy617; } else { if (yych <= 'U') goto yy74; if (yych == 'u') goto yy74; goto yy617; } yy1137: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; goto yy709; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych == 'p') goto yy709; goto yy53; } } yy1138: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy845; } else { if (yych <= '/') goto yy844; if (yych <= '9') goto yy851; goto yy1140; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy612; if (yych <= 'q') goto yy1140; goto yy613; } else { if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1139: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1140: switch (yych) { case ' ': goto yy1139; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy1141: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; } else { if (yych <= '/') goto yy844; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1142: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy1166; goto yy1167; } else { if (yych <= '5') goto yy1168; if (yych <= '9') goto yy1169; goto yy617; } yy1143: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1161; if (yych <= '9') goto yy1162; goto yy53; yy1144: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych >= ':') goto yy57; yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy1147; case '1': goto yy1148; case '2': goto yy1149; case '3': goto yy1150; case '4': case '5': goto yy1151; case '6': goto yy1152; case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy1146; } yy1146: #line 970 "parse_date.b.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 13474 "" yy1147: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1159; if (yych <= '9') goto yy1160; goto yy57; yy1148: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy1158; if (yych <= '9') goto yy1157; goto yy57; yy1149: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1157; goto yy57; yy1150: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy1155; if (yych <= '6') goto yy1156; if (yych <= '9') goto yy1153; goto yy57; yy1151: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1153; goto yy57; yy1152: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1153; if (yych <= '9') goto yy51; goto yy57; yy1153: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'X') { if (yych <= 'G') { if (yych <= 'C') { if (yych == ' ') goto yy57; } else { if (yych == 'E') goto yy1154; if (yych <= 'F') goto yy57; } } else { if (yych <= 'R') { if (yych <= 'H') goto yy57; if (yych == 'M') goto yy57; } else { if (yych <= 'T') goto yy57; if (yych == 'W') goto yy57; } } } else { if (yych <= 'l') { if (yych <= 'e') { if (yych <= 'Y') goto yy57; if (yych == 'd') goto yy57; } else { if (yych == 'g') goto yy1154; if (yych <= 'h') goto yy57; } } else { if (yych <= 'v') { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy1154; if (yych <= 't') goto yy57; } else { if (yych == 'x') goto yy1154; if (yych <= 'y') goto yy57; } } } yy1154: #line 1015 "parse_date.b.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 13571 "" yy1155: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1156: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': goto yy915; case '7': case '8': case '9': goto yy51; default: goto yy1154; } yy1157: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1158: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1159: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1160: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1161: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1163; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1162: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1163; if (yych != ':') goto yy634; yy1163: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1164; if (yych <= '6') goto yy1165; if (yych <= '9') goto yy639; goto yy53; yy1164: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy639; goto yy634; yy1165: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy639; goto yy634; yy1166: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1169; if (yych <= ':') goto yy1163; goto yy634; } yy1167: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '2') goto yy1169; if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1168: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1169: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1170; if (yych == ':') goto yy1163; goto yy634; yy1170: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1171; if (yych <= '6') goto yy1172; if (yych <= '9') goto yy727; goto yy53; yy1171: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy1173; goto yy634; yy1172: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy1173; if (yych <= '9') goto yy728; goto yy634; } yy1173: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; yy1174: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy604; if (yych <= '-') goto yy615; goto yy618; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy627; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy604; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy604; } } yy1175: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy1142; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1176: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych >= ':') goto yy53; yy1177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy1179; if (yych <= '9') goto yy1177; yy1179: #line 905 "parse_date.b.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 13960 "" yy1180: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1211; if (yych <= 'z') goto yy134; goto yy3; } } yy1181: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy1205; if (yych <= 'T') goto yy134; goto yy1204; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy134; goto yy1205; } else { if (yych == 'u') goto yy1204; if (yych <= 'z') goto yy134; goto yy3; } } yy1182: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'D') goto yy1193; if (yych <= 'L') goto yy134; goto yy1194; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy134; goto yy1193; } else { if (yych == 'm') goto yy1194; if (yych <= 'z') goto yy134; goto yy3; } } yy1183: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1189; if (yych <= 'z') goto yy134; goto yy3; } } yy1184: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1185; if (yych <= 'z') goto yy134; goto yy3; } } yy1185: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'l') goto yy1186; if (yych <= 'z') goto yy135; goto yy3; } } yy1186: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'F') goto yy1187; if (yych != 'f') goto yy3; } yy1187: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy53; yy1188: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy1189: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 's') goto yy1190; if (yych <= 'z') goto yy135; goto yy341; } } yy1190: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy1191; if (yych != 'd') goto yy3; } yy1191: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy53; yy1192: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1193: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1201; } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= 'a') goto yy1201; if (yych <= 'z') goto yy135; goto yy3; } } yy1194: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy1195; if (yych <= 'z') goto yy135; goto yy3; } } yy1195: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy1196; if (yych != 'r') goto yy3; } yy1196: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy53; yy1197: yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy53; yy1198: yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy53; yy1199: ++YYCURSOR; yy1200: #line 893 "parse_date.b.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14225 "" yy1201: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy1202; if (yych != 'y') goto yy3; } yy1202: ++YYCURSOR; yy1203: #line 883 "parse_date.b.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14247 "" yy1204: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'r') goto yy1207; if (yych <= 'z') goto yy135; goto yy341; } } yy1205: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Q') goto yy135; if (yych >= 'S') goto yy317; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy1206; if (yych <= 's') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1206: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy159; if (yych == 'd') goto yy159; goto yy3; } yy1207: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy1208; if (yych != 's') goto yy3; } yy1208: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy53; yy1209: yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy53; yy1210: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1211: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1212; if (yych <= 'z') goto yy135; goto yy3; } } yy1212: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1213: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1242; if (yych <= 'z') goto yy137; goto yy3; } } yy1214: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'I') goto yy1205; if (yych <= 'T') goto yy134; goto yy1204; } } } else { if (yych <= 'h') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 't') { if (yych <= 'i') goto yy1236; goto yy137; } else { if (yych <= 'u') goto yy1235; if (yych <= 'z') goto yy137; goto yy3; } } } yy1215: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'C') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'D') goto yy1193; if (yych <= 'L') goto yy134; goto yy1194; } } } else { if (yych <= 'c') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'l') { if (yych <= 'd') goto yy1226; goto yy137; } else { if (yych <= 'm') goto yy1227; if (yych <= 'z') goto yy137; goto yy3; } } } yy1216: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1222; if (yych <= 'z') goto yy137; goto yy3; } } yy1217: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1185; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1218; if (yych <= 'z') goto yy137; goto yy3; } } yy1218: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; goto yy1186; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy1219; if (yych <= 'z') goto yy142; goto yy3; } } yy1219: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'E') goto yy3; goto yy1187; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'f') goto yy1220; if (yych <= 'z') goto yy143; goto yy3; } } yy1220: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy1222: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; goto yy1190; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 's') goto yy1223; if (yych <= 'z') goto yy142; goto yy341; } } yy1223: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy1191; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1224; if (yych <= 'z') goto yy143; goto yy3; } } yy1224: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1226: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1201; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1233; if (yych <= 'z') goto yy142; goto yy3; } } yy1227: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy1195; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy1228; if (yych <= 'z') goto yy142; goto yy3; } } yy1228: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy1196; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy1229; if (yych <= 'z') goto yy143; goto yy3; } } yy1229: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy144; yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1200; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1200; if (yych <= 'z') goto yy143; goto yy1200; } yy1233: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'X') goto yy3; goto yy1202; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'y') goto yy1234; if (yych <= 'z') goto yy143; goto yy3; } } yy1234: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1203; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1203; if (yych <= 'z') goto yy143; goto yy1203; } yy1235: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'r') goto yy1238; if (yych <= 'z') goto yy142; goto yy341; } } yy1236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; if (yych <= 'R') goto yy1206; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'r') { if (yych <= 'q') goto yy142; } else { if (yych <= 's') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } } yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1238: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy1208; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1239; if (yych <= 'z') goto yy143; goto yy3; } } yy1239: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1242: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1212; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1243; if (yych <= 'z') goto yy142; goto yy3; } } yy1243: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1244: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'R') goto yy1255; if (yych <= 'X') goto yy134; goto yy1256; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy134; goto yy1255; } else { if (yych == 'y') goto yy1256; if (yych <= 'z') goto yy134; goto yy3; } } yy1245: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy1250; if (yych <= 'z') goto yy134; goto yy3; } } yy1246: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1247; if (yych <= 'z') goto yy134; goto yy3; } } yy1247: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy1248; if (yych <= 'z') goto yy135; goto yy341; } } yy1248: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy1249; if (yych != 'a') goto yy3; } yy1249: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1250: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1251; if (yych <= 'z') goto yy135; goto yy3; } } yy1251: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy1252; if (yych != 'i') goto yy3; } yy1252: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy53; yy1253: yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy53; yy1254: yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1202; goto yy53; yy1255: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'C') goto yy1257; goto yy135; } else { if (yych <= 'b') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'c') goto yy1257; if (yych <= 'z') goto yy135; goto yy3; } } } yy1256: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= '@') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy1257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy358; if (yych == 'h') goto yy358; goto yy3; } yy1258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'Q') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'R') goto yy1255; if (yych <= 'X') goto yy134; goto yy1256; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'x') { if (yych <= 'r') goto yy1269; goto yy137; } else { if (yych <= 'y') goto yy1270; if (yych <= 'z') goto yy137; goto yy3; } } } yy1259: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1264; if (yych <= 'z') goto yy137; goto yy3; } } yy1260: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1247; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1261; if (yych <= 'z') goto yy137; goto yy3; } } yy1261: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy1248; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy1262; if (yych <= 'z') goto yy142; goto yy341; } } yy1262: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1249; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy1263; if (yych <= 'z') goto yy143; goto yy3; } } yy1263: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1264: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1251; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1265; if (yych <= 'z') goto yy142; goto yy3; } } yy1265: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy1252; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy1266; if (yych <= 'z') goto yy143; goto yy3; } } yy1266: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1234; goto yy144; yy1269: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'C') { if (yych <= 'B') goto yy135; goto yy1257; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'b') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'c') goto yy1271; if (yych <= 'z') goto yy142; goto yy3; } } } yy1270: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '^') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy1271: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy1272: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') goto yy1280; if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1281; goto yy1278; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy134; goto yy1280; } else { if (yych <= 'v') { if (yych <= 'u') goto yy134; goto yy1281; } else { if (yych <= 'w') goto yy1278; if (yych <= 'z') goto yy134; goto yy3; } } } yy1273: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy1277; if (yych <= 'z') goto yy134; goto yy3; } } yy1274: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1275; if (yych <= 'z') goto yy134; goto yy3; } } yy1275: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1276; if (yych <= 'z') goto yy135; goto yy3; } } yy1276: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1277: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1278: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy135; } yy1279: #line 862 "parse_date.b.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15547 "" yy1280: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1286; if (yych <= 'z') goto yy135; goto yy3; } } yy1281: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'E') goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy1282; if (yych <= 'z') goto yy135; goto yy3; } } } yy1282: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy1283; if (yych != 'm') goto yy3; } yy1283: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy53; yy1284: yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy53; yy1285: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy1286: ++YYCURSOR; if ((yych = *YYCURSOR) == ')') goto yy132; yy1287: #line 871 "parse_date.b.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15636 "" yy1288: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= 'O') { if (yych <= 'N') goto yy134; goto yy1280; } else { if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1281; goto yy1278; } } } else { if (yych <= 'n') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'v') { if (yych <= 'o') goto yy1295; if (yych <= 'u') goto yy137; goto yy1296; } else { if (yych <= 'w') goto yy1294; if (yych <= 'z') goto yy137; goto yy3; } } } yy1289: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy1293; if (yych <= 'z') goto yy137; goto yy3; } } yy1290: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1275; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1291; if (yych <= 'z') goto yy137; goto yy3; } } yy1291: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1276; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1292; if (yych <= 'z') goto yy142; goto yy3; } } yy1292: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1293: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy1294: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1279; goto yy132; } else { if (yych == '/') goto yy138; goto yy1279; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy1279; goto yy138; } else { if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy142; goto yy1279; } } yy1295: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1301; if (yych <= 'z') goto yy142; goto yy3; } } yy1296: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy1282; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy1297; if (yych <= 'z') goto yy142; goto yy3; } } } yy1297: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy1283; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy1298; if (yych <= 'z') goto yy143; goto yy3; } } yy1298: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy1301: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy1287; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy1287; goto yy138; } else { if (yych <= '`') goto yy1287; if (yych <= 'z') goto yy143; goto yy1287; } } yy1302: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy1303; if (yych <= 'z') goto yy134; goto yy3; } } yy1303: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1304; if (yych <= 'z') goto yy135; goto yy3; } } yy1304: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy1305; if (yych != 'e') goto yy3; } yy1305: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy53; yy1306: yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy53; yy1307: yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy53; yy1308: yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy53; yy1309: ++YYCURSOR; yy1310: #line 850 "parse_date.b.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 16032 "" yy1311: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy1303; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1312; if (yych <= 'z') goto yy137; goto yy3; } } yy1312: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1304; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1313; if (yych <= 'z') goto yy142; goto yy3; } } yy1313: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy1305; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1314; if (yych <= 'z') goto yy143; goto yy3; } } yy1314: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy144; yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1310; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1310; if (yych <= 'z') goto yy143; goto yy1310; } } #line 1411 "parse_date.b.re" } #define YYMAXFILL 26 timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/bug1528269.c0000775000076500007660000000010711016275331012052 00000000000000/* Generated by re2c */ #line 1 "bug1528269.re" void foo() { x='ü'; } re2c-0.13.5/test/error4.re0000775000076500007660000000002411016275331012113 00000000000000/*!re2c [\x0] {} */ re2c-0.13.5/test/input2.re0000664000076500007660000000004611016275331012120 00000000000000/*!re2c [a]+ "bb" { return 1; } */ re2c-0.13.5/test/ctx.s.re0000775000076500007660000000202211016275331011735 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } /*!max:re2c */ int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/input12.oinput12.c.c0000775000076500007660000000111211016275331013714 00000000000000/* Generated by re2c */ #line 1 "input12.oinput12.c.re" #line 5 "input12.c" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } yy5: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy6; default: goto yy2; } yy6: ++YYCURSOR; #line 3 "input12.oinput12.c.re" { return 1; } #line 35 "input12.c" } #line 5 "input12.oinput12.c.re" re2c-0.13.5/test/config4e.f.re0000775000076500007660000000046411016275331012630 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:startlabel = "yyNext"; re2c:state:abort = 0; re2c:state:nextlabel = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/parse_date.c0000775000076500007660000140564011016275331012637 00000000000000/* Generated by re2c */ #line 1 "parse_date.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 845 "parse_date.re" #line 743 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; switch (yych) { case 0x00: case '\n': goto yy48; case ' ': goto yy45; case '(': goto yy42; case '+': case '-': goto yy41; case ',': case '.': goto yy47; case '0': goto yy13; case '1': goto yy14; case '2': goto yy15; case '3': goto yy16; case '4': case '5': case '6': case '7': case '8': case '9': goto yy17; case '@': goto yy11; case 'A': goto yy25; case 'B': case 'C': case 'G': case 'H': case 'K': case 'Q': case 'R': case 'U': case 'Z': goto yy43; case 'D': goto yy31; case 'E': goto yy35; case 'F': goto yy23; case 'I': goto yy18; case 'J': goto yy21; case 'L': goto yy37; case 'M': goto yy7; case 'N': goto yy5; case 'O': goto yy29; case 'P': goto yy39; case 'S': goto yy27; case 'T': goto yy9; case 'V': goto yy19; case 'W': goto yy33; case 'X': goto yy20; case 'Y': goto yy2; case 'a': goto yy26; case 'b': case 'c': case 'g': case 'h': case 'i': case 'k': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy44; case 'd': goto yy32; case 'e': goto yy36; case 'f': goto yy24; case 'j': goto yy22; case 'l': goto yy38; case 'm': goto yy8; case 'n': goto yy6; case 'o': goto yy30; case 'p': goto yy40; case 's': goto yy28; case 't': goto yy10; case 'w': goto yy34; case 'y': goto yy4; default: goto yy50; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy1302; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy1311; default: goto yy3; } yy3: #line 1340 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 893 "" yy4: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy1302; default: goto yy3; } yy5: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy1273; case 'I': goto yy1274; case 'O': goto yy1272; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy1289; case 'i': goto yy1290; case 'o': goto yy1288; default: goto yy3; } yy6: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy1273; case 'I': case 'i': goto yy1274; case 'O': case 'o': goto yy1272; default: goto yy3; } yy7: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': goto yy1244; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'I': goto yy1245; case 'O': goto yy1246; case 'a': goto yy1258; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'i': goto yy1259; case 'o': goto yy1260; default: goto yy3; } yy8: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy1244; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'I': case 'i': goto yy1245; case 'O': case 'o': goto yy1246; default: goto yy3; } yy9: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy1180; case 'H': goto yy1181; case 'O': goto yy1182; case 'U': goto yy1183; case 'W': goto yy1184; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy1213; case 'h': goto yy1214; case 'o': goto yy1215; case 'u': goto yy1216; case 'w': goto yy1217; default: goto yy3; } yy10: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy1180; case 'H': case 'h': goto yy1181; case 'O': case 'o': goto yy1182; case 'U': case 'u': goto yy1183; case 'W': case 'w': goto yy1184; default: goto yy3; } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy1176; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1177; default: goto yy12; } yy12: #line 1406 "parse_date.re" { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } #line 1323 "" yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'w': case 'y': goto yy1140; case '-': goto yy615; case '.': goto yy1142; case '/': goto yy614; case '0': goto yy1175; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1174; case ':': goto yy1143; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': goto yy1174; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1141; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': goto yy1141; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1138; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': goto yy1138; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy18: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'Y': case 'Z': goto yy133; case 'I': goto yy602; case 'V': case 'X': goto yy601; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; default: goto yy3; } yy19: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'I': goto yy599; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; default: goto yy3; } yy20: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'I': goto yy597; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; default: goto yy3; } yy21: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': goto yy580; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'U': goto yy579; case 'a': goto yy589; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'u': goto yy588; default: goto yy3; } yy22: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy580; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'U': case 'u': goto yy579; default: goto yy3; } yy23: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy541; case 'I': goto yy542; case 'O': goto yy543; case 'R': goto yy544; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy560; case 'i': goto yy561; case 'o': goto yy562; case 'r': goto yy563; default: goto yy3; } yy24: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy541; case 'I': case 'i': goto yy542; case 'O': case 'o': goto yy543; case 'R': case 'r': goto yy544; default: goto yy3; } yy25: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'G': goto yy524; case 'P': goto yy523; case 'U': goto yy522; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'g': goto yy534; case 'p': goto yy533; case 'u': goto yy532; default: goto yy3; } yy26: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'G': case 'g': goto yy524; case 'P': case 'p': goto yy523; case 'U': case 'u': goto yy522; default: goto yy3; } yy27: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': goto yy469; case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy468; case 'I': goto yy470; case 'U': goto yy471; case 'a': goto yy496; case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy495; case 'i': goto yy497; case 'u': goto yy498; default: goto yy3; } yy28: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy469; case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy468; case 'I': case 'i': goto yy470; case 'U': case 'u': goto yy471; default: goto yy3; } yy29: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'C': goto yy458; case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'c': goto yy463; default: goto yy3; } yy30: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'C': case 'c': goto yy458; default: goto yy3; } yy31: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy356; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy451; default: goto yy3; } yy32: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy356; default: goto yy3; } yy33: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy339; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'e': goto yy348; default: goto yy3; } yy34: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy339; default: goto yy3; } yy35: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'I': goto yy321; case 'L': goto yy322; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'i': goto yy330; case 'l': goto yy331; default: goto yy3; } yy36: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'I': case 'i': goto yy321; case 'L': case 'l': goto yy322; default: goto yy3; } yy37: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': goto yy315; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'a': goto yy318; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; default: goto yy3; } yy38: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy315; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; default: goto yy3; } yy39: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'R': goto yy153; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; case 'r': goto yy235; default: goto yy3; } yy40: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; case 'R': case 'r': goto yy153; default: goto yy3; } yy41: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy54; case '0': case '1': goto yy146; case '2': goto yy147; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy148; default: goto yy12; } yy42: yych = *++YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy145; default: goto yy12; } yy43: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy133; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy136; default: goto yy3; } yy44: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; default: goto yy3; } yy45: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy54; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy46; } yy46: #line 1395 "parse_date.re" { goto std; } #line 3258 "" yy47: yych = *++YYCURSOR; goto yy46; yy48: ++YYCURSOR; #line 1400 "parse_date.re" { s->pos = cursor; s->line++; goto std; } #line 3269 "" yy50: yych = *++YYCURSOR; goto yy12; yy51: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch (yych) { case ' ': goto yy56; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy53: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy12; case 1: goto yy3; case 2: goto yy46; case 3: goto yy69; case 4: goto yy172; case 5: goto yy341; case 6: goto yy363; case 7: goto yy385; case 8: goto yy420; case 9: goto yy526; case 10: goto yy620; case 11: goto yy634; case 12: goto yy775; case 13: goto yy784; case 14: goto yy880; case 15: goto yy916; case 16: goto yy943; case 17: goto yy889; case 18: goto yy1043; case 19: goto yy937; case 20: goto yy1146; case 21: goto yy1154; case 22: goto yy1200; case 23: goto yy1203; case 24: goto yy1279; case 25: goto yy1287; case 26: goto yy1310; } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case ' ': goto yy54; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy53; } yy56: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy57: switch (yych) { case ' ': goto yy56; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy58: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy119; case 'E': case 'e': goto yy120; case 'U': case 'u': goto yy118; default: goto yy53; } yy59: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy110; case 'O': case 'o': goto yy109; default: goto yy53; } yy60: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy107; default: goto yy53; } yy61: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy106; default: goto yy53; } yy62: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy98; default: goto yy53; } yy63: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy83; case 'R': case 'r': goto yy82; default: goto yy53; } yy64: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy79; default: goto yy53; } yy65: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy66; case 'U': case 'u': goto yy67; default: goto yy53; } yy66: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy74; default: goto yy53; } yy67: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy68; default: goto yy53; } yy68: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'S': case 's': goto yy70; default: goto yy69; } yy69: #line 1379 "parse_date.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3485 "" yy70: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy71; default: goto yy53; } yy71: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy72; default: goto yy53; } yy72: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy73: yych = *++YYCURSOR; goto yy69; yy74: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'R': case 'r': goto yy75; default: goto yy69; } yy75: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy76; default: goto yy53; } yy76: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy77; default: goto yy53; } yy77: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy78; default: goto yy53; } yy78: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy79: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy80; default: goto yy53; } yy80: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy81; default: goto yy53; } yy81: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy73; default: goto yy69; } yy82: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy95; default: goto yy53; } yy83: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy84; default: goto yy53; } yy84: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy85; default: goto yy53; } yy85: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy87; case 'N': case 'n': goto yy86; default: goto yy53; } yy86: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy92; default: goto yy53; } yy87: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy88; default: goto yy53; } yy88: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy89; default: goto yy53; } yy89: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy90; default: goto yy53; } yy90: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy91; default: goto yy53; } yy91: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy81; default: goto yy53; } yy92: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy93; default: goto yy53; } yy93: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy94; default: goto yy53; } yy94: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy81; default: goto yy53; } yy95: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy96; default: goto yy69; } yy96: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy97; default: goto yy53; } yy97: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy98: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy100; case 'E': case 'e': goto yy99; default: goto yy53; } yy99: yych = *++YYCURSOR; switch (yych) { case 'K': case 'k': goto yy81; default: goto yy53; } yy100: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'N': case 'n': goto yy101; default: goto yy69; } yy101: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy102; default: goto yy53; } yy102: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy103; default: goto yy53; } yy103: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy104; default: goto yy53; } yy104: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy105; default: goto yy53; } yy105: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy106: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy81; default: goto yy53; } yy107: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy108; default: goto yy53; } yy108: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy81; default: goto yy53; } yy109: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy114; default: goto yy53; } yy110: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy111; default: goto yy53; } yy111: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'S': case 's': goto yy73; case 'U': case 'u': goto yy112; default: goto yy69; } yy112: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy113; default: goto yy53; } yy113: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy81; default: goto yy53; } yy114: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy115; case 'T': case 't': goto yy116; default: goto yy69; } yy115: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy117; default: goto yy53; } yy116: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy81; default: goto yy53; } yy117: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy118: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy129; default: goto yy53; } yy119: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy124; default: goto yy53; } yy120: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy121; default: goto yy53; } yy121: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'O': case 'o': goto yy122; case 'S': case 's': goto yy73; default: goto yy69; } yy122: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy123; default: goto yy53; } yy123: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy81; default: goto yy53; } yy124: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'U': case 'u': goto yy125; default: goto yy69; } yy125: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy126; default: goto yy53; } yy126: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy127; default: goto yy53; } yy127: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy128; default: goto yy53; } yy128: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy129: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy130; default: goto yy69; } yy130: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy131; default: goto yy53; } yy131: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy73; default: goto yy53; } yy132: yych = *++YYCURSOR; goto yy3; yy133: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; default: goto yy3; } yy134: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy3; } yy135: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; default: goto yy3; } yy136: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; default: goto yy3; } yy137: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; default: goto yy3; } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy139; default: goto yy53; } yy139: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy140; default: goto yy53; } yy140: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy140; default: goto yy3; } yy142: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy144: switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy53; } yy145: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy133; default: goto yy3; } yy146: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy148; case ':': goto yy149; default: goto yy3; } yy147: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': goto yy148; case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy148: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy149: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy152; case '6': case '7': case '8': case '9': goto yy132; default: goto yy3; } yy150: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy151; default: goto yy3; } yy151: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy3; } yy152: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; default: goto yy3; } yy153: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'E': case 'e': goto yy154; default: goto yy3; } yy154: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'V': case 'v': goto yy155; default: goto yy3; } yy155: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'I': case 'i': goto yy156; default: goto yy3; } yy156: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy157; default: goto yy53; } yy157: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy158; default: goto yy53; } yy158: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy159; default: goto yy53; } yy159: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy160: switch (yych) { case ' ': goto yy159; case 'D': case 'd': goto yy164; case 'F': case 'f': goto yy166; case 'H': case 'h': goto yy163; case 'M': case 'm': goto yy162; case 'S': case 's': goto yy161; case 'T': case 't': goto yy168; case 'W': case 'w': goto yy165; case 'Y': case 'y': goto yy167; default: goto yy53; } yy161: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy222; case 'E': case 'e': goto yy223; case 'U': case 'u': goto yy221; default: goto yy53; } yy162: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy213; case 'O': case 'o': goto yy212; default: goto yy53; } yy163: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy210; default: goto yy53; } yy164: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy209; default: goto yy53; } yy165: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy201; default: goto yy53; } yy166: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy186; case 'R': case 'r': goto yy185; default: goto yy53; } yy167: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy182; default: goto yy53; } yy168: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy169; case 'U': case 'u': goto yy170; default: goto yy53; } yy169: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy177; default: goto yy53; } yy170: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy171; default: goto yy53; } yy171: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'S': case 's': goto yy173; default: goto yy172; } yy172: #line 1323 "parse_date.re" { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 4886 "" yy173: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy174; default: goto yy53; } yy174: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy175; default: goto yy53; } yy175: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy176: yych = *++YYCURSOR; goto yy172; yy177: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'R': case 'r': goto yy178; default: goto yy172; } yy178: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy179; default: goto yy53; } yy179: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy180; default: goto yy53; } yy180: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy181; default: goto yy53; } yy181: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy182: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy183; default: goto yy53; } yy183: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy184; default: goto yy53; } yy184: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy176; default: goto yy172; } yy185: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy198; default: goto yy53; } yy186: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy187; default: goto yy53; } yy187: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy188; default: goto yy53; } yy188: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy190; case 'N': case 'n': goto yy189; default: goto yy53; } yy189: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy195; default: goto yy53; } yy190: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy191; default: goto yy53; } yy191: yych = *++YYCURSOR; switch (yych) { case 'I': case 'i': goto yy192; default: goto yy53; } yy192: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy193; default: goto yy53; } yy193: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy194; default: goto yy53; } yy194: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy184; default: goto yy53; } yy195: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy196; default: goto yy53; } yy196: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy197; default: goto yy53; } yy197: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy184; default: goto yy53; } yy198: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy199; default: goto yy172; } yy199: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy200; default: goto yy53; } yy200: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy201: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy203; case 'E': case 'e': goto yy202; default: goto yy53; } yy202: yych = *++YYCURSOR; switch (yych) { case 'K': case 'k': goto yy184; default: goto yy53; } yy203: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'N': case 'n': goto yy204; default: goto yy172; } yy204: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy205; default: goto yy53; } yy205: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy206; default: goto yy53; } yy206: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy207; default: goto yy53; } yy207: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy208; default: goto yy53; } yy208: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy209: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy184; default: goto yy53; } yy210: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy211; default: goto yy53; } yy211: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy184; default: goto yy53; } yy212: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy217; default: goto yy53; } yy213: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy214; default: goto yy53; } yy214: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'S': case 's': goto yy176; case 'U': case 'u': goto yy215; default: goto yy172; } yy215: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy216; default: goto yy53; } yy216: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy184; default: goto yy53; } yy217: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy218; case 'T': case 't': goto yy219; default: goto yy172; } yy218: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy220; default: goto yy53; } yy219: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy184; default: goto yy53; } yy220: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy221: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy232; default: goto yy53; } yy222: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy227; default: goto yy53; } yy223: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy224; default: goto yy53; } yy224: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'O': case 'o': goto yy225; case 'S': case 's': goto yy176; default: goto yy172; } yy225: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy226; default: goto yy53; } yy226: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy184; default: goto yy53; } yy227: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'U': case 'u': goto yy228; default: goto yy172; } yy228: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy229; default: goto yy53; } yy229: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy230; default: goto yy53; } yy230: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy231; default: goto yy53; } yy231: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy232: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': case 'd': goto yy233; default: goto yy172; } yy233: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy234; default: goto yy53; } yy234: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy176; default: goto yy53; } yy235: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'E': goto yy154; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'e': goto yy236; default: goto yy3; } yy236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'V': goto yy155; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'v': goto yy237; default: goto yy3; } yy237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'I': goto yy156; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'i': goto yy238; default: goto yy3; } yy238: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy157; case 'o': goto yy239; default: goto yy144; } yy239: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy158; case 'u': goto yy240; default: goto yy144; } yy240: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'S': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy241; default: goto yy53; } yy241: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy143; case 'd': goto yy245; case 'f': goto yy247; case 'h': goto yy244; case 'm': goto yy243; case 's': goto yy242; case 't': goto yy249; case 'w': goto yy246; case 'y': goto yy248; default: goto yy160; } yy242: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy222; case 'E': goto yy223; case 'U': goto yy221; case 'a': goto yy301; case 'e': goto yy302; case 'u': goto yy303; default: goto yy144; } yy243: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy213; case 'O': goto yy212; case 'i': goto yy292; case 'o': goto yy293; default: goto yy144; } yy244: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy210; case 'o': goto yy290; default: goto yy144; } yy245: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy209; case 'a': goto yy289; default: goto yy144; } yy246: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy201; case 'e': goto yy281; default: goto yy144; } yy247: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy186; case 'R': goto yy185; case 'o': goto yy265; case 'r': goto yy266; default: goto yy144; } yy248: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy182; case 'e': goto yy262; default: goto yy144; } yy249: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy169; case 'U': goto yy170; case 'h': goto yy250; case 'u': goto yy251; default: goto yy144; } yy250: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy177; case 'u': goto yy257; default: goto yy144; } yy251: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy171; case 'e': goto yy252; default: goto yy144; } yy252: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'S': goto yy173; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy253; default: goto yy172; } yy253: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy174; case 'd': goto yy254; default: goto yy144; } yy254: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy175; case 'a': goto yy255; default: goto yy144; } yy255: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy256: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy172; } yy257: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'R': goto yy178; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy258; default: goto yy172; } yy258: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy179; case 's': goto yy259; default: goto yy144; } yy259: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy180; case 'd': goto yy260; default: goto yy144; } yy260: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy181; case 'a': goto yy261; default: goto yy144; } yy261: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy262: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy183; case 'a': goto yy263; default: goto yy144; } yy263: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy184; case 'r': goto yy264; default: goto yy144; } yy264: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'S': goto yy176; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy256; default: goto yy172; } yy265: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy187; case 'r': goto yy270; default: goto yy144; } yy266: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy198; case 'i': goto yy267; default: goto yy144; } yy267: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'D': goto yy199; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy268; default: goto yy172; } yy268: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy200; case 'a': goto yy269; default: goto yy144; } yy269: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy270: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy188; case 't': goto yy271; default: goto yy144; } yy271: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy190; case 'N': goto yy189; case 'h': goto yy273; case 'n': goto yy272; default: goto yy144; } yy272: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy195; case 'i': goto yy278; default: goto yy144; } yy273: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy191; case 'n': goto yy274; default: goto yy144; } yy274: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy192; case 'i': goto yy275; default: goto yy144; } yy275: yych = *++YYCURSOR; switch (yych) { case 'G': goto yy193; case 'g': goto yy276; default: goto yy144; } yy276: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy194; case 'h': goto yy277; default: goto yy144; } yy277: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy184; case 't': goto yy264; default: goto yy144; } yy278: yych = *++YYCURSOR; switch (yych) { case 'G': goto yy196; case 'g': goto yy279; default: goto yy144; } yy279: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy197; case 'h': goto yy280; default: goto yy144; } yy280: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy184; case 't': goto yy264; default: goto yy144; } yy281: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy203; case 'E': goto yy202; case 'd': goto yy283; case 'e': goto yy282; default: goto yy144; } yy282: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy184; case 'k': goto yy264; default: goto yy144; } yy283: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'N': goto yy204; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'n': goto yy284; default: goto yy172; } yy284: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy205; case 'e': goto yy285; default: goto yy144; } yy285: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy206; case 's': goto yy286; default: goto yy144; } yy286: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy207; case 'd': goto yy287; default: goto yy144; } yy287: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy208; case 'a': goto yy288; default: goto yy144; } yy288: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy289: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy184; case 'y': goto yy264; default: goto yy144; } yy290: yych = *++YYCURSOR; switch (yych) { case 'U': goto yy211; case 'u': goto yy291; default: goto yy144; } yy291: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy184; case 'r': goto yy264; default: goto yy144; } yy292: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy214; case 'n': goto yy298; default: goto yy144; } yy293: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy217; case 'n': goto yy294; default: goto yy144; } yy294: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'D': goto yy218; case 'T': goto yy219; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy295; case 't': goto yy296; default: goto yy172; } yy295: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy220; case 'a': goto yy297; default: goto yy144; } yy296: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy184; case 'h': goto yy264; default: goto yy144; } yy297: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy298: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'S': goto yy176; case 'U': goto yy215; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy256; case 'u': goto yy299; default: goto yy172; } yy299: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy216; case 't': goto yy300; default: goto yy144; } yy300: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy184; case 'e': goto yy264; default: goto yy144; } yy301: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy227; case 't': goto yy310; default: goto yy144; } yy302: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy224; case 'c': goto yy307; default: goto yy144; } yy303: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy232; case 'n': goto yy304; default: goto yy144; } yy304: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'D': goto yy233; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy305; default: goto yy172; } yy305: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy234; case 'a': goto yy306; default: goto yy144; } yy306: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy307: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'O': goto yy225; case 'S': goto yy176; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'o': goto yy308; case 's': goto yy256; default: goto yy172; } yy308: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy226; case 'n': goto yy309; default: goto yy144; } yy309: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy184; case 'd': goto yy264; default: goto yy144; } yy310: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'U': goto yy228; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'u': goto yy311; default: goto yy172; } yy311: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy229; case 'r': goto yy312; default: goto yy144; } yy312: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy230; case 'd': goto yy313; default: goto yy144; } yy313: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy231; case 'a': goto yy314; default: goto yy144; } yy314: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy176; case 'y': goto yy256; default: goto yy144; } yy315: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'S': case 's': goto yy316; default: goto yy3; } yy316: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy317; default: goto yy3; } yy317: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy160; case ')': goto yy132; default: goto yy3; } yy318: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'S': goto yy316; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 's': goto yy319; default: goto yy3; } yy319: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy317; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy320; default: goto yy3; } yy320: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': goto yy160; case ')': goto yy132; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy143; case 'd': goto yy245; case 'f': goto yy247; case 'h': goto yy244; case 'm': goto yy243; case 's': goto yy242; case 't': goto yy249; case 'w': goto yy246; case 'y': goto yy248; default: goto yy3; } yy321: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'G': case 'g': goto yy328; default: goto yy3; } yy322: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'E': case 'e': goto yy323; default: goto yy3; } yy323: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'V': case 'v': goto yy324; default: goto yy3; } yy324: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'E': case 'e': goto yy325; default: goto yy3; } yy325: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy326; default: goto yy53; } yy326: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy327; default: goto yy53; } yy327: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy159; default: goto yy53; } yy328: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'H': case 'h': goto yy329; default: goto yy3; } yy329: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'T': case 't': goto yy159; default: goto yy3; } yy330: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'G': goto yy328; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'g': goto yy337; default: goto yy3; } yy331: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'E': goto yy323; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'e': goto yy332; default: goto yy3; } yy332: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'V': goto yy324; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'v': goto yy333; default: goto yy3; } yy333: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'E': goto yy325; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'e': goto yy334; default: goto yy3; } yy334: yych = *++YYCURSOR; switch (yych) { case 'N': goto yy326; case 'n': goto yy335; default: goto yy144; } yy335: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy327; case 't': goto yy336; default: goto yy144; } yy336: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy53; } yy337: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'H': goto yy329; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'h': goto yy338; default: goto yy3; } yy338: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'T': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 't': goto yy241; default: goto yy3; } yy339: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'D': case 'd': goto yy340; default: goto yy3; } yy340: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'N': case 'n': goto yy342; default: goto yy341; } yy341: #line 1307 "parse_date.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 7482 "" yy342: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'E': case 'e': goto yy343; default: goto yy3; } yy343: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy344; default: goto yy53; } yy344: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy345; default: goto yy53; } yy345: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy346; default: goto yy53; } yy346: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy347: yych = *++YYCURSOR; goto yy341; yy348: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'D': goto yy340; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'd': goto yy349; default: goto yy3; } yy349: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'N': goto yy342; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'n': goto yy350; default: goto yy341; } yy350: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'E': goto yy343; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'e': goto yy351; default: goto yy3; } yy351: yych = *++YYCURSOR; switch (yych) { case 'S': goto yy344; case 's': goto yy352; default: goto yy144; } yy352: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy345; case 'd': goto yy353; default: goto yy144; } yy353: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy346; case 'a': goto yy354; default: goto yy144; } yy354: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy355: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy341; } yy356: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'C': case 'c': goto yy357; default: goto yy3; } yy357: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'E': case 'e': goto yy366; default: goto yy3; } yy358: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); yych = *YYCURSOR; yy359: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy358; case '0': case '1': case '2': goto yy362; case '3': goto yy364; case '4': case '5': case '6': case '7': case '8': case '9': goto yy365; default: goto yy53; } yy360: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; default: goto yy3; } yy361: yych = *++YYCURSOR; switch (yych) { case '0': goto yy440; case '1': case '2': goto yy441; case '3': goto yy442; default: goto yy359; } yy362: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy422; case '2': goto yy439; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy363: #line 1126 "parse_date.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 7989 "" yy364: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy422; case '2': goto yy371; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy372; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy365: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy370; case '2': goto yy371; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy372; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy366: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'M': case 'm': goto yy367; default: goto yy3; } yy367: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy368; default: goto yy53; } yy368: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy369; default: goto yy53; } yy369: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy358; default: goto yy53; } yy370: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy421; default: goto yy363; } yy371: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': goto yy421; case '4': case '5': case '6': case '7': case '8': case '9': goto yy418; default: goto yy363; } yy372: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy418; default: goto yy363; } yy373: yych = *++YYCURSOR; goto yy378; yy374: yych = *++YYCURSOR; goto yy378; yy375: yych = *++YYCURSOR; goto yy378; yy376: yych = *++YYCURSOR; goto yy378; yy377: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); yych = *YYCURSOR; yy378: switch (yych) { case ' ': case ',': case '.': case 'd': case 'h': case 'n': case 'r': case 's': case 't': goto yy377; case '0': case '1': goto yy379; case '2': goto yy380; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy381; default: goto yy363; } yy379: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy417; default: goto yy363; } yy380: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': goto yy417; case '4': case '5': case '6': case '7': case '8': case '9': goto yy382; default: goto yy363; } yy381: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy382; default: goto yy363; } yy382: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy363; } yy383: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy384; case '6': case '7': case '8': case '9': goto yy386; default: goto yy53; } yy384: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy387; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy386; default: goto yy385; } yy385: #line 1351 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 8281 "" yy386: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy387; default: goto yy385; } yy387: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy388; case '6': goto yy389; case '7': case '8': case '9': goto yy390; default: goto yy53; } yy388: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy391; default: goto yy385; } yy389: yych = *++YYCURSOR; switch (yych) { case '0': goto yy391; default: goto yy385; } yy390: yych = *++YYCURSOR; goto yy385; yy391: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy392; case '(': goto yy395; case '+': case '-': goto yy394; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy396; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy397; default: goto yy385; } yy392: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case ' ': goto yy392; case '(': goto yy395; case '+': case '-': goto yy394; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy396; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy397; default: goto yy53; } yy394: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy410; case '2': goto yy411; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy412; default: goto yy53; } yy395: yych = *++YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy397; default: goto yy53; } yy396: yych = *++YYCURSOR; switch (yych) { case ')': goto yy390; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy398; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy401; default: goto yy385; } yy397: yych = *++YYCURSOR; switch (yych) { case ')': goto yy390; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy398; default: goto yy385; } yy398: yych = *++YYCURSOR; switch (yych) { case ')': goto yy390; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy399; default: goto yy385; } yy399: yych = *++YYCURSOR; switch (yych) { case ')': goto yy390; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy400; default: goto yy385; } yy400: yych = *++YYCURSOR; switch (yych) { case ')': goto yy390; default: goto yy385; } yy401: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy390; case '/': case '_': goto yy403; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy399; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy402; default: goto yy385; } yy402: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy390; case '/': case '_': goto yy403; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy400; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy407; default: goto yy385; } yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy404; default: goto yy53; } yy404: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy405; default: goto yy53; } yy405: yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '/': case '_': goto yy403; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy405; default: goto yy385; } yy407: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy390; case '/': case '_': goto yy403; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy408; default: goto yy385; } yy408: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '/': case '_': goto yy403; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy408; default: goto yy53; } yy410: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy412; case ':': goto yy413; default: goto yy385; } yy411: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy412; case '4': case '5': goto yy414; case '6': case '7': case '8': case '9': goto yy390; case ':': goto yy413; default: goto yy385; } yy412: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy414; case '6': case '7': case '8': case '9': goto yy390; case ':': goto yy413; default: goto yy385; } yy413: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy414; case '6': case '7': case '8': case '9': goto yy390; default: goto yy385; } yy414: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy390; default: goto yy385; } yy415: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy416; default: goto yy363; } yy416: yych = *++YYCURSOR; goto yy363; yy417: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy363; } yy418: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy419; default: goto yy363; } yy419: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy416; default: goto yy420; } yy420: #line 1100 "parse_date.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 9215 "" yy421: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy419; default: goto yy363; } yy422: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy423; case '0': case '1': goto yy424; case '2': goto yy425; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy426; case ':': goto yy383; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy423: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy429; case '2': goto yy430; case '3': case '4': case '5': goto yy431; case '6': case '7': case '8': case '9': goto yy432; default: goto yy378; } yy424: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy428; default: goto yy363; } yy425: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': goto yy428; case '4': case '5': case '6': case '7': case '8': case '9': goto yy427; default: goto yy363; } yy426: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy427; default: goto yy363; } yy427: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy420; } yy428: yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy383; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy420; } yy429: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy433; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy438; default: goto yy363; } yy430: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy433; case '0': case '1': case '2': case '3': goto yy438; case '4': case '5': case '6': case '7': case '8': case '9': goto yy437; default: goto yy363; } yy431: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy433; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy437; default: goto yy363; } yy432: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy433; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy382; default: goto yy363; } yy433: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy434; case '6': goto yy435; case '7': case '8': case '9': goto yy386; default: goto yy53; } yy434: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy387; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy436; default: goto yy385; } yy435: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy387; case '0': goto yy391; default: goto yy385; } yy436: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy392; case '(': goto yy395; case '+': case '-': goto yy394; case '.': case ':': goto yy387; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy396; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy397; default: goto yy385; } yy437: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy387; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy363; } yy438: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy433; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy415; default: goto yy363; } yy439: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy423; case '0': case '1': goto yy424; case '2': goto yy425; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy426; case ':': goto yy383; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy440: yych = *++YYCURSOR; switch (yych) { case '0': goto yy422; case '1': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy443; case '2': goto yy450; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy441: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy443; case '2': goto yy450; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy442: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy443; case '2': goto yy371; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy372; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy443: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy444; case '.': goto yy423; case '0': case '1': goto yy424; case '2': goto yy425; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy426; case ':': goto yy383; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy444: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy445; default: goto yy53; } yy445: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy447; default: goto yy446; } yy446: #line 1238 "parse_date.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 9717 "" yy447: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy448; default: goto yy446; } yy448: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy449; default: goto yy446; } yy449: yych = *++YYCURSOR; goto yy446; yy450: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy444; case '.': goto yy423; case '0': case '1': goto yy424; case '2': goto yy425; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy426; case ':': goto yy383; case 'n': goto yy374; case 'r': goto yy375; case 's': goto yy373; case 't': goto yy376; default: goto yy378; } yy451: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'C': goto yy357; case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'c': goto yy452; default: goto yy3; } yy452: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'E': goto yy366; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'e': goto yy453; default: goto yy3; } yy453: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'M': goto yy367; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'm': goto yy454; default: goto yy3; } yy454: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy368; case 'b': goto yy455; default: goto yy144; } yy455: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy369; case 'e': goto yy456; default: goto yy144; } yy456: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'R': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy457; default: goto yy53; } yy457: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy359; } yy458: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'T': case 't': goto yy459; default: goto yy3; } yy459: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'O': case 'o': goto yy460; default: goto yy3; } yy460: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'B': case 'b': goto yy461; default: goto yy3; } yy461: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy462; default: goto yy53; } yy462: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy358; default: goto yy53; } yy463: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'T': goto yy459; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 't': goto yy464; default: goto yy3; } yy464: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'O': goto yy460; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'o': goto yy465; default: goto yy3; } yy465: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'B': goto yy461; case 'a': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'b': goto yy466; default: goto yy3; } yy466: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy462; case 'e': goto yy467; default: goto yy144; } yy467: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'R': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy457; default: goto yy53; } yy468: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'C': case 'c': goto yy483; case 'P': case 'p': goto yy482; case 'V': case 'v': goto yy484; default: goto yy3; } yy469: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'T': case 't': goto yy477; default: goto yy3; } yy470: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'y': case 'z': goto yy134; case 'X': case 'x': goto yy475; default: goto yy3; } yy471: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'N': case 'n': goto yy472; default: goto yy3; } yy472: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'D': case 'd': goto yy473; default: goto yy341; } yy473: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy474; default: goto yy3; } yy474: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy475: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy476; default: goto yy3; } yy476: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'H': case 'h': goto yy159; default: goto yy3; } yy477: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'U': case 'u': goto yy478; default: goto yy341; } yy478: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'R': case 'r': goto yy479; default: goto yy3; } yy479: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy480; default: goto yy53; } yy480: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy481; default: goto yy53; } yy481: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy482: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy490; default: goto yy3; } yy483: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'O': case 'o': goto yy488; default: goto yy3; } yy484: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'E': case 'e': goto yy485; default: goto yy3; } yy485: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'N': case 'n': goto yy486; default: goto yy3; } yy486: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy487; default: goto yy53; } yy487: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy159; default: goto yy53; } yy488: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'N': case 'n': goto yy489; default: goto yy3; } yy489: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy159; default: goto yy53; } yy490: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'E': case 'e': goto yy491; default: goto yy3; } yy491: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy492; default: goto yy53; } yy492: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy493; default: goto yy53; } yy493: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy494; default: goto yy53; } yy494: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy358; default: goto yy53; } yy495: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'C': goto yy483; case 'P': goto yy482; case 'V': goto yy484; case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'q': case 'r': case 's': case 't': case 'u': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'c': goto yy510; case 'p': goto yy509; case 'v': goto yy511; default: goto yy3; } yy496: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'T': goto yy477; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 't': goto yy504; default: goto yy3; } yy497: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'Y': case 'Z': goto yy134; case 'X': goto yy475; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'y': case 'z': goto yy137; case 'x': goto yy502; default: goto yy3; } yy498: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'N': goto yy472; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'n': goto yy499; default: goto yy3; } yy499: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'D': goto yy473; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'd': goto yy500; default: goto yy341; } yy500: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': goto yy474; case 'a': goto yy501; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy501: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy502: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy476; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy503; default: goto yy3; } yy503: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy3; } yy504: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'U': goto yy478; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'u': goto yy505; default: goto yy341; } yy505: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'R': goto yy479; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy506; default: goto yy3; } yy506: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy480; case 'd': goto yy507; default: goto yy144; } yy507: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy481; case 'a': goto yy508; default: goto yy144; } yy508: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy509: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy490; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy517; default: goto yy3; } yy510: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'O': goto yy488; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'o': goto yy515; default: goto yy3; } yy511: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'E': goto yy485; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'e': goto yy512; default: goto yy3; } yy512: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'N': goto yy486; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'n': goto yy513; default: goto yy3; } yy513: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy487; case 't': goto yy514; default: goto yy144; } yy514: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy53; } yy515: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'N': goto yy489; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'n': goto yy516; default: goto yy3; } yy516: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'D': goto yy159; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy241; default: goto yy53; } yy517: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'E': goto yy491; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'e': goto yy518; default: goto yy3; } yy518: yych = *++YYCURSOR; switch (yych) { case 'M': goto yy492; case 'm': goto yy519; default: goto yy144; } yy519: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy493; case 'b': goto yy520; default: goto yy144; } yy520: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy494; case 'e': goto yy521; default: goto yy144; } yy521: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'R': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy457; default: goto yy53; } yy522: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'G': case 'g': goto yy529; default: goto yy3; } yy523: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'R': case 'r': goto yy527; default: goto yy3; } yy524: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'O': case 'o': goto yy525; default: goto yy3; } yy525: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy526; } yy526: #line 1292 "parse_date.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } #line 12463 "" yy527: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'I': case 'i': goto yy528; default: goto yy3; } yy528: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'L': case 'l': goto yy358; default: goto yy3; } yy529: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'U': case 'u': goto yy530; default: goto yy3; } yy530: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'S': case 's': goto yy531; default: goto yy3; } yy531: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy358; default: goto yy53; } yy532: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'G': goto yy529; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'g': goto yy538; default: goto yy3; } yy533: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'R': goto yy527; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'r': goto yy536; default: goto yy3; } yy534: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'O': goto yy525; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'o': goto yy535; default: goto yy3; } yy535: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; default: goto yy526; } yy536: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'I': goto yy528; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'i': goto yy537; default: goto yy3; } yy537: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'L': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'l': goto yy457; default: goto yy3; } yy538: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'U': goto yy530; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'u': goto yy539; default: goto yy3; } yy539: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'S': goto yy531; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy540; default: goto yy3; } yy540: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'T': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 't': goto yy457; default: goto yy53; } yy541: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'B': case 'b': goto yy555; default: goto yy3; } yy542: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'F': case 'f': goto yy552; case 'R': case 'r': goto yy551; default: goto yy3; } yy543: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'U': case 'u': goto yy548; default: goto yy3; } yy544: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'I': case 'i': goto yy545; default: goto yy3; } yy545: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'D': case 'd': goto yy546; default: goto yy341; } yy546: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy547; default: goto yy3; } yy547: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy548: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'R': case 'r': goto yy549; default: goto yy3; } yy549: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'T': case 't': goto yy550; default: goto yy3; } yy550: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy159; default: goto yy53; } yy551: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'S': case 's': goto yy554; default: goto yy3; } yy552: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy553; default: goto yy3; } yy553: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'H': case 'h': goto yy159; default: goto yy3; } yy554: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'T': case 't': goto yy159; default: goto yy3; } yy555: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'R': case 'r': goto yy556; default: goto yy3; } yy556: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'U': case 'u': goto yy557; default: goto yy3; } yy557: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy558; default: goto yy53; } yy558: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy559; default: goto yy53; } yy559: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy358; default: goto yy53; } yy560: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'B': goto yy555; case 'a': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'b': goto yy574; default: goto yy3; } yy561: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'F': goto yy552; case 'R': goto yy551; case 'a': case 'b': case 'c': case 'd': case 'e': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'f': goto yy571; case 'r': goto yy570; default: goto yy3; } yy562: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'U': goto yy548; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'u': goto yy567; default: goto yy3; } yy563: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'I': goto yy545; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'i': goto yy564; default: goto yy3; } yy564: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'D': goto yy546; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'd': goto yy565; default: goto yy341; } yy565: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': goto yy547; case 'a': goto yy566; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy566: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy567: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'R': goto yy549; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'r': goto yy568; default: goto yy3; } yy568: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'T': goto yy550; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 't': goto yy569; default: goto yy3; } yy569: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy53; } yy570: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'S': goto yy554; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 's': goto yy573; default: goto yy3; } yy571: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy553; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy572; default: goto yy3; } yy572: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy3; } yy573: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'T': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 't': goto yy241; default: goto yy3; } yy574: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'R': goto yy556; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'r': goto yy575; default: goto yy3; } yy575: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'U': goto yy557; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'u': goto yy576; default: goto yy3; } yy576: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy558; case 'a': goto yy577; default: goto yy144; } yy577: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy559; case 'r': goto yy578; default: goto yy144; } yy578: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'Y': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy143; case 'y': goto yy457; default: goto yy53; } yy579: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'L': case 'l': goto yy586; case 'N': case 'n': goto yy585; default: goto yy3; } yy580: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'N': case 'n': goto yy581; default: goto yy3; } yy581: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'U': case 'u': goto yy582; default: goto yy3; } yy582: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy583; default: goto yy3; } yy583: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy584; default: goto yy53; } yy584: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy358; default: goto yy53; } yy585: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'E': case 'e': goto yy587; default: goto yy3; } yy586: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy135; case 'Y': case 'y': goto yy587; default: goto yy3; } yy587: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; default: goto yy3; } yy588: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'L': goto yy586; case 'N': goto yy585; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'l': goto yy595; case 'n': goto yy594; default: goto yy3; } yy589: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'N': goto yy581; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'n': goto yy590; default: goto yy3; } yy590: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'U': goto yy582; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'u': goto yy591; default: goto yy3; } yy591: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': goto yy583; case 'a': goto yy592; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy592: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy584; case 'r': goto yy593; default: goto yy144; } yy593: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'Y': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy143; case 'y': goto yy457; default: goto yy53; } yy594: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'E': goto yy587; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'e': goto yy596; default: goto yy3; } yy595: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Z': goto yy135; case 'Y': goto yy587; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy142; case 'y': goto yy596; default: goto yy3; } yy596: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy597: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'I': goto yy598; default: goto yy3; } yy598: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy3; } yy599: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'I': goto yy600; default: goto yy3; } yy600: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'I': goto yy587; default: goto yy3; } yy601: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; default: goto yy3; } yy602: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '-': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'I': goto yy598; default: goto yy3; } yy603: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy604: switch (yych) { case ' ': goto yy603; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy624; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'P': case 'p': goto yy628; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy605: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy119; case 'E': case 'e': goto yy1137; case 'U': case 'u': goto yy118; default: goto yy53; } yy606: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy119; case 'E': case 'e': goto yy1137; case 'U': case 'u': goto yy118; case 't': goto yy843; default: goto yy53; } yy607: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy715; case 'I': case 'i': goto yy110; case 'O': case 'o': goto yy109; default: goto yy53; } yy608: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy106; case 'E': case 'e': goto yy702; default: goto yy53; } yy609: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy718; case 'O': case 'o': goto yy83; case 'R': case 'r': goto yy82; default: goto yy53; } yy610: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy66; case 'U': case 'u': goto yy67; case 'h': goto yy1136; default: goto yy53; } yy611: yych = *++YYCURSOR; switch (yych) { case '-': goto yy852; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy851; default: goto yy57; } yy612: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy655; case 'd': goto yy843; default: goto yy53; } yy613: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy843; default: goto yy53; } yy614: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy783; case '3': goto yy785; case '4': case '5': case '6': case '7': case '8': case '9': goto yy786; case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy615: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy740; case 'D': case 'd': goto yy744; case 'F': case 'f': goto yy738; case 'J': case 'j': goto yy737; case 'M': case 'm': goto yy739; case 'N': case 'n': goto yy743; case 'O': case 'o': goto yy742; case 'S': case 's': goto yy741; default: goto yy617; } yy616: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy617: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy701; case 'F': case 'f': goto yy697; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy698; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy700; case 'V': goto yy621; case 'X': goto yy622; default: goto yy53; } yy618: yych = *++YYCURSOR; switch (yych) { case '0': goto yy693; case '1': goto yy694; case '2': case '3': case '4': case '5': goto yy695; case '6': case '7': case '8': case '9': goto yy696; default: goto yy617; } yy619: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy692; case 'V': case 'X': goto yy665; default: goto yy620; } yy620: #line 1139 "parse_date.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 16384 "" yy621: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy690; default: goto yy620; } yy622: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy689; default: goto yy620; } yy623: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy682; case 'U': case 'u': goto yy681; default: goto yy53; } yy624: yych = *++YYCURSOR; switch (yych) { case '.': goto yy629; case 'M': case 'm': goto yy630; case 'P': case 'p': goto yy675; case 'U': case 'u': goto yy674; default: goto yy53; } yy625: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy669; default: goto yy53; } yy626: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy655; default: goto yy53; } yy627: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy633; case '6': case '7': case '8': case '9': goto yy635; default: goto yy53; } yy628: yych = *++YYCURSOR; switch (yych) { case '.': goto yy629; case 'M': case 'm': goto yy630; default: goto yy53; } yy629: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy630; default: goto yy53; } yy630: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '.': goto yy632; default: goto yy631; } yy631: #line 929 "parse_date.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 16537 "" yy632: yych = *++YYCURSOR; goto yy631; yy633: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy636; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy649; default: goto yy634; } yy634: #line 946 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 16583 "" yy635: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy636; default: goto yy634; } yy636: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy637; case '6': goto yy638; case '7': case '8': case '9': goto yy639; default: goto yy53; } yy637: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy643; default: goto yy634; } yy638: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': goto yy643; default: goto yy634; } yy639: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; default: goto yy634; } yy640: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy641; default: goto yy53; } yy641: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy641; default: goto yy634; } yy643: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy644; case '.': goto yy640; case 'A': case 'P': case 'a': case 'p': goto yy646; default: goto yy634; } yy644: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; switch (yych) { case ' ': goto yy644; case 'A': case 'P': case 'a': case 'p': goto yy646; default: goto yy53; } yy646: yych = *++YYCURSOR; switch (yych) { case '.': goto yy647; case 'M': case 'm': goto yy648; default: goto yy53; } yy647: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy648; default: goto yy53; } yy648: yych = *++YYCURSOR; switch (yych) { case '.': goto yy632; default: goto yy631; } yy649: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy650; case '.': case ':': goto yy636; case 'A': case 'P': case 'a': case 'p': goto yy652; default: goto yy634; } yy650: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; switch (yych) { case ' ': goto yy650; case 'A': case 'P': case 'a': case 'p': goto yy652; default: goto yy53; } yy652: yych = *++YYCURSOR; switch (yych) { case '.': goto yy653; case 'M': case 'm': goto yy654; default: goto yy53; } yy653: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy654; default: goto yy53; } yy654: yych = *++YYCURSOR; switch (yych) { case '.': goto yy632; default: goto yy631; } yy655: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy656; default: goto yy53; } yy656: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy661; default: goto yy620; } yy657: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy658: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; default: goto yy53; } yy659: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy666; default: goto yy660; } yy660: #line 1073 "parse_date.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 16864 "" yy661: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy662; default: goto yy53; } yy662: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy663; default: goto yy53; } yy663: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy664; default: goto yy53; } yy664: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy665; default: goto yy53; } yy665: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; default: goto yy620; } yy666: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy667; default: goto yy660; } yy667: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy668; default: goto yy660; } yy668: yych = *++YYCURSOR; goto yy660; yy669: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy670; default: goto yy53; } yy670: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'O': case 'o': goto yy671; default: goto yy620; } yy671: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy672; default: goto yy53; } yy672: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy673; default: goto yy53; } yy673: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy665; default: goto yy53; } yy674: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy678; default: goto yy53; } yy675: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy676; default: goto yy53; } yy676: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': case 'i': goto yy677; default: goto yy620; } yy677: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy665; default: goto yy53; } yy678: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'U': case 'u': goto yy679; default: goto yy620; } yy679: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy680; default: goto yy53; } yy680: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy665; default: goto yy53; } yy681: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy688; case 'N': case 'n': goto yy687; default: goto yy53; } yy682: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy683; default: goto yy53; } yy683: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'U': case 'u': goto yy684; default: goto yy620; } yy684: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy685; default: goto yy53; } yy685: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy686; default: goto yy53; } yy686: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy665; default: goto yy53; } yy687: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy665; default: goto yy620; } yy688: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'Y': case 'y': goto yy665; default: goto yy620; } yy689: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy665; default: goto yy620; } yy690: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy691; default: goto yy620; } yy691: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy665; default: goto yy620; } yy692: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': goto yy665; default: goto yy620; } yy693: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy724; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy733; case ':': goto yy636; default: goto yy634; } yy694: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy724; case '0': case '1': case '2': goto yy733; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy649; case ':': goto yy636; default: goto yy634; } yy695: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy724; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy649; case ':': goto yy636; default: goto yy634; } yy696: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy724; case ':': goto yy636; default: goto yy634; } yy697: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy718; default: goto yy53; } yy698: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy715; default: goto yy53; } yy699: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy675; case 'U': case 'u': goto yy674; default: goto yy53; } yy700: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy708; default: goto yy53; } yy701: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy702; default: goto yy53; } yy702: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy703; default: goto yy53; } yy703: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy704; default: goto yy620; } yy704: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy705; default: goto yy53; } yy705: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy706; default: goto yy53; } yy706: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy707; default: goto yy53; } yy707: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy665; default: goto yy53; } yy708: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy709; default: goto yy53; } yy709: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'T': case 't': goto yy710; default: goto yy620; } yy710: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy711; default: goto yy620; } yy711: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy712; default: goto yy53; } yy712: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy713; default: goto yy53; } yy713: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy714; default: goto yy53; } yy714: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy665; default: goto yy53; } yy715: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy716; case 'Y': case 'y': goto yy665; default: goto yy53; } yy716: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'C': case 'c': goto yy717; default: goto yy620; } yy717: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy665; default: goto yy53; } yy718: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy719; default: goto yy53; } yy719: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy657; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'R': case 'r': goto yy720; default: goto yy620; } yy720: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy721; default: goto yy53; } yy721: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy722; default: goto yy53; } yy722: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy723; default: goto yy53; } yy723: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy665; default: goto yy53; } yy724: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy725; case '6': goto yy726; case '7': case '8': case '9': goto yy727; default: goto yy53; } yy725: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy732; default: goto yy634; } yy726: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': goto yy732; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy728; default: goto yy634; } yy727: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy728; default: goto yy634; } yy728: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy730; default: goto yy729; } yy729: #line 1087 "parse_date.re" { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 17862 "" yy730: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy731; default: goto yy729; } yy731: yych = *++YYCURSOR; goto yy729; yy732: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy644; case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy730; case 'A': case 'P': case 'a': case 'p': goto yy646; default: goto yy634; } yy733: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy650; case '.': goto yy724; case ':': goto yy636; case 'A': case 'P': case 'a': case 'p': goto yy652; default: goto yy634; } yy734: yych = *++YYCURSOR; switch (yych) { case '-': goto yy773; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; default: goto yy53; } yy735: yych = *++YYCURSOR; switch (yych) { case '-': goto yy773; case '0': case '1': case '2': goto yy736; default: goto yy53; } yy736: yych = *++YYCURSOR; switch (yych) { case '-': goto yy773; default: goto yy53; } yy737: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy769; case 'U': case 'u': goto yy768; default: goto yy53; } yy738: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy766; default: goto yy53; } yy739: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy763; default: goto yy53; } yy740: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy760; case 'U': case 'u': goto yy759; default: goto yy53; } yy741: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy756; default: goto yy53; } yy742: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy754; default: goto yy53; } yy743: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy752; default: goto yy53; } yy744: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy745; default: goto yy53; } yy745: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy746; default: goto yy53; } yy746: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy704; default: goto yy620; } yy747: yych = *++YYCURSOR; switch (yych) { case '0': goto yy748; case '1': case '2': goto yy749; case '3': goto yy750; default: goto yy658; } yy748: yych = *++YYCURSOR; switch (yych) { case '0': goto yy666; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy751; default: goto yy660; } yy749: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy751; default: goto yy660; } yy750: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy751; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy666; default: goto yy660; } yy751: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy667; default: goto yy660; } yy752: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy753; default: goto yy53; } yy753: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy661; default: goto yy620; } yy754: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy755; default: goto yy53; } yy755: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'O': case 'o': goto yy671; default: goto yy620; } yy756: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy757; default: goto yy53; } yy757: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'T': case 't': goto yy758; default: goto yy620; } yy758: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy711; default: goto yy620; } yy759: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy762; default: goto yy53; } yy760: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy761; default: goto yy53; } yy761: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'I': case 'i': goto yy677; default: goto yy620; } yy762: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'U': case 'u': goto yy679; default: goto yy620; } yy763: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy764; case 'Y': case 'y': goto yy765; default: goto yy53; } yy764: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'C': case 'c': goto yy717; default: goto yy620; } yy765: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; default: goto yy620; } yy766: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy767; default: goto yy53; } yy767: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'R': case 'r': goto yy720; default: goto yy620; } yy768: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy772; case 'N': case 'n': goto yy771; default: goto yy53; } yy769: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy770; default: goto yy53; } yy770: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'U': case 'u': goto yy684; default: goto yy620; } yy771: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'E': case 'e': goto yy665; default: goto yy620; } yy772: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '.': goto yy657; case '-': goto yy747; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy659; case 'Y': case 'y': goto yy665; default: goto yy620; } yy773: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy774; case '3': goto yy776; case '4': case '5': case '6': case '7': case '8': case '9': goto yy777; default: goto yy53; } yy774: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy777; case 'n': goto yy779; case 'r': goto yy780; case 's': goto yy778; case 't': goto yy781; default: goto yy775; } yy775: #line 1060 "parse_date.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 18625 "" yy776: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': goto yy777; case 'n': goto yy779; case 'r': goto yy780; case 's': goto yy778; case 't': goto yy781; default: goto yy775; } yy777: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'n': goto yy779; case 'r': goto yy780; case 's': goto yy778; case 't': goto yy781; default: goto yy775; } yy778: yych = *++YYCURSOR; switch (yych) { case 't': goto yy782; default: goto yy53; } yy779: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy782; default: goto yy53; } yy780: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy782; default: goto yy53; } yy781: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy782; default: goto yy53; } yy782: yych = *++YYCURSOR; goto yy775; yy783: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': goto yy837; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy786; case 'n': goto yy834; case 'r': goto yy835; case 's': goto yy833; case 't': goto yy836; default: goto yy784; } yy784: #line 1033 "parse_date.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 18711 "" yy785: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': goto yy837; case '0': case '1': goto yy786; case 'n': goto yy834; case 'r': goto yy835; case 's': goto yy833; case 't': goto yy836; default: goto yy784; } yy786: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': goto yy837; case 'n': goto yy834; case 'r': goto yy835; case 's': goto yy833; case 't': goto yy836; default: goto yy784; } yy787: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy832; case 'U': case 'u': goto yy831; default: goto yy53; } yy788: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy830; default: goto yy53; } yy789: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy829; default: goto yy53; } yy790: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy828; case 'U': case 'u': goto yy827; default: goto yy53; } yy791: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy825; default: goto yy53; } yy792: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy824; default: goto yy53; } yy793: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy823; default: goto yy53; } yy794: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy795; default: goto yy53; } yy795: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy796; default: goto yy53; } yy796: yych = *++YYCURSOR; switch (yych) { case '/': goto yy797; default: goto yy53; } yy797: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy798; default: goto yy53; } yy798: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy799; default: goto yy53; } yy799: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy800; default: goto yy53; } yy800: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy801; default: goto yy53; } yy801: yych = *++YYCURSOR; switch (yych) { case ':': goto yy802; default: goto yy53; } yy802: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy803; case '2': goto yy804; default: goto yy53; } yy803: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy805; default: goto yy53; } yy804: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy805; default: goto yy53; } yy805: yych = *++YYCURSOR; switch (yych) { case ':': goto yy806; default: goto yy53; } yy806: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy807; default: goto yy53; } yy807: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy808; default: goto yy53; } yy808: yych = *++YYCURSOR; switch (yych) { case ':': goto yy809; default: goto yy53; } yy809: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy810; case '6': goto yy811; default: goto yy53; } yy810: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy812; default: goto yy53; } yy811: yych = *++YYCURSOR; switch (yych) { case '0': goto yy812; default: goto yy53; } yy812: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy813; default: goto yy53; } yy813: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case ' ': goto yy813; case '+': case '-': goto yy815; default: goto yy53; } yy815: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy816; case '2': goto yy818; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy819; default: goto yy53; } yy816: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy819; case ':': goto yy820; default: goto yy817; } yy817: #line 1264 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } #line 19044 "" yy818: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy819; case '4': case '5': goto yy821; case '6': case '7': case '8': case '9': goto yy822; case ':': goto yy820; default: goto yy817; } yy819: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy821; case '6': case '7': case '8': case '9': goto yy822; case ':': goto yy820; default: goto yy817; } yy820: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy821; case '6': case '7': case '8': case '9': goto yy822; default: goto yy817; } yy821: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy822; default: goto yy817; } yy822: yych = *++YYCURSOR; goto yy817; yy823: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy796; default: goto yy53; } yy824: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy796; default: goto yy53; } yy825: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy826; default: goto yy53; } yy826: yych = *++YYCURSOR; switch (yych) { case '/': goto yy797; case 'T': case 't': goto yy796; default: goto yy53; } yy827: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy796; default: goto yy53; } yy828: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy796; default: goto yy53; } yy829: yych = *++YYCURSOR; switch (yych) { case 'R': case 'Y': case 'r': case 'y': goto yy796; default: goto yy53; } yy830: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy796; default: goto yy53; } yy831: yych = *++YYCURSOR; switch (yych) { case 'L': case 'N': case 'l': case 'n': goto yy796; default: goto yy53; } yy832: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy796; default: goto yy53; } yy833: yych = *++YYCURSOR; switch (yych) { case 't': goto yy842; default: goto yy53; } yy834: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy842; default: goto yy53; } yy835: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy842; default: goto yy53; } yy836: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy842; default: goto yy53; } yy837: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy838; default: goto yy53; } yy838: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy839; default: goto yy784; } yy839: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy840; default: goto yy784; } yy840: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy841; default: goto yy784; } yy841: yych = *++YYCURSOR; goto yy784; yy842: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': goto yy837; default: goto yy784; } yy843: yych = *++YYCURSOR; switch (yych) { case '.': goto yy845; case '/': goto yy844; default: goto yy617; } yy844: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy845: yych = *++YYCURSOR; switch (yych) { case '0': goto yy846; case '1': goto yy847; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy848; default: goto yy617; } yy846: yych = *++YYCURSOR; switch (yych) { case '.': goto yy849; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy848; default: goto yy53; } yy847: yych = *++YYCURSOR; switch (yych) { case '.': goto yy849; case '0': case '1': case '2': goto yy848; default: goto yy53; } yy848: yych = *++YYCURSOR; switch (yych) { case '.': goto yy849; default: goto yy53; } yy849: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy850; default: goto yy53; } yy850: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy728; default: goto yy729; } yy851: yych = *++YYCURSOR; switch (yych) { case '-': goto yy852; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy879; default: goto yy57; } yy852: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy856; case 'D': case 'd': goto yy860; case 'F': case 'f': goto yy854; case 'J': case 'j': goto yy853; case 'M': case 'm': goto yy855; case 'N': case 'n': goto yy859; case 'O': case 'o': goto yy858; case 'S': case 's': goto yy857; default: goto yy53; } yy853: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy878; case 'U': case 'u': goto yy877; default: goto yy53; } yy854: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy876; default: goto yy53; } yy855: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy875; default: goto yy53; } yy856: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy874; case 'U': case 'u': goto yy873; default: goto yy53; } yy857: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy871; default: goto yy53; } yy858: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy870; default: goto yy53; } yy859: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy869; default: goto yy53; } yy860: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy861; default: goto yy53; } yy861: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy862; default: goto yy53; } yy862: yych = *++YYCURSOR; switch (yych) { case '-': goto yy863; default: goto yy53; } yy863: yych = *++YYCURSOR; switch (yych) { case '0': goto yy864; case '1': case '2': goto yy865; case '3': goto yy866; default: goto yy53; } yy864: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy867; default: goto yy53; } yy865: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy867; default: goto yy53; } yy866: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy867; default: goto yy53; } yy867: ++YYCURSOR; #line 1251 "parse_date.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 19562 "" yy869: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy862; default: goto yy53; } yy870: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy862; default: goto yy53; } yy871: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy872; default: goto yy53; } yy872: yych = *++YYCURSOR; switch (yych) { case '-': goto yy863; case 'T': case 't': goto yy862; default: goto yy53; } yy873: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy862; default: goto yy53; } yy874: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy862; default: goto yy53; } yy875: yych = *++YYCURSOR; switch (yych) { case 'R': case 'Y': case 'r': case 'y': goto yy862; default: goto yy53; } yy876: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy862; default: goto yy53; } yy877: yych = *++YYCURSOR; switch (yych) { case 'L': case 'N': case 'l': case 'n': goto yy862; default: goto yy53; } yy878: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy862; default: goto yy53; } yy879: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy900; case '1': goto yy901; case '2': goto yy903; case '3': goto yy904; case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy880; } yy880: #line 1283 "parse_date.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 19707 "" yy881: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1065; case '1': goto yy1066; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1067; case 'A': case 'a': goto yy1060; case 'D': case 'd': goto yy1064; case 'F': case 'f': goto yy1058; case 'J': case 'j': goto yy1057; case 'M': case 'm': goto yy1059; case 'N': case 'n': goto yy1063; case 'O': case 'o': goto yy1062; case 'S': case 's': goto yy1061; default: goto yy886; } yy882: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1038; case '1': goto yy1039; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1040; default: goto yy53; } yy883: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy884: switch (yych) { case ' ': goto yy883; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy899; case 'F': case 'f': goto yy893; case 'H': case 'h': goto yy60; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy894; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy896; case 'T': case 't': goto yy65; case 'V': goto yy890; case 'W': case 'w': goto yy62; case 'X': goto yy891; case 'Y': case 'y': goto yy64; default: goto yy53; } yy885: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy886: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy1030; case 'F': case 'f': goto yy1027; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy1028; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy1029; case 'V': goto yy890; case 'X': goto yy891; default: goto yy53; } yy887: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1024; case '1': case '2': goto yy1025; case '3': goto yy1026; default: goto yy886; } yy888: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'I': goto yy1023; case 'V': case 'X': goto yy977; default: goto yy889; } yy889: #line 1113 "parse_date.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 19876 "" yy890: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy1021; default: goto yy889; } yy891: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy1020; default: goto yy889; } yy892: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1013; case 'U': case 'u': goto yy1012; default: goto yy53; } yy893: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1006; case 'O': case 'o': goto yy83; case 'R': case 'r': goto yy82; default: goto yy53; } yy894: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1003; case 'I': case 'i': goto yy110; case 'O': case 'o': goto yy109; default: goto yy53; } yy895: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy997; case 'U': case 'u': goto yy996; default: goto yy53; } yy896: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy119; case 'E': case 'e': goto yy989; case 'U': case 'u': goto yy118; default: goto yy53; } yy897: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy984; default: goto yy53; } yy898: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy978; default: goto yy53; } yy899: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy106; case 'E': case 'e': goto yy971; default: goto yy53; } yy900: yych = *++YYCURSOR; switch (yych) { case '0': goto yy969; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy970; default: goto yy57; } yy901: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy938; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy917; default: goto yy57; } yy902: yych = *++YYCURSOR; switch (yych) { case '0': goto yy918; case '1': goto yy919; default: goto yy53; } yy903: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy917; default: goto yy57; } yy904: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy913; case '6': goto yy914; case '7': case '8': case '9': goto yy51; default: goto yy57; } yy905: yych = *++YYCURSOR; switch (yych) { case '0': goto yy906; case '1': case '2': case '3': case '4': goto yy907; case '5': goto yy908; case 'E': case 'e': goto yy98; default: goto yy53; } yy906: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy909; default: goto yy53; } yy907: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy909; default: goto yy53; } yy908: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy909; default: goto yy53; } yy909: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy911; default: goto yy910; } yy910: #line 1219 "parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 20113 "" yy911: ++YYCURSOR; #line 1200 "parse_date.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 20134 "" yy913: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy57; } yy914: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': goto yy915; case '7': case '8': case '9': goto yy51; default: goto yy57; } yy915: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy916; } yy916: #line 1187 "parse_date.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 20211 "" yy917: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy57; } yy918: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy920; default: goto yy53; } yy919: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy920; default: goto yy53; } yy920: yych = *++YYCURSOR; switch (yych) { case ':': goto yy921; default: goto yy53; } yy921: yych = *++YYCURSOR; switch (yych) { case '0': goto yy922; case '1': case '2': goto yy923; case '3': goto yy924; default: goto yy53; } yy922: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy925; default: goto yy53; } yy923: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy925; default: goto yy53; } yy924: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy925; default: goto yy53; } yy925: yych = *++YYCURSOR; switch (yych) { case ' ': goto yy926; default: goto yy53; } yy926: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy927; case '2': goto yy928; default: goto yy53; } yy927: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy929; default: goto yy53; } yy928: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy929; default: goto yy53; } yy929: yych = *++YYCURSOR; switch (yych) { case ':': goto yy930; default: goto yy53; } yy930: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy931; default: goto yy53; } yy931: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy932; default: goto yy53; } yy932: yych = *++YYCURSOR; switch (yych) { case ':': goto yy933; default: goto yy53; } yy933: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy934; case '6': goto yy935; default: goto yy53; } yy934: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy53; } yy935: yych = *++YYCURSOR; switch (yych) { case '0': goto yy936; default: goto yy53; } yy936: ++YYCURSOR; yy937: #line 1163 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 20435 "" yy938: yych = *++YYCURSOR; switch (yych) { case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy57; } yy939: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy940: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy941: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': goto yy942; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy916; } yy942: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy56; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': goto yy944; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; case 't': goto yy945; default: goto yy943; } yy943: #line 1151 "parse_date.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 20595 "" yy944: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy959; case '2': goto yy960; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy961; case 'H': case 'h': goto yy66; case 'U': case 'u': goto yy67; default: goto yy53; } yy945: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy946; case '2': goto yy947; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy948; case 'H': case 'h': goto yy66; case 'U': case 'u': goto yy67; default: goto yy53; } yy946: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy953; case '6': case '7': case '8': case '9': goto yy948; default: goto yy53; } yy947: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy953; case '4': case '5': goto yy949; default: goto yy53; } yy948: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy949; default: goto yy53; } yy949: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy950; default: goto yy53; } yy950: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy951; case '6': goto yy952; default: goto yy53; } yy951: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy53; } yy952: yych = *++YYCURSOR; switch (yych) { case '0': goto yy936; default: goto yy53; } yy953: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy954; case '6': case '7': case '8': case '9': goto yy950; default: goto yy53; } yy954: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy955; case '6': goto yy956; case '7': case '8': case '9': goto yy950; default: goto yy53; } yy955: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy957; case '6': goto yy958; case '7': case '8': case '9': goto yy936; default: goto yy53; } yy956: yych = *++YYCURSOR; switch (yych) { case '0': goto yy957; case '1': case '2': case '3': case '4': case '5': goto yy951; case '6': goto yy952; default: goto yy53; } yy957: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy937; } yy958: yych = *++YYCURSOR; switch (yych) { case '0': goto yy936; default: goto yy937; } yy959: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy968; case '6': case '7': case '8': case '9': goto yy961; case ':': goto yy962; default: goto yy53; } yy960: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy968; case '4': case '5': goto yy949; case ':': goto yy962; default: goto yy53; } yy961: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy949; case ':': goto yy962; default: goto yy53; } yy962: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy963; default: goto yy53; } yy963: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy964; default: goto yy53; } yy964: yych = *++YYCURSOR; switch (yych) { case ':': goto yy965; default: goto yy53; } yy965: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy966; case '6': goto yy967; default: goto yy53; } yy966: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy53; } yy967: yych = *++YYCURSOR; switch (yych) { case '0': goto yy936; default: goto yy53; } yy968: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy954; case '6': case '7': case '8': case '9': goto yy950; case ':': goto yy962; default: goto yy53; } yy969: yych = *++YYCURSOR; switch (yych) { case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy57; } yy970: yych = *++YYCURSOR; switch (yych) { case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy57; } yy971: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy972; default: goto yy53; } yy972: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy973; default: goto yy889; } yy973: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy974; default: goto yy53; } yy974: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy975; default: goto yy53; } yy975: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy976; default: goto yy53; } yy976: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy977; default: goto yy53; } yy977: yych = *++YYCURSOR; goto yy889; yy978: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy979; default: goto yy53; } yy979: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy980; default: goto yy889; } yy980: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy981; default: goto yy53; } yy981: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy982; default: goto yy53; } yy982: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy983; default: goto yy53; } yy983: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy977; default: goto yy53; } yy984: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy985; default: goto yy53; } yy985: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'O': case 'o': goto yy986; default: goto yy889; } yy986: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy987; default: goto yy53; } yy987: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy988; default: goto yy53; } yy988: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy977; default: goto yy53; } yy989: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy121; case 'P': case 'p': goto yy990; default: goto yy53; } yy990: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy991; default: goto yy889; } yy991: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy992; default: goto yy889; } yy992: yych = *++YYCURSOR; switch (yych) { case 'M': case 'm': goto yy993; default: goto yy53; } yy993: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy994; default: goto yy53; } yy994: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy995; default: goto yy53; } yy995: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy977; default: goto yy53; } yy996: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy1000; default: goto yy53; } yy997: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy998; default: goto yy53; } yy998: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'I': case 'i': goto yy999; default: goto yy889; } yy999: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy977; default: goto yy53; } yy1000: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'U': case 'u': goto yy1001; default: goto yy889; } yy1001: yych = *++YYCURSOR; switch (yych) { case 'S': case 's': goto yy1002; default: goto yy53; } yy1002: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy977; default: goto yy53; } yy1003: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1004; case 'Y': case 'y': goto yy977; default: goto yy53; } yy1004: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'C': case 'c': goto yy1005; default: goto yy889; } yy1005: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy977; default: goto yy53; } yy1006: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy1007; default: goto yy53; } yy1007: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'R': case 'r': goto yy1008; default: goto yy889; } yy1008: yych = *++YYCURSOR; switch (yych) { case 'U': case 'u': goto yy1009; default: goto yy53; } yy1009: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1010; default: goto yy53; } yy1010: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1011; default: goto yy53; } yy1011: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy977; default: goto yy53; } yy1012: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy1019; case 'N': case 'n': goto yy1018; default: goto yy53; } yy1013: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy1014; default: goto yy53; } yy1014: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'U': case 'u': goto yy1015; default: goto yy889; } yy1015: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1016; default: goto yy53; } yy1016: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1017; default: goto yy53; } yy1017: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy977; default: goto yy53; } yy1018: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy977; default: goto yy889; } yy1019: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy977; default: goto yy889; } yy1020: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy977; default: goto yy889; } yy1021: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy1022; default: goto yy889; } yy1022: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy977; default: goto yy889; } yy1023: yych = *++YYCURSOR; switch (yych) { case 'I': goto yy977; default: goto yy889; } yy1024: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1037; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1036; default: goto yy53; } yy1025: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1035; default: goto yy53; } yy1026: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1033; case '6': goto yy1032; default: goto yy53; } yy1027: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1006; default: goto yy53; } yy1028: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1003; default: goto yy53; } yy1029: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1031; default: goto yy53; } yy1030: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy971; default: goto yy53; } yy1031: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy990; default: goto yy53; } yy1032: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': goto yy1034; default: goto yy53; } yy1033: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1034; default: goto yy53; } yy1034: yych = *++YYCURSOR; goto yy916; yy1035: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1034; default: goto yy53; } yy1036: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1034; default: goto yy53; } yy1037: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1034; default: goto yy53; } yy1038: yych = *++YYCURSOR; switch (yych) { case '/': goto yy1041; case '0': goto yy1040; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1051; default: goto yy53; } yy1039: yych = *++YYCURSOR; switch (yych) { case '/': goto yy1041; case '0': case '1': case '2': goto yy1051; default: goto yy53; } yy1040: yych = *++YYCURSOR; switch (yych) { case '/': goto yy1041; default: goto yy53; } yy1041: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy1042; case '3': goto yy1044; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1045; default: goto yy53; } yy1042: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1045; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1043: #line 1048 "parse_date.re" { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 21555 "" yy1044: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': goto yy1045; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1045: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1046: yych = *++YYCURSOR; switch (yych) { case 't': goto yy1050; default: goto yy53; } yy1047: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy1050; default: goto yy53; } yy1048: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy1050; default: goto yy53; } yy1049: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy1050; default: goto yy53; } yy1050: yych = *++YYCURSOR; goto yy1043; yy1051: yych = *++YYCURSOR; switch (yych) { case '/': goto yy1052; default: goto yy53; } yy1052: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1053; case '1': case '2': goto yy1054; case '3': goto yy1055; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1045; default: goto yy53; } yy1053: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': goto yy1045; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1056; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1054: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1056; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1055: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': goto yy1056; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1056: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': goto yy1050; case 'n': goto yy1047; case 'r': goto yy1048; case 's': goto yy1046; case 't': goto yy1049; default: goto yy1043; } yy1057: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1132; case 'U': case 'u': goto yy1131; default: goto yy53; } yy1058: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1129; default: goto yy53; } yy1059: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1126; default: goto yy53; } yy1060: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy1123; case 'U': case 'u': goto yy1122; default: goto yy53; } yy1061: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1119; default: goto yy53; } yy1062: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy1117; default: goto yy53; } yy1063: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy1115; default: goto yy53; } yy1064: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1113; default: goto yy53; } yy1065: yych = *++YYCURSOR; switch (yych) { case '-': goto yy1068; case '0': goto yy1067; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1087; default: goto yy53; } yy1066: yych = *++YYCURSOR; switch (yych) { case '-': goto yy1068; case '0': case '1': case '2': goto yy1087; default: goto yy53; } yy1067: yych = *++YYCURSOR; switch (yych) { case '-': goto yy1068; default: goto yy53; } yy1068: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy1069; case '3': goto yy1070; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1071; default: goto yy53; } yy1069: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1071; case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1070: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': goto yy1071; case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1071: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1072: yych = *++YYCURSOR; switch (yych) { case 't': goto yy1086; default: goto yy53; } yy1073: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy1086; default: goto yy53; } yy1074: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy1086; default: goto yy53; } yy1075: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy1086; default: goto yy53; } yy1076: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy1077; case '2': goto yy1078; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1079; default: goto yy53; } yy1077: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1079; case ':': goto yy1080; default: goto yy53; } yy1078: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy1079; case ':': goto yy1080; default: goto yy53; } yy1079: yych = *++YYCURSOR; switch (yych) { case ':': goto yy1080; default: goto yy53; } yy1080: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1081; case '6': case '7': case '8': case '9': goto yy1082; default: goto yy53; } yy1081: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1082; case ':': goto yy1083; default: goto yy53; } yy1082: yych = *++YYCURSOR; switch (yych) { case ':': goto yy1083; default: goto yy53; } yy1083: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1084; case '6': goto yy1085; case '7': case '8': case '9': goto yy936; default: goto yy53; } yy1084: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy937; } yy1085: yych = *++YYCURSOR; switch (yych) { case '0': goto yy936; default: goto yy937; } yy1086: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'T': goto yy1076; default: goto yy775; } yy1087: yych = *++YYCURSOR; switch (yych) { case '-': goto yy1088; default: goto yy53; } yy1088: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1089; case '1': case '2': goto yy1090; case '3': goto yy1091; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1071; default: goto yy53; } yy1089: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': goto yy1071; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1092; case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1090: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1092; case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1091: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': goto yy1092; case 'T': goto yy1076; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy775; } yy1092: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'T': goto yy1093; case 'n': goto yy1073; case 'r': goto yy1074; case 's': goto yy1072; case 't': goto yy1075; default: goto yy1043; } yy1093: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy1094; case '2': goto yy1095; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1079; default: goto yy53; } yy1094: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1096; case ':': goto yy1080; default: goto yy53; } yy1095: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy1096; case ':': goto yy1080; default: goto yy53; } yy1096: yych = *++YYCURSOR; switch (yych) { case ':': goto yy1097; default: goto yy53; } yy1097: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1098; case '6': case '7': case '8': case '9': goto yy1082; default: goto yy53; } yy1098: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1099; case ':': goto yy1083; default: goto yy53; } yy1099: yych = *++YYCURSOR; switch (yych) { case ':': goto yy1100; default: goto yy53; } yy1100: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1101; case '6': goto yy1102; case '7': case '8': case '9': goto yy936; default: goto yy53; } yy1101: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1103; default: goto yy937; } yy1102: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1103; default: goto yy937; } yy1103: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy1104; default: goto yy937; } yy1104: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1105; default: goto yy53; } yy1105: yyaccept = 19; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case '+': case '-': goto yy1107; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1105; default: goto yy937; } yy1107: yych = *++YYCURSOR; switch (yych) { case '0': case '1': goto yy1108; case '2': goto yy1109; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1110; default: goto yy53; } yy1108: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1110; case ':': goto yy1111; default: goto yy937; } yy1109: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': goto yy1110; case '4': case '5': goto yy1112; case '6': case '7': case '8': case '9': goto yy936; case ':': goto yy1111; default: goto yy937; } yy1110: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1112; case '6': case '7': case '8': case '9': goto yy936; case ':': goto yy1111; default: goto yy937; } yy1111: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1112; case '6': case '7': case '8': case '9': goto yy936; default: goto yy937; } yy1112: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy936; default: goto yy937; } yy1113: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy1114; default: goto yy53; } yy1114: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'E': case 'e': goto yy973; default: goto yy889; } yy1115: yych = *++YYCURSOR; switch (yych) { case 'V': case 'v': goto yy1116; default: goto yy53; } yy1116: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'E': case 'e': goto yy980; default: goto yy889; } yy1117: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy1118; default: goto yy53; } yy1118: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'O': case 'o': goto yy986; default: goto yy889; } yy1119: yych = *++YYCURSOR; switch (yych) { case 'P': case 'p': goto yy1120; default: goto yy53; } yy1120: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'T': case 't': goto yy1121; default: goto yy889; } yy1121: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'E': case 'e': goto yy992; default: goto yy889; } yy1122: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy1125; default: goto yy53; } yy1123: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1124; default: goto yy53; } yy1124: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'I': case 'i': goto yy999; default: goto yy889; } yy1125: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'U': case 'u': goto yy1001; default: goto yy889; } yy1126: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1127; case 'Y': case 'y': goto yy1128; default: goto yy53; } yy1127: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'C': case 'c': goto yy1005; default: goto yy889; } yy1128: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; default: goto yy889; } yy1129: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy1130; default: goto yy53; } yy1130: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'R': case 'r': goto yy1008; default: goto yy889; } yy1131: yych = *++YYCURSOR; switch (yych) { case 'L': case 'l': goto yy1135; case 'N': case 'n': goto yy1134; default: goto yy53; } yy1132: yych = *++YYCURSOR; switch (yych) { case 'N': case 'n': goto yy1133; default: goto yy53; } yy1133: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'U': case 'u': goto yy1015; default: goto yy889; } yy1134: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'E': case 'e': goto yy977; default: goto yy889; } yy1135: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy863; case 'Y': case 'y': goto yy977; default: goto yy889; } yy1136: yych = *++YYCURSOR; switch (yych) { case '.': goto yy845; case '/': goto yy844; case 'U': case 'u': goto yy74; default: goto yy617; } yy1137: yych = *++YYCURSOR; switch (yych) { case 'C': case 'c': goto yy121; case 'P': case 'p': goto yy709; default: goto yy53; } yy1138: yych = *++YYCURSOR; switch (yych) { case '-': goto yy615; case '.': goto yy845; case '/': goto yy844; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy851; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy1140; } yy1139: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1140: switch (yych) { case ' ': goto yy1139; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy1141: yych = *++YYCURSOR; switch (yych) { case '-': goto yy615; case '.': goto yy1142; case '/': goto yy844; case '0': case '1': case '2': case '3': case '4': case '5': goto yy1144; case '6': case '7': case '8': case '9': goto yy851; case ':': goto yy1143; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy1140; } yy1142: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1166; case '1': goto yy1167; case '2': case '3': case '4': case '5': goto yy1168; case '6': case '7': case '8': case '9': goto yy1169; default: goto yy617; } yy1143: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1161; case '6': case '7': case '8': case '9': goto yy1162; default: goto yy53; } yy1144: yych = *++YYCURSOR; switch (yych) { case '-': goto yy852; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1145; default: goto yy57; } yy1145: yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy1147; case '1': goto yy1148; case '2': goto yy1149; case '3': goto yy1150; case '4': case '5': goto yy1151; case '6': goto yy1152; case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy1146; } yy1146: #line 970 "parse_date.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 22763 "" yy1147: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1159; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1160; default: goto yy57; } yy1148: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy1158; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1157; default: goto yy57; } yy1149: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1157; default: goto yy57; } yy1150: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1155; case '6': goto yy1156; case '7': case '8': case '9': goto yy1153; default: goto yy57; } yy1151: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1153; default: goto yy57; } yy1152: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1153; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy57; } yy1153: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy1154; } yy1154: #line 1015 "parse_date.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 22905 "" yy1155: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1156: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': goto yy915; case '7': case '8': case '9': goto yy51; default: goto yy1154; } yy1157: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1158: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1159: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1160: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1161: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy1163; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1162; default: goto yy634; } yy1162: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': case ':': goto yy1163; default: goto yy634; } yy1163: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1164; case '6': goto yy1165; case '7': case '8': case '9': goto yy639; default: goto yy53; } yy1164: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy639; default: goto yy634; } yy1165: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': goto yy639; default: goto yy634; } yy1166: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy1170; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1169; case ':': goto yy1163; default: goto yy634; } yy1167: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy1170; case '0': case '1': case '2': goto yy1169; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1162; case ':': goto yy1163; default: goto yy634; } yy1168: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy1170; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1162; case ':': goto yy1163; default: goto yy634; } yy1169: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy1170; case ':': goto yy1163; default: goto yy634; } yy1170: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': goto yy1171; case '6': goto yy1172; case '7': case '8': case '9': goto yy727; default: goto yy53; } yy1171: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1173; default: goto yy634; } yy1172: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': goto yy1173; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy728; default: goto yy634; } yy1173: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy640; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy730; default: goto yy634; } yy1174: yych = *++YYCURSOR; switch (yych) { case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': case '4': case '5': goto yy1144; case '6': case '7': case '8': case '9': goto yy851; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy604; } yy1175: yych = *++YYCURSOR; switch (yych) { case '-': goto yy615; case '.': goto yy1142; case '/': goto yy614; case '0': case '1': case '2': case '3': case '4': case '5': goto yy1144; case '6': case '7': case '8': case '9': goto yy851; case ':': goto yy1143; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy1140; } yy1176: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1177; default: goto yy53; } yy1177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1177; default: goto yy1179; } yy1179: #line 905 "parse_date.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 23399 "" yy1180: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'N': case 'n': goto yy1211; default: goto yy3; } yy1181: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'I': case 'i': goto yy1205; case 'U': case 'u': goto yy1204; default: goto yy3; } yy1182: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'D': case 'd': goto yy1193; case 'M': case 'm': goto yy1194; default: goto yy3; } yy1183: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'E': case 'e': goto yy1189; default: goto yy3; } yy1184: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'E': case 'e': goto yy1185; default: goto yy3; } yy1185: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'L': case 'l': goto yy1186; default: goto yy3; } yy1186: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'F': case 'f': goto yy1187; default: goto yy3; } yy1187: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy1188; default: goto yy53; } yy1188: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy159; default: goto yy53; } yy1189: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'S': case 's': goto yy1190; default: goto yy341; } yy1190: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'D': case 'd': goto yy1191; default: goto yy3; } yy1191: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1192; default: goto yy53; } yy1192: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy1193: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy1201; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy3; } yy1194: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'O': case 'o': goto yy1195; default: goto yy3; } yy1195: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'R': case 'r': goto yy1196; default: goto yy3; } yy1196: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1197; default: goto yy53; } yy1197: yych = *++YYCURSOR; switch (yych) { case 'O': case 'o': goto yy1198; default: goto yy53; } yy1198: yych = *++YYCURSOR; switch (yych) { case 'W': case 'w': goto yy1199; default: goto yy53; } yy1199: ++YYCURSOR; yy1200: #line 893 "parse_date.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 24012 "" yy1201: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'Y': case 'y': goto yy1202; default: goto yy3; } yy1202: ++YYCURSOR; yy1203: #line 883 "parse_date.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 24033 "" yy1204: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'R': case 'r': goto yy1207; default: goto yy341; } yy1205: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'R': case 'r': goto yy1206; case 'S': case 's': goto yy317; default: goto yy3; } yy1206: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'D': case 'd': goto yy159; default: goto yy3; } yy1207: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'S': case 's': goto yy1208; default: goto yy3; } yy1208: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy1209; default: goto yy53; } yy1209: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1210; default: goto yy53; } yy1210: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy1211: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy1212; default: goto yy3; } yy1212: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'H': case 'h': goto yy159; default: goto yy3; } yy1213: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'N': goto yy1211; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'n': goto yy1242; default: goto yy3; } yy1214: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'I': goto yy1205; case 'U': goto yy1204; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'i': goto yy1236; case 'u': goto yy1235; default: goto yy3; } yy1215: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'D': goto yy1193; case 'M': goto yy1194; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'd': goto yy1226; case 'm': goto yy1227; default: goto yy3; } yy1216: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'E': goto yy1189; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'e': goto yy1222; default: goto yy3; } yy1217: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'E': goto yy1185; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'e': goto yy1218; default: goto yy3; } yy1218: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'L': goto yy1186; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'l': goto yy1219; default: goto yy3; } yy1219: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'F': goto yy1187; case 'a': case 'b': case 'c': case 'd': case 'e': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'f': goto yy1220; default: goto yy3; } yy1220: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy1188; case 't': goto yy1221; default: goto yy144; } yy1221: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy53; } yy1222: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'S': goto yy1190; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 's': goto yy1223; default: goto yy341; } yy1223: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'D': goto yy1191; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy1224; default: goto yy3; } yy1224: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy1192; case 'a': goto yy1225; default: goto yy144; } yy1225: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy1226: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': goto yy1201; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'a': goto yy1233; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; default: goto yy3; } yy1227: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'O': goto yy1195; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'o': goto yy1228; default: goto yy3; } yy1228: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'R': goto yy1196; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy1229; default: goto yy3; } yy1229: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy1197; case 'r': goto yy1230; default: goto yy144; } yy1230: yych = *++YYCURSOR; switch (yych) { case 'O': goto yy1198; case 'o': goto yy1231; default: goto yy144; } yy1231: yych = *++YYCURSOR; switch (yych) { case 'W': goto yy1199; case 'w': goto yy1232; default: goto yy144; } yy1232: yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy1200; } yy1233: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'Y': goto yy1202; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy143; case 'y': goto yy1234; default: goto yy3; } yy1234: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy1203; } yy1235: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'R': goto yy1207; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'r': goto yy1238; default: goto yy341; } yy1236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'R': goto yy1206; case 'S': goto yy317; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'r': goto yy1237; case 's': goto yy320; default: goto yy3; } yy1237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'D': goto yy159; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'd': goto yy241; default: goto yy3; } yy1238: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'S': goto yy1208; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 's': goto yy1239; default: goto yy3; } yy1239: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy1209; case 'd': goto yy1240; default: goto yy144; } yy1240: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy1210; case 'a': goto yy1241; default: goto yy144; } yy1241: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy1242: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy1212; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy1243; default: goto yy3; } yy1243: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy3; } yy1244: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy134; case 'R': case 'r': goto yy1255; case 'Y': case 'y': goto yy1256; default: goto yy3; } yy1245: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'D': case 'd': goto yy1250; default: goto yy3; } yy1246: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'N': case 'n': goto yy1247; default: goto yy3; } yy1247: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'D': case 'd': goto yy1248; default: goto yy341; } yy1248: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'A': case 'a': goto yy1249; default: goto yy3; } yy1249: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy347; default: goto yy53; } yy1250: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'N': case 'n': goto yy1251; default: goto yy3; } yy1251: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'I': case 'i': goto yy1252; default: goto yy3; } yy1252: yych = *++YYCURSOR; switch (yych) { case 'G': case 'g': goto yy1253; default: goto yy53; } yy1253: yych = *++YYCURSOR; switch (yych) { case 'H': case 'h': goto yy1254; default: goto yy53; } yy1254: yych = *++YYCURSOR; switch (yych) { case 'T': case 't': goto yy1202; default: goto yy53; } yy1255: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'C': case 'c': goto yy1257; default: goto yy3; } yy1256: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy3; } yy1257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'H': case 'h': goto yy358; default: goto yy3; } yy1258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Z': goto yy134; case 'R': goto yy1255; case 'Y': goto yy1256; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'z': goto yy137; case 'r': goto yy1269; case 'y': goto yy1270; default: goto yy3; } yy1259: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'D': goto yy1250; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'd': goto yy1264; default: goto yy3; } yy1260: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'N': goto yy1247; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'n': goto yy1261; default: goto yy3; } yy1261: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'D': goto yy1248; case 'a': case 'b': case 'c': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'd': goto yy1262; default: goto yy341; } yy1262: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': goto yy1249; case 'a': goto yy1263; case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy3; } yy1263: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy347; case 'y': goto yy355; default: goto yy144; } yy1264: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'N': goto yy1251; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'n': goto yy1265; default: goto yy3; } yy1265: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'I': goto yy1252; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'i': goto yy1266; default: goto yy3; } yy1266: yych = *++YYCURSOR; switch (yych) { case 'G': goto yy1253; case 'g': goto yy1267; default: goto yy144; } yy1267: yych = *++YYCURSOR; switch (yych) { case 'H': goto yy1254; case 'h': goto yy1268; default: goto yy144; } yy1268: yych = *++YYCURSOR; switch (yych) { case 'T': goto yy1202; case 't': goto yy1234; default: goto yy144; } yy1269: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'C': goto yy1257; case 'a': case 'b': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'c': goto yy1271; default: goto yy3; } yy1270: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; default: goto yy3; } yy1271: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'H': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy457; default: goto yy3; } yy1272: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'x': case 'y': case 'z': goto yy134; case 'O': case 'o': goto yy1280; case 'V': case 'v': goto yy1281; case 'W': case 'w': goto yy1278; default: goto yy3; } yy1273: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'y': case 'z': goto yy134; case 'X': case 'x': goto yy1277; default: goto yy3; } yy1274: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'N': case 'n': goto yy1275; default: goto yy3; } yy1275: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy1276; default: goto yy3; } yy1276: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'H': case 'h': goto yy159; default: goto yy3; } yy1277: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy317; default: goto yy3; } yy1278: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; default: goto yy1279; } yy1279: #line 862 "parse_date.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 26893 "" yy1280: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'N': case 'n': goto yy1286; default: goto yy3; } yy1281: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'E': case 'e': goto yy1282; default: goto yy3; } yy1282: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'M': case 'm': goto yy1283; default: goto yy3; } yy1283: yych = *++YYCURSOR; switch (yych) { case 'B': case 'b': goto yy1284; default: goto yy53; } yy1284: yych = *++YYCURSOR; switch (yych) { case 'E': case 'e': goto yy1285; default: goto yy53; } yy1285: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy358; default: goto yy53; } yy1286: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case ')': goto yy132; default: goto yy1287; } yy1287: #line 871 "parse_date.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 27083 "" yy1288: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'X': case 'Y': case 'Z': goto yy134; case 'O': goto yy1280; case 'V': goto yy1281; case 'W': goto yy1278; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'x': case 'y': case 'z': goto yy137; case 'o': goto yy1295; case 'v': goto yy1296; case 'w': goto yy1294; default: goto yy3; } yy1289: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'Y': case 'Z': goto yy134; case 'X': goto yy1277; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'y': case 'z': goto yy137; case 'x': goto yy1293; default: goto yy3; } yy1290: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'N': goto yy1275; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 'n': goto yy1291; default: goto yy3; } yy1291: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy1276; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy1292; default: goto yy3; } yy1292: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'H': goto yy159; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'h': goto yy241; default: goto yy3; } yy1293: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy317; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy320; default: goto yy3; } yy1294: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; default: goto yy1279; } yy1295: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'N': goto yy1286; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'n': goto yy1301; default: goto yy3; } yy1296: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case '*': case '+': case ',': case '.': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy359; case ')': goto yy360; case '-': goto yy361; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'E': goto yy1282; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 'e': goto yy1297; default: goto yy3; } yy1297: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'M': goto yy1283; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'm': goto yy1298; default: goto yy3; } yy1298: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy1284; case 'b': goto yy1299; default: goto yy144; } yy1299: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy1285; case 'e': goto yy1300; default: goto yy144; } yy1300: yych = *++YYCURSOR; switch (yych) { case '/': case '_': goto yy138; case 'R': goto yy358; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'r': goto yy457; default: goto yy53; } yy1301: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy1287; } yy1302: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy134; case 'S': case 's': goto yy1303; default: goto yy3; } yy1303: yych = *++YYCURSOR; switch (yych) { case ')': goto yy132; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy135; case 'T': case 't': goto yy1304; default: goto yy3; } yy1304: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case 'E': case 'e': goto yy1305; default: goto yy3; } yy1305: yych = *++YYCURSOR; switch (yych) { case 'R': case 'r': goto yy1306; default: goto yy53; } yy1306: yych = *++YYCURSOR; switch (yych) { case 'D': case 'd': goto yy1307; default: goto yy53; } yy1307: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy1308; default: goto yy53; } yy1308: yych = *++YYCURSOR; switch (yych) { case 'Y': case 'y': goto yy1309; default: goto yy53; } yy1309: ++YYCURSOR; yy1310: #line 850 "parse_date.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 27918 "" yy1311: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy134; case 'S': goto yy1303; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy137; case 's': goto yy1312; default: goto yy3; } yy1312: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': goto yy135; case 'T': goto yy1304; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy142; case 't': goto yy1313; default: goto yy3; } yy1313: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ')': goto yy132; case '/': case '_': goto yy138; case 'E': goto yy1305; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; case 'e': goto yy1314; default: goto yy3; } yy1314: yych = *++YYCURSOR; switch (yych) { case 'R': goto yy1306; case 'r': goto yy1315; default: goto yy144; } yy1315: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy1307; case 'd': goto yy1316; default: goto yy144; } yy1316: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy1308; case 'a': goto yy1317; default: goto yy144; } yy1317: yych = *++YYCURSOR; switch (yych) { case 'Y': goto yy1309; case 'y': goto yy1318; default: goto yy144; } yy1318: yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy143; default: goto yy1310; } } #line 1411 "parse_date.re" } #define YYMAXFILL 26 timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/cvsignore.b.c0000775000076500007660000001333011016275331012735 00000000000000/* Generated by re2c */ #line 1 "cvsignore.b.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.b.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.b.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 96 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.b.re" { APPEND(L"$" L"Date$"); goto loop; } #line 135 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yybm[0+yych] & 128) { goto yy17; } if (yych <= '#') goto yy6; goto yy15; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.b.re" { APPEND(L"$" L"Id$"); goto loop; } #line 157 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.b.re" { APPEND(L"$" L"Log$"); goto loop; } #line 179 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.b.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 211 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.b.re" { APPEND(L"$" L"Source$"); goto loop; } #line 239 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.b.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/input1.c0000664000076500007660000000141711016275331011736 00000000000000/* Generated by re2c */ #line 1 "input1.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'b': goto yy5; default: goto yy3; } yy3: #line 4 "input1.re" { return 0; } #line 24 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'b': goto yy5; case 'c': goto yy8; default: goto yy7; } yy7: YYCURSOR = YYMARKER; goto yy3; yy8: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy9; default: goto yy7; } yy9: ++YYCURSOR; #line 3 "input1.re" { return 1; } #line 50 "" } #line 6 "input1.re" re2c-0.13.5/test/error9.c0000775000076500007660000000012311016275331011734 00000000000000re2c: error: line 2, column 5: Illegal octal character code, non octal digit found re2c-0.13.5/test/input5.c0000775000076500007660000000056011016275331011743 00000000000000/* Generated by re2c */ #line 1 "input5.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; #line 3 "input5.re" { return 0; } #line 19 "" yy4: ++YYCURSOR; #line 4 "input5.re" { return 1; } #line 24 "" } #line 6 "input5.re" re2c-0.13.5/test/bug1390174.c0000775000076500007660000000267411016275331012055 00000000000000/* Generated by re2c */ #line 1 "bug1390174.re" #include #include #include #define RET(n) return n int scan(const char *s, int l) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) #line 19 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy4; case 'A': case 'a': goto yy2; default: goto yy6; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy7; case 'A': case 'a': goto yy8; default: goto yy3; } yy3: #line 19 "bug1390174.re" {RET(0);} #line 42 "" yy4: ++YYCURSOR; yy5: #line 18 "bug1390174.re" {RET(1);} #line 48 "" yy6: yych = *++YYCURSOR; goto yy3; yy7: yych = *++YYCURSOR; goto yy5; yy8: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy7; case 'A': case 'a': goto yy8; default: goto yy10; } yy10: YYCURSOR = YYMARKER; goto yy3; } #line 20 "bug1390174.re" } void _do_scan(int exp, const char * str, int len) { int ret = scan(str, len); printf("%d %s %d\n", exp, exp == ret ? "==" : "!=", ret); } #define do_scan(exp, str) _do_scan(exp, str, sizeof(str) - 1) main() { do_scan(1, "a\n"); do_scan(1, "aa\n"); do_scan(1, "aaa\n"); do_scan(1, "aaaa\n"); do_scan(1, "\n"); do_scan(0, "q"); do_scan(0, "a"); } re2c-0.13.5/test/bug1454253.s.c0000775000076500007660000000566011016275331012313 00000000000000/* Generated by re2c */ #line 1 "bug1454253.s.re" #include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { #line 23 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *(YYMARKER = YYCURSOR); if (yych <= 0x00) goto yy5; if (yych == '?') goto yy3; goto yy7; yy2: #line 40 "bug1454253.s.re" { *r++ = '0'; *r++ = '\0'; return p - s; } #line 39 "" yy3: yych = *++YYCURSOR; if (yych <= '9') { if (yych == '!') goto yy12; if (yych >= '0') goto yy9; } else { if (yych <= 'Z') { if (yych >= 'A') goto yy9; } else { if (yych <= '`') goto yy4; if (yych <= 'z') goto yy9; } } yy4: YYCURSOR = YYMARKER; goto yy2; yy5: ++YYCURSOR; #line 34 "bug1454253.s.re" { *r++ = '3'; *r++ = '\0'; return p - s; } #line 64 "" yy7: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x00) goto yy2; if (yych == '?') goto yy2; goto yy7; yy9: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy11; if (yych <= '9') goto yy9; } else { if (yych <= 'Z') goto yy9; if (yych <= '`') goto yy11; if (yych <= 'z') goto yy9; } yy11: #line 29 "bug1454253.s.re" { *r++ = '2'; continue; } #line 90 "" yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy14; if (yych <= '9') goto yy12; } else { if (yych <= 'Z') goto yy12; if (yych <= '`') goto yy14; if (yych <= 'z') goto yy12; } yy14: #line 24 "bug1454253.s.re" { *r++ = '1'; continue; } #line 109 "" } #line 45 "bug1454253.s.re" } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, res, res_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", exp, exp_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 2, "20"); do_scan("#", 1, "0"); do_scan("##", 2, "0"); do_scan("##?", 2, "0"); do_scan("##|", 3, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 4, "20"); do_scan("?1?2!1?2??", 6, "220"); do_scan("?1?2?!1?2??", 9, "22120"); do_scan("?1?2?!1?2?!", 12, "221213"); do_scan("?1?123?45??", 9, "2220"); do_scan("?1?123?45?!", 12, "22213"); } re2c-0.13.5/test/input9.c0000775000076500007660000000303711016275331011751 00000000000000/* Generated by re2c */ #line 1 "input9.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy2; case 0x01: goto yy4; case 0x02: goto yy16; case 0x07: goto yy6; case 0x08: goto yy8; case ' ': goto yy18; case '4': goto yy20; case '@': goto yy10; case 'S': goto yy12; case 0xAB: goto yy22; case 0xCD: goto yy24; case 0xEE: goto yy14; default: goto yy26; } yy2: ++YYCURSOR; #line 5 "input9.re" { return 1; } #line 30 "" yy4: ++YYCURSOR; #line 6 "input9.re" { return 2; } #line 35 "" yy6: ++YYCURSOR; #line 7 "input9.re" { return 3; } #line 40 "" yy8: ++YYCURSOR; #line 8 "input9.re" { return 4; } #line 45 "" yy10: ++YYCURSOR; #line 9 "input9.re" { return 5; } #line 50 "" yy12: ++YYCURSOR; #line 10 "input9.re" { return 6; } #line 55 "" yy14: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '7': goto yy27; default: goto yy15; } yy15: #line 18 "input9.re" { return 0; } #line 65 "" yy16: ++YYCURSOR; #line 13 "input9.re" { return 8; } #line 70 "" yy18: ++YYCURSOR; #line 14 "input9.re" { return 9; } #line 75 "" yy20: ++YYCURSOR; #line 15 "input9.re" { return 10; } #line 80 "" yy22: ++YYCURSOR; #line 16 "input9.re" { return 11; } #line 85 "" yy24: ++YYCURSOR; #line 17 "input9.re" { return 12; } #line 90 "" yy26: yych = *++YYCURSOR; goto yy15; yy27: ++YYCURSOR; #line 11 "input9.re" { return 7; } #line 98 "" } #line 20 "input9.re" re2c-0.13.5/test/error12.c0000775000076500007660000000012711016275331012012 00000000000000re2c: error: line 3, column 17: trailing contexts are not allowed in named definitions re2c-0.13.5/test/config4b.f.re0000775000076500007660000000037411016275331012625 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:state:abort = 1; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/error7.re0000775000076500007660000000002711016275331012121 00000000000000/*!re2c [\400YY] {} */ re2c-0.13.5/test/input11.b.re0000775000076500007660000000043211016275331012422 00000000000000/*!re2c re2c:yybm:hex = 1; letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; config = "re2c:" (letter|"_") (letter|digit|"_"|":")*; config { return 0; } name { return 1; } number { return 2; } .|"\n" { return -1; } */ re2c-0.13.5/test/push.fb.c0000775000076500007660000003553711016275331012100 00000000000000/* Generated by re2c */ #line 1 "push.fb.re" /* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize" { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if (YYGETSTATE() < 1) { if (YYGETSTATE() < 0) { goto yy0; } else { goto yyFillLabel0; } } else { if (YYGETSTATE() < 2) { goto yyFillLabel1; } else { goto yyFillLabel2; } } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; if (yych <= '=') { if (yych <= '(') { if (yych <= '\n') { if (yych <= 0x00) goto yy32; if (yych <= 0x08) goto yy34; if (yych <= '\t') goto yy30; goto yy28; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy30; goto yy34; } else { if (yych <= ' ') goto yy30; if (yych <= '\'') goto yy34; goto yy16; } } } else { if (yych <= '-') { if (yych <= '*') { if (yych <= ')') goto yy18; goto yy24; } else { if (yych <= '+') goto yy22; if (yych <= ',') goto yy34; goto yy20; } } else { if (yych <= '/') { if (yych <= '.') goto yy34; goto yy26; } else { if (yych <= '9') goto yy12; if (yych <= '<') goto yy34; goto yy14; } } } } else { if (yych <= 'e') { if (yych <= '_') { if (yych <= '@') goto yy34; if (yych <= 'Z') goto yy10; if (yych <= '^') goto yy34; goto yy10; } else { if (yych <= 'a') { if (yych <= '`') goto yy34; goto yy10; } else { if (yych <= 'b') goto yy7; if (yych <= 'd') goto yy10; goto yy5; } } } else { if (yych <= 'q') { if (yych <= 'g') { if (yych <= 'f') goto yy4; goto yy6; } else { if (yych <= 'h') goto yy11; if (yych >= 'j') goto yy10; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy9; goto yy10; } else { if (yych <= 'w') goto yy8; if (yych <= 'z') goto yy10; goto yy34; } } } } ++YYCURSOR; if ((yych = *YYCURSOR) == 'f') goto yy67; goto yy39; yy3: #line 246 "push.fb.re" { SEND(kIdentifier); } #line 370 "" yy4: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy39; yy5: yych = *++YYCURSOR; if (yych == 'l') goto yy60; goto yy39; yy6: yych = *++YYCURSOR; if (yych == 'o') goto yy56; goto yy39; yy7: yych = *++YYCURSOR; if (yych == 'r') goto yy51; goto yy39; yy8: yych = *++YYCURSOR; if (yych == 'h') goto yy46; goto yy39; yy9: yych = *++YYCURSOR; if (yych == 'e') goto yy40; goto yy39; yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 247 "push.fb.re" { SEND(kDecimalConstant);} #line 408 "" yy14: ++YYCURSOR; #line 249 "push.fb.re" { SEND(kEqual); } #line 413 "" yy16: ++YYCURSOR; #line 250 "push.fb.re" { SEND(kLeftParen); } #line 418 "" yy18: ++YYCURSOR; #line 251 "push.fb.re" { SEND(kRightParen); } #line 423 "" yy20: ++YYCURSOR; #line 252 "push.fb.re" { SEND(kMinus); } #line 428 "" yy22: ++YYCURSOR; #line 253 "push.fb.re" { SEND(kPlus); } #line 433 "" yy24: ++YYCURSOR; #line 254 "push.fb.re" { SEND(kStar); } #line 438 "" yy26: ++YYCURSOR; #line 255 "push.fb.re" { SEND(kSlash); } #line 443 "" yy28: ++YYCURSOR; #line 257 "push.fb.re" { SKIP(); } #line 448 "" yy30: ++YYCURSOR; #line 258 "push.fb.re" { SKIP(); } #line 453 "" yy32: ++YYCURSOR; #line 259 "push.fb.re" { send(kEOF); return 1; } #line 458 "" yy34: ++YYCURSOR; #line 260 "push.fb.re" { SEND(kUnknown); } #line 463 "" yy36: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy37: if (yybm[0+yych] & 64) { goto yy36; } goto yy13; yy38: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy39: if (yybm[0+yych] & 128) { goto yy38; } goto yy3; yy40: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'u') goto yy39; yych = *++YYCURSOR; if (yych != 'r') goto yy39; yych = *++YYCURSOR; if (yych != 'n') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 245 "push.fb.re" { SEND(kReturn); } #line 501 "" yy46: yych = *++YYCURSOR; if (yych != 'i') goto yy39; yych = *++YYCURSOR; if (yych != 'l') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 244 "push.fb.re" { SEND(kWhile); } #line 515 "" yy51: yych = *++YYCURSOR; if (yych != 'e') goto yy39; yych = *++YYCURSOR; if (yych != 'a') goto yy39; yych = *++YYCURSOR; if (yych != 'k') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 243 "push.fb.re" { SEND(kBreak); } #line 529 "" yy56: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'o') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 242 "push.fb.re" { SEND(kGoto); } #line 541 "" yy60: yych = *++YYCURSOR; if (yych != 's') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 241 "push.fb.re" { SEND(kElse); } #line 553 "" yy64: yych = *++YYCURSOR; if (yych != 'r') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 240 "push.fb.re" { SEND(kFor); } #line 563 "" yy67: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 239 "push.fb.re" { SEND(kIf); } #line 571 "" } #line 261 "push.fb.re" fill: ssize_t unfinishedSize = cursor-start; printf( "scanner needs a refill. Exiting for now with:\n" " saved fill state = %d\n" " unfinished token size = %d\n", state, unfinishedSize ); if(0" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych == '\n') goto yy4; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x00) goto yy6; if (yych != '\n') goto yy8; yy3: #line 6 "input8.b.re" { return 1; } #line 20 "" yy4: ++YYCURSOR; #line 7 "input8.b.re" { return 2; } #line 25 "" yy6: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x00) goto yy10; if (yych != '\n') goto yy11; yy7: #line 5 "input8.b.re" { return 0; } #line 34 "" yy8: yych = *++YYCURSOR; if (yych <= 0x00) goto yy10; if (yych != '\n') goto yy11; yy9: YYCURSOR = YYMARKER; if (yyaccept <= 0) { goto yy3; } else { goto yy7; } yy10: yych = *++YYCURSOR; if (yych <= 0x00) goto yy12; goto yy7; yy11: yych = *++YYCURSOR; if (yych >= 0x01) goto yy9; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy7; } #line 9 "input8.b.re" re2c-0.13.5/test/input5.re0000775000076500007660000000006511016275331012127 00000000000000/*!re2c [a] { return 0; } [^a] { return 1; } */ re2c-0.13.5/test/bug1454253.re0000775000076500007660000000322311016275331012227 00000000000000#include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { /*!re2c ALNUM = [0-9a-zA-Z]; ANY = [\001-\377]\"?"; EOF = '\000'; "?!" ALNUM* { *r++ = '1'; continue; } "?" ALNUM+ { *r++ = '2'; continue; } EOF { *r++ = '3'; *r++ = '\0'; return p - s; } ANY* { *r++ = '0'; *r++ = '\0'; return p - s; } */ } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, res, res_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", exp, exp_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 2, "20"); do_scan("#", 1, "0"); do_scan("##", 2, "0"); do_scan("##?", 2, "0"); do_scan("##|", 3, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 4, "20"); do_scan("?1?2!1?2??", 6, "220"); do_scan("?1?2?!1?2??", 9, "22120"); do_scan("?1?2?!1?2?!", 12, "221213"); do_scan("?1?123?45??", 9, "2220"); do_scan("?1?123?45?!", 12, "22213"); } re2c-0.13.5/test/bug1529351.re0000664000076500007660000000005211016275331012223 00000000000000/*!re2c "foo" { func(); { func(); } */ re2c-0.13.5/test/scanner.re0000664000076500007660000001451511016275331012336 00000000000000/* Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } /*!re2c zero = "\000"; any = [\000-\377]; dot = any \ [\n]; esc = dot \ [\\]; istring = "[" "^" ((esc \ [\]]) | "\\" dot)* "]" ; cstring = "[" ((esc \ [\]]) | "\\" dot)* "]" ; dstring = "\"" ((esc \ ["] ) | "\\" dot)* "\""; sstring = "'" ((esc \ ['] ) | "\\" dot)* "'" ; letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; cname = ":" letter (letter|digit|"_")*; space = [ \t]; eol = ("\r\n" | "\n"); config = "re2c" cname+; value = [^\r\n; \t]* | dstring | sstring; */ int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: /*!re2c "/*!re2c" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } "/*!max:re2c" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } "*" "/" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } "\n" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } zero { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } any { goto echo; } */ } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } /*!re2c "{" { depth = 1; goto code; } "/*" { depth = 1; goto comment; } "*/" { tok = cursor; RETURN(0); } dstring { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } sstring { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } "\"" { fatal("unterminated string constant (missing \")"); } "'" { fatal("unterminated string constant (missing ')"); } istring { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } cstring { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } "[" { fatal("unterminated range (missing ])"); } [()|=;/\\] { RETURN(*tok); } [*+?] { yylval.op = *tok; RETURN(CLOSE); } "{0,}" { yylval.op = '*'; RETURN(CLOSE); } "{" [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } "{" [0-9]+ "," [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } "{" [0-9]+ ",}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } config { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } name { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } "." { cur = cursor; yylval.regexp = mkDot(); return RANGE; } space+ { goto scan; } eol { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } any { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } */ code: /*!re2c "}" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } "{" { ++depth; goto code; } "\n" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } dstring | sstring | any { goto code; } */ comment: /*!re2c "*/" { if(--depth == 0) goto scan; else goto comment; } "/*" { ++depth; fatal("ambiguous /* found"); goto comment; } "\n" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } any { if(cursor == eof) RETURN(0); goto comment; } */ config: /*!re2c space+ { goto config; } "=" space* { iscfg = 2; cur = cursor; RETURN('='); } any { fatal("missing '='"); } */ value: /*!re2c number { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } value { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } */ } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/cunroll.c0000664000076500007660000007270711016275331012206 00000000000000/* Generated by re2c */ #line 1 "cunroll.re" #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; #line 135 "cunroll.re" #line 130 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy58; case '\n': goto yy60; case '!': goto yy34; case '"': goto yy13; case '%': goto yy24; case '&': goto yy26; case '\'': goto yy9; case '(': goto yy46; case ')': goto yy48; case '*': goto yy22; case '+': goto yy18; case ',': goto yy42; case '-': goto yy20; case '.': goto yy11; case '/': goto yy2; case '0': goto yy6; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy8; case ':': goto yy44; case ';': goto yy36; case '<': goto yy16; case '=': goto yy32; case '>': goto yy14; case '?': goto yy56; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy4; case '[': goto yy50; case ']': goto yy52; case '^': goto yy28; case '{': goto yy38; case '|': goto yy30; case '}': goto yy40; case '~': goto yy54; default: goto yy62; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy183; case '=': goto yy181; default: goto yy3; } yy3: #line 200 "cunroll.re" { RET('/'); } #line 244 "" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy164; default: goto yy5; } yy5: #line 141 "cunroll.re" { RET(ID); } #line 316 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy140; case 'X': case 'x': goto yy157; default: goto yy156; } yy7: #line 153 "cunroll.re" { RET(ICON); } #line 332 "" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy138; yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; default: goto yy128; } yy10: #line 219 "cunroll.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 350 "" yy11: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy116; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy117; default: goto yy12; } yy12: #line 193 "cunroll.re" { RET('.'); } #line 371 "" yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; default: goto yy106; } yy14: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy99; case '>': goto yy101; default: goto yy15; } yy15: #line 203 "cunroll.re" { RET('>'); } #line 389 "" yy16: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '<': goto yy95; case '=': goto yy93; default: goto yy17; } yy17: #line 202 "cunroll.re" { RET('<'); } #line 400 "" yy18: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '+': goto yy89; case '=': goto yy91; default: goto yy19; } yy19: #line 198 "cunroll.re" { RET('+'); } #line 411 "" yy20: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '-': goto yy85; case '=': goto yy87; case '>': goto yy83; default: goto yy21; } yy21: #line 197 "cunroll.re" { RET('-'); } #line 423 "" yy22: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy81; default: goto yy23; } yy23: #line 199 "cunroll.re" { RET('*'); } #line 433 "" yy24: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy79; default: goto yy25; } yy25: #line 201 "cunroll.re" { RET('%'); } #line 443 "" yy26: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '&': goto yy75; case '=': goto yy77; default: goto yy27; } yy27: #line 194 "cunroll.re" { RET('&'); } #line 454 "" yy28: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy73; default: goto yy29; } yy29: #line 204 "cunroll.re" { RET('^'); } #line 464 "" yy30: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy71; case '|': goto yy69; default: goto yy31; } yy31: #line 205 "cunroll.re" { RET('|'); } #line 475 "" yy32: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy67; default: goto yy33; } yy33: #line 188 "cunroll.re" { RET('='); } #line 485 "" yy34: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy65; default: goto yy35; } yy35: #line 195 "cunroll.re" { RET('!'); } #line 495 "" yy36: ++YYCURSOR; #line 183 "cunroll.re" { RET(';'); } #line 500 "" yy38: ++YYCURSOR; #line 184 "cunroll.re" { RET('{'); } #line 505 "" yy40: ++YYCURSOR; #line 185 "cunroll.re" { RET('}'); } #line 510 "" yy42: ++YYCURSOR; #line 186 "cunroll.re" { RET(','); } #line 515 "" yy44: ++YYCURSOR; #line 187 "cunroll.re" { RET(':'); } #line 520 "" yy46: ++YYCURSOR; #line 189 "cunroll.re" { RET('('); } #line 525 "" yy48: ++YYCURSOR; #line 190 "cunroll.re" { RET(')'); } #line 530 "" yy50: ++YYCURSOR; #line 191 "cunroll.re" { RET('['); } #line 535 "" yy52: ++YYCURSOR; #line 192 "cunroll.re" { RET(']'); } #line 540 "" yy54: ++YYCURSOR; #line 196 "cunroll.re" { RET('~'); } #line 545 "" yy56: ++YYCURSOR; #line 206 "cunroll.re" { RET('?'); } #line 550 "" yy58: ++YYCURSOR; yych = *YYCURSOR; goto yy64; yy59: #line 209 "cunroll.re" { goto std; } #line 558 "" yy60: ++YYCURSOR; #line 212 "cunroll.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 567 "" yy62: yych = *++YYCURSOR; goto yy10; yy63: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy64: switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy63; default: goto yy59; } yy65: ++YYCURSOR; #line 182 "cunroll.re" { RET(NEQ); } #line 587 "" yy67: ++YYCURSOR; #line 181 "cunroll.re" { RET(EQL); } #line 592 "" yy69: ++YYCURSOR; #line 178 "cunroll.re" { RET(OROR); } #line 597 "" yy71: ++YYCURSOR; #line 171 "cunroll.re" { RET(OREQ); } #line 602 "" yy73: ++YYCURSOR; #line 170 "cunroll.re" { RET(XOREQ); } #line 607 "" yy75: ++YYCURSOR; #line 177 "cunroll.re" { RET(ANDAND); } #line 612 "" yy77: ++YYCURSOR; #line 169 "cunroll.re" { RET(ANDEQ); } #line 617 "" yy79: ++YYCURSOR; #line 168 "cunroll.re" { RET(MODEQ); } #line 622 "" yy81: ++YYCURSOR; #line 166 "cunroll.re" { RET(MULEQ); } #line 627 "" yy83: ++YYCURSOR; #line 176 "cunroll.re" { RET(DEREF); } #line 632 "" yy85: ++YYCURSOR; #line 175 "cunroll.re" { RET(DECR); } #line 637 "" yy87: ++YYCURSOR; #line 165 "cunroll.re" { RET(SUBEQ); } #line 642 "" yy89: ++YYCURSOR; #line 174 "cunroll.re" { RET(INCR); } #line 647 "" yy91: ++YYCURSOR; #line 164 "cunroll.re" { RET(ADDEQ); } #line 652 "" yy93: ++YYCURSOR; #line 179 "cunroll.re" { RET(LEQ); } #line 657 "" yy95: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy97; default: goto yy96; } yy96: #line 173 "cunroll.re" { RET(LSHIFT); } #line 667 "" yy97: ++YYCURSOR; #line 163 "cunroll.re" { RET(LSHIFTEQ); } #line 672 "" yy99: ++YYCURSOR; #line 180 "cunroll.re" { RET(GEQ); } #line 677 "" yy101: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy103; default: goto yy102; } yy102: #line 172 "cunroll.re" { RET(RSHIFT); } #line 687 "" yy103: ++YYCURSOR; #line 162 "cunroll.re" { RET(RSHIFTEQ); } #line 692 "" yy105: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy106: switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '\\': goto yy108; default: goto yy105; } yy107: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy7; case 1: goto yy10; case 2: goto yy12; case 3: goto yy119; } yy108: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy105; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy112; case 'x': goto yy111; default: goto yy107; } yy109: ++YYCURSOR; #line 159 "cunroll.re" { RET(SCON); } #line 743 "" yy111: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy114; default: goto yy107; } yy112: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy112; case '\\': goto yy108; default: goto yy105; } yy114: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy114; case '\\': goto yy108; default: goto yy105; } yy116: yych = *++YYCURSOR; switch (yych) { case '.': goto yy125; default: goto yy107; } yy117: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy117; case 'E': case 'e': goto yy120; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy119: #line 156 "cunroll.re" { RET(FCON); } #line 856 "" yy120: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy122; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; default: goto yy107; } yy121: yych = *++YYCURSOR; goto yy119; yy122: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; default: goto yy107; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy125: ++YYCURSOR; #line 161 "cunroll.re" { RET(ELLIPSIS); } #line 917 "" yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy128: switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '\\': goto yy129; default: goto yy127; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy127; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy132; case 'x': goto yy131; default: goto yy107; } yy130: yych = *++YYCURSOR; goto yy7; yy131: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy134; default: goto yy107; } yy132: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy132; case '\\': goto yy129; default: goto yy127; } yy134: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy134; case '\\': goto yy129; default: goto yy127; } yy136: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy147; default: goto yy146; } yy137: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy138: switch (yych) { case '.': goto yy136; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy137; case 'E': case 'e': goto yy139; case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } yy139: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy142; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; default: goto yy107; } yy140: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } yy142: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; default: goto yy107; } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy145: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy146: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy145; case 'E': case 'e': goto yy151; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy147: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy148; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; default: goto yy107; } yy148: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; default: goto yy107; } yy149: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy151: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy152; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; default: goto yy107; } yy152: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; default: goto yy107; } yy153: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy155: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy156: switch (yych) { case '.': goto yy136; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy155; case 'E': case 'e': goto yy139; case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } yy157: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy158; default: goto yy107; } yy158: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy158; case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } yy160: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } yy164: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy166; default: goto yy165; } yy165: #line 142 "cunroll.re" { RET(ID); } #line 1446 "" yy166: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy168; default: goto yy167; } yy167: #line 143 "cunroll.re" { RET(ID); } #line 1518 "" yy168: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy170; default: goto yy169; } yy169: #line 144 "cunroll.re" { RET(ID); } #line 1590 "" yy170: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy172; default: goto yy171; } yy171: #line 145 "cunroll.re" { RET(ID); } #line 1662 "" yy172: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy174; default: goto yy173; } yy173: #line 146 "cunroll.re" { RET(ID); } #line 1734 "" yy174: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy176; default: goto yy175; } yy175: #line 147 "cunroll.re" { RET(ID); } #line 1806 "" yy176: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy178; default: goto yy177; } yy177: #line 148 "cunroll.re" { RET(ID); } #line 1878 "" yy178: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy178; default: goto yy180; } yy180: #line 149 "cunroll.re" { RET(ID); } #line 1952 "" yy181: ++YYCURSOR; #line 167 "cunroll.re" { RET(DIVEQ); } #line 1957 "" yy183: ++YYCURSOR; #line 138 "cunroll.re" { goto comment; } #line 1962 "" } #line 223 "cunroll.re" comment: #line 1969 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; switch (yych) { case '\n': goto yy189; case '*': goto yy187; case '/': goto yy193; default: goto yy191; } yy187: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy208; default: goto yy188; } yy188: #line 242 "cunroll.re" { goto comment; } #line 1989 "" yy189: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy190; default: goto yy194; } yy190: #line 229 "cunroll.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 2004 "" yy191: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy192; default: goto yy194; } yy192: #line 234 "cunroll.re" { goto comment; } #line 2015 "" yy193: yych = *++YYCURSOR; goto yy188; yy194: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy195; default: goto yy196; } yy195: #line 235 "cunroll.re" { goto comment; } #line 2029 "" yy196: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy197; default: goto yy198; } yy197: #line 236 "cunroll.re" { goto comment; } #line 2040 "" yy198: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy199; default: goto yy200; } yy199: #line 237 "cunroll.re" { goto comment; } #line 2051 "" yy200: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy201; default: goto yy202; } yy201: #line 238 "cunroll.re" { goto comment; } #line 2062 "" yy202: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy203; default: goto yy204; } yy203: #line 239 "cunroll.re" { goto comment; } #line 2073 "" yy204: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': case '/': goto yy205; default: goto yy206; } yy205: #line 240 "cunroll.re" { goto comment; } #line 2084 "" yy206: ++YYCURSOR; #line 241 "cunroll.re" { goto comment; } #line 2089 "" yy208: ++YYCURSOR; #line 227 "cunroll.re" { goto std; } #line 2094 "" } #line 243 "cunroll.re" } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/config4a.f.c0000775000076500007660000000207411016275331012437 00000000000000/* Generated by re2c */ #line 1 "config4a.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 15 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 13 "config4a.f.re" { return YYCURSOR; } #line 47 "" yy4: ++YYCURSOR; #line 14 "config4a.f.re" { return NULL; } #line 52 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 15 "config4a.f.re" } re2c-0.13.5/test/error12.re0000775000076500007660000000025411016275331012177 00000000000000/*!re2c DEF1 = ("a"|"b")/[1] ; DEF2 = ("a"|"b")/[0-9]+ ; DEF1 { return KEYWORD; } DEF2 { return KEYWORD; } [0-9]+ { return NUMBER; } [^] { return UNEXPECTED; } */ re2c-0.13.5/test/config4c.f.c0000775000076500007660000000210311016275331012432 00000000000000/* Generated by re2c */ #line 1 "config4c.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 15 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } start: yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 14 "config4c.f.re" { return YYCURSOR; } #line 48 "" yy4: ++YYCURSOR; #line 15 "config4c.f.re" { return NULL; } #line 53 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 16 "config4c.f.re" } re2c-0.13.5/test/bug1454253b.s.c0000775000076500007660000000513411016275331012451 00000000000000/* Generated by re2c */ #line 1 "bug1454253b.s.re" #include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { #line 23 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '?') goto yy4; yych = *++YYCURSOR; if (yych <= '9') { if (yych == '!') goto yy9; if (yych >= '0') goto yy6; } else { if (yych <= 'Z') { if (yych >= 'A') goto yy6; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy6; } } yy3: yy4: ++YYCURSOR; #line 33 "bug1454253b.s.re" { *r++ = '0'; *r++ = '\0'; return p - s; } #line 51 "" yy6: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy8; if (yych <= '9') goto yy6; } else { if (yych <= 'Z') goto yy6; if (yych <= '`') goto yy8; if (yych <= 'z') goto yy6; } yy8: #line 28 "bug1454253b.s.re" { *r++ = '2'; continue; } #line 70 "" yy9: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') goto yy11; if (yych <= '9') goto yy9; } else { if (yych <= 'Z') goto yy9; if (yych <= '`') goto yy11; if (yych <= 'z') goto yy9; } yy11: #line 23 "bug1454253b.s.re" { *r++ = '1'; continue; } #line 89 "" } #line 38 "bug1454253b.s.re" } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, exp, exp_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", res, res_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 4, "20"); do_scan("#", 1, "0"); do_scan("##", 1, "0"); do_scan("##?", 1, "0"); do_scan("##|", 1, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 3, "20"); do_scan("?1?2!1?2??", 5, "220"); do_scan("?1?2?!1?2??", 11, "22120"); do_scan("?1?2?!1?2?!", 12, "221210"); do_scan("?1?123?45??", 11, "2220"); do_scan("?1?123?45?!", 12, "22210"); } re2c-0.13.5/test/config4e.f.c0000775000076500007660000000210411016275331012435 00000000000000/* Generated by re2c */ #line 1 "config4e.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 15 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yyNext: yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 15 "config4e.f.re" { return YYCURSOR; } #line 48 "" yy4: ++YYCURSOR; #line 16 "config4e.f.re" { return NULL; } #line 53 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 17 "config4e.f.re" } re2c-0.13.5/test/cvsignore.re0000775000076500007660000000255611016275331012711 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/cvsignore.wb.re0000775000076500007660000000257011016275331013314 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned short #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/input11.i.c0000775000076500007660000001023511016275331012247 00000000000000/* Generated by re2c */ { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case '-': goto yy7; case '0': goto yy5; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy9; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy4; case 'r': goto yy2; default: goto yy10; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'e': goto yy15; default: goto yy14; } yy3: { return 1; } yy4: yych = *++YYCURSOR; goto yy14; yy5: ++YYCURSOR; yy6: { return 2; } yy7: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy11; default: goto yy8; } yy8: { return -1; } yy9: yych = *++YYCURSOR; goto yy12; yy10: yych = *++YYCURSOR; goto yy8; yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy12: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy11; default: goto yy6; } yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy13; default: goto yy3; } yy15: yych = *++YYCURSOR; switch (yych) { case '2': goto yy16; default: goto yy14; } yy16: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy17; default: goto yy14; } yy17: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ':': goto yy18; default: goto yy14; } yy18: yych = *++YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy20; default: goto yy19; } yy19: YYCURSOR = YYMARKER; goto yy3; yy20: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy20; default: goto yy22; } yy22: { return 0; } } re2c-0.13.5/test/cond_error_03.c.c0000775000076500007660000000006711016275331013400 00000000000000re2c: error: line 3, column 5: no expression specified re2c-0.13.5/test/parse_date.s.re0000775000076500007660000011454011016275331013257 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c any = [\000-\377]; space = [ ]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-3]; hour24lz = [01][0-9] | "2"[0-3]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = [AaPp] "."? [Mm] "."?; tz = "("? [A-Za-z]{1,4} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [1-9] | "1" [0-2]; daylz = "0" [1-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; daytext = dayfull | dayabbr; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = hour24[:.]minute; timelong24 = hour24[:.]minute[:.]second; iso8601long = hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; gnudateshort = year "-" month "-" day; iso8601date = year4 "-" monthlz "-" daylz; pointeddate = day "." month "." year; datefull = day ([ -.])* monthtext ([ -.])* year; datenoday = monthtext ([ -.])* year4; datenodayrev = year4 ([ -.])* monthtext; datetextual = monthtext ([ -.])* day [,.stndrh ]* year; datenoyear = monthtext ([ -.])* day [,.stndrh ]*; datenoyearrev = day ([ -.])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; isoweek = year4 "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [1-9] [0-9]*; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'next'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'week'|'fortnight'|'forthnight'|'month'|'year') 's'?) | daytext; relnumber = ([+-]?[ ]*[0-9]+); relative = relnumber space? reltextunit; relativetext = reltextnumber space? reltextunit; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetext { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/error14.1.c0000775000076500007660000000146011016275331012154 00000000000000/* Generated by re2c */ #line 1 "error14.1.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case 'A': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'B': goto yy5; default: goto yy3; } yy3: #line 4 "error14.1.re" { return 0; } #line 24 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7; case 'D': goto yy9; default: goto yy6; } yy6: YYCURSOR = YYMARKER; goto yy3; yy7: ++YYCURSOR; #line 2 "error14.1.re" { return 1; } #line 42 "" yy9: ++YYCURSOR; #line 3 "error14.1.re" { return 2; } #line 47 "" } #line 5 "error14.1.re" #define YYMAXFILL 3 re2c: error: line 9, column 1: cannot generate YYMAXFILL twice re2c-0.13.5/test/bug1472770.b.re0000775000076500007660000000114011016275331012447 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: /*!re2c [^\n\000]* '\n' { ++n; goto start; } [^\n\000]* '\000' { return n; } */ } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/push.fg.re0000775000076500007660000002247711016275331012270 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize #include #include #define RET(n) return n int scan(const char *s, int l) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c any = [\000-\377]; 'a'{0,b}"\n" {RET(1);} any {RET(0);} */ } re2c-0.13.5/test/scanner.fs.c0000775000076500007660000005707211016275331012571 00000000000000/* Generated by re2c */ #line 1 "scanner.fs.re" /* $Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp $ */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } #line 95 "scanner.fs.re" int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: #line 96 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; case 3: goto yyFillLabel3; case 4: goto yyFillLabel4; case 5: goto yyFillLabel5; case 6: goto yyFillLabel6; case 7: goto yyFillLabel7; case 8: goto yyFillLabel8; case 9: goto yyFillLabel9; case 10: goto yyFillLabel10; case 11: goto yyFillLabel11; case 12: goto yyFillLabel12; case 13: goto yyFillLabel13; case 14: goto yyFillLabel14; case 15: goto yyFillLabel15; case 16: goto yyFillLabel16; case 17: goto yyFillLabel17; case 18: goto yyFillLabel18; case 19: goto yyFillLabel19; case 20: goto yyFillLabel20; case 21: goto yyFillLabel21; case 22: goto yyFillLabel22; case 23: goto yyFillLabel23; case 24: goto yyFillLabel24; case 25: goto yyFillLabel25; case 26: goto yyFillLabel26; case 27: goto yyFillLabel27; case 28: goto yyFillLabel28; case 29: goto yyFillLabel29; case 30: goto yyFillLabel30; case 31: goto yyFillLabel31; case 32: goto yyFillLabel32; case 33: goto yyFillLabel33; case 34: goto yyFillLabel34; case 35: goto yyFillLabel35; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yyFillLabel0: yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x00) goto yy7; if (yych == '\n') goto yy5; goto yy9; } else { if (yych <= '*') goto yy4; if (yych != '/') goto yy9; } yych = *(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy12; yy3: #line 141 "scanner.fs.re" { goto echo; } #line 157 "" yy4: yych = *++YYCURSOR; if (yych == '/') goto yy10; goto yy3; yy5: ++YYCURSOR; #line 130 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } #line 170 "" yy7: ++YYCURSOR; #line 135 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } #line 180 "" yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; #line 121 "scanner.fs.re" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } #line 196 "" yy12: yych = *++YYCURSOR; if (yych == '!') goto yy14; yy13: YYCURSOR = YYMARKER; goto yy3; yy14: yych = *++YYCURSOR; if (yych == 'm') goto yy15; if (yych == 'r') goto yy16; goto yy13; yy15: yych = *++YYCURSOR; if (yych == 'a') goto yy21; goto yy13; yy16: yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 110 "scanner.fs.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } #line 226 "" yy21: yych = *++YYCURSOR; if (yych != 'x') goto yy13; yych = *++YYCURSOR; if (yych != ':') goto yy13; yych = *++YYCURSOR; if (yych != 'r') goto yy13; yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 115 "scanner.fs.re" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } #line 248 "" #line 144 "scanner.fs.re" } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } #line 272 "" YYSETSTATE(1); if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yyFillLabel1: yych = *YYCURSOR; if (yych <= '/') { if (yych <= '!') { if (yych <= '\f') { if (yych <= 0x08) goto yy56; if (yych <= '\t') goto yy50; if (yych <= '\n') goto yy52; goto yy56; } else { if (yych <= '\r') goto yy54; if (yych == ' ') goto yy50; goto yy56; } } else { if (yych <= ')') { if (yych <= '"') goto yy37; if (yych <= '&') goto yy56; if (yych <= '\'') goto yy39; goto yy43; } else { if (yych <= '+') { if (yych <= '*') goto yy35; goto yy44; } else { if (yych <= '-') goto yy56; if (yych <= '.') goto yy48; goto yy33; } } } } else { if (yych <= 'Z') { if (yych <= '=') { if (yych == ';') goto yy43; if (yych <= '<') goto yy56; goto yy43; } else { if (yych == '?') goto yy44; if (yych <= '@') goto yy56; goto yy47; } } else { if (yych <= 'q') { if (yych <= '[') goto yy41; if (yych <= '\\') goto yy43; if (yych <= '`') goto yy56; goto yy47; } else { if (yych <= 'z') { if (yych <= 'r') goto yy45; goto yy47; } else { if (yych <= '{') goto yy31; if (yych <= '|') goto yy43; goto yy56; } } } } yy31: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ',') goto yy97; } else { if (yych <= '0') goto yy94; if (yych <= '9') goto yy95; } yy32: #line 166 "scanner.fs.re" { depth = 1; goto code; } #line 350 "" yy33: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy92; yy34: #line 196 "scanner.fs.re" { RETURN(*tok); } #line 357 "" yy35: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy90; yy36: #line 198 "scanner.fs.re" { yylval.op = *tok; RETURN(CLOSE); } #line 365 "" yy37: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy86; yy38: #line 183 "scanner.fs.re" { fatal("unterminated string constant (missing \")"); } #line 373 "" yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy81; yy40: #line 184 "scanner.fs.re" { fatal("unterminated string constant (missing ')"); } #line 381 "" yy41: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy42; if (yych == '^') goto yy72; goto yy71; yy42: #line 194 "scanner.fs.re" { fatal("unterminated range (missing ])"); } #line 391 "" yy43: yych = *++YYCURSOR; goto yy34; yy44: yych = *++YYCURSOR; goto yy36; yy45: ++YYCURSOR; if ((yych = *YYCURSOR) == 'e') goto yy62; goto yy61; yy46: #line 225 "scanner.fs.re" { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } #line 407 "" yy47: yych = *++YYCURSOR; goto yy61; yy48: ++YYCURSOR; #line 229 "scanner.fs.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } #line 418 "" yy50: ++YYCURSOR; yych = *YYCURSOR; goto yy59; yy51: #line 234 "scanner.fs.re" { goto scan; } #line 426 "" yy52: ++YYCURSOR; yy53: #line 236 "scanner.fs.re" { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } #line 435 "" yy54: ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy57; yy55: #line 241 "scanner.fs.re" { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } #line 447 "" yy56: yych = *++YYCURSOR; goto yy55; yy57: yych = *++YYCURSOR; goto yy53; yy58: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy59: if (yych == '\t') goto yy58; if (yych == ' ') goto yy58; goto yy51; yy60: ++YYCURSOR; YYSETSTATE(3); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel3: yych = *YYCURSOR; yy61: if (yych <= '@') { if (yych <= '/') goto yy46; if (yych <= '9') goto yy60; goto yy46; } else { if (yych <= 'Z') goto yy60; if (yych <= '`') goto yy46; if (yych <= 'z') goto yy60; goto yy46; } yy62: yych = *++YYCURSOR; if (yych != '2') goto yy61; yych = *++YYCURSOR; if (yych != 'c') goto yy61; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych != ':') goto yy61; yy65: ++YYCURSOR; YYSETSTATE(4); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel4: yych = *YYCURSOR; if (yych <= '@') goto yy66; if (yych <= 'Z') goto yy67; if (yych <= '`') goto yy66; if (yych <= 'z') goto yy67; yy66: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy32; } else { goto yy38; } } else { if (yyaccept <= 2) { goto yy40; } else { goto yy42; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy46; } else { goto yy69; } } else { goto yy98; } } yy67: yyaccept = 5; YYMARKER = ++YYCURSOR; YYSETSTATE(5); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel5: yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '9') { if (yych >= '0') goto yy67; } else { if (yych <= ':') goto yy65; if (yych >= 'A') goto yy67; } } else { if (yych <= '_') { if (yych >= '_') goto yy67; } else { if (yych <= '`') goto yy69; if (yych <= 'z') goto yy67; } } yy69: #line 218 "scanner.fs.re" { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } #line 556 "" yy70: ++YYCURSOR; YYSETSTATE(6); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel6: yych = *YYCURSOR; yy71: if (yych <= '[') { if (yych == '\n') goto yy66; goto yy70; } else { if (yych <= '\\') goto yy74; if (yych <= ']') goto yy75; goto yy70; } yy72: ++YYCURSOR; YYSETSTATE(7); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel7: yych = *YYCURSOR; if (yych <= '[') { if (yych == '\n') goto yy66; goto yy72; } else { if (yych <= '\\') goto yy77; if (yych <= ']') goto yy78; goto yy72; } yy74: ++YYCURSOR; YYSETSTATE(8); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel8: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy70; yy75: ++YYCURSOR; #line 190 "scanner.fs.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } #line 600 "" yy77: ++YYCURSOR; YYSETSTATE(9); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel9: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy72; yy78: ++YYCURSOR; #line 186 "scanner.fs.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } #line 615 "" yy80: ++YYCURSOR; YYSETSTATE(10); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel10: yych = *YYCURSOR; yy81: if (yych <= '&') { if (yych == '\n') goto yy66; goto yy80; } else { if (yych <= '\'') goto yy83; if (yych != '\\') goto yy80; } ++YYCURSOR; YYSETSTATE(11); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel11: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy80; yy83: ++YYCURSOR; #line 179 "scanner.fs.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } #line 643 "" yy85: ++YYCURSOR; YYSETSTATE(12); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel12: yych = *YYCURSOR; yy86: if (yych <= '!') { if (yych == '\n') goto yy66; goto yy85; } else { if (yych <= '"') goto yy88; if (yych != '\\') goto yy85; } ++YYCURSOR; YYSETSTATE(13); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel13: yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy85; yy88: ++YYCURSOR; #line 175 "scanner.fs.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } #line 671 "" yy90: ++YYCURSOR; #line 172 "scanner.fs.re" { tok = cursor; RETURN(0); } #line 677 "" yy92: ++YYCURSOR; #line 169 "scanner.fs.re" { depth = 1; goto comment; } #line 683 "" yy94: yych = *++YYCURSOR; if (yych == ',') goto yy108; goto yy96; yy95: ++YYCURSOR; YYSETSTATE(14); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel14: yych = *YYCURSOR; yy96: if (yych <= '/') { if (yych == ',') goto yy101; goto yy66; } else { if (yych <= '9') goto yy95; if (yych == '}') goto yy99; goto yy66; } yy97: ++YYCURSOR; yy98: #line 216 "scanner.fs.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } #line 708 "" yy99: ++YYCURSOR; #line 204 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } #line 715 "" yy101: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 212 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } #line 727 "" yy104: ++YYCURSOR; YYSETSTATE(15); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel15: yych = *YYCURSOR; if (yych <= '/') goto yy66; if (yych <= '9') goto yy104; if (yych != '}') goto yy66; ++YYCURSOR; #line 208 "scanner.fs.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } #line 742 "" yy108: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 201 "scanner.fs.re" { yylval.op = '*'; RETURN(CLOSE); } #line 753 "" #line 247 "scanner.fs.re" code: #line 759 "" YYSETSTATE(16); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel16: yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= '\t') goto yy119; goto yy117; } else { if (yych == '"') goto yy121; goto yy119; } } else { if (yych <= '{') { if (yych <= '\'') goto yy122; if (yych <= 'z') goto yy119; goto yy115; } else { if (yych != '}') goto yy119; } } ++YYCURSOR; #line 251 "scanner.fs.re" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } #line 790 "" yy115: ++YYCURSOR; #line 257 "scanner.fs.re" { ++depth; goto code; } #line 796 "" yy117: ++YYCURSOR; #line 259 "scanner.fs.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } #line 804 "" yy119: ++YYCURSOR; yy120: #line 263 "scanner.fs.re" { goto code; } #line 810 "" yy121: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy128; yy122: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy124; yy123: ++YYCURSOR; YYSETSTATE(17); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel17: yych = *YYCURSOR; yy124: if (yych <= '&') { if (yych != '\n') goto yy123; } else { if (yych <= '\'') goto yy119; if (yych == '\\') goto yy126; goto yy123; } yy125: YYCURSOR = YYMARKER; goto yy120; yy126: ++YYCURSOR; YYSETSTATE(18); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel18: yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy123; yy127: ++YYCURSOR; YYSETSTATE(19); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel19: yych = *YYCURSOR; yy128: if (yych <= '!') { if (yych == '\n') goto yy125; goto yy127; } else { if (yych <= '"') goto yy119; if (yych != '\\') goto yy127; } ++YYCURSOR; YYSETSTATE(20); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel20: yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy127; #line 264 "scanner.fs.re" comment: #line 870 "" YYSETSTATE(21); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel21: yych = *YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy135; goto yy137; } else { if (yych <= '*') goto yy132; if (yych == '/') goto yy134; goto yy137; } yy132: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy140; yy133: #line 279 "scanner.fs.re" { if(cursor == eof) RETURN(0); goto comment; } #line 891 "" yy134: yych = *++YYCURSOR; if (yych == '*') goto yy138; goto yy133; yy135: ++YYCURSOR; #line 275 "scanner.fs.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } #line 903 "" yy137: yych = *++YYCURSOR; goto yy133; yy138: ++YYCURSOR; #line 272 "scanner.fs.re" { ++depth; fatal("ambiguous /* found"); goto comment; } #line 913 "" yy140: ++YYCURSOR; #line 268 "scanner.fs.re" { if(--depth == 0) goto scan; else goto comment; } #line 921 "" #line 281 "scanner.fs.re" config: #line 927 "" YYSETSTATE(22); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel22: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych != '\t') goto yy148; } else { if (yych <= ' ') goto yy144; if (yych == '=') goto yy146; goto yy148; } yy144: ++YYCURSOR; yych = *YYCURSOR; goto yy153; yy145: #line 285 "scanner.fs.re" { goto config; } #line 947 "" yy146: ++YYCURSOR; yych = *YYCURSOR; goto yy151; yy147: #line 286 "scanner.fs.re" { iscfg = 2; cur = cursor; RETURN('='); } #line 958 "" yy148: ++YYCURSOR; #line 290 "scanner.fs.re" { fatal("missing '='"); } #line 963 "" yy150: ++YYCURSOR; YYSETSTATE(23); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel23: yych = *YYCURSOR; yy151: if (yych == '\t') goto yy150; if (yych == ' ') goto yy150; goto yy147; yy152: ++YYCURSOR; YYSETSTATE(24); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel24: yych = *YYCURSOR; yy153: if (yych == '\t') goto yy152; if (yych == ' ') goto yy152; goto yy145; #line 291 "scanner.fs.re" value: #line 989 "" YYSETSTATE(25); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel25: yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych == '"') goto yy164; goto yy162; } } } else { if (yych <= '/') { if (yych <= '\'') goto yy166; if (yych == '-') goto yy159; goto yy162; } else { if (yych <= '9') { if (yych <= '0') goto yy157; goto yy160; } else { if (yych != ';') goto yy162; } } } yy156: #line 300 "scanner.fs.re" { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } #line 1029 "" yy157: ++YYCURSOR; if ((yych = *YYCURSOR) <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy158; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych != ';') goto yy162; } } yy158: #line 295 "scanner.fs.re" { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } #line 1050 "" yy159: yych = *++YYCURSOR; if (yych <= '0') goto yy163; if (yych >= ':') goto yy163; yy160: ++YYCURSOR; YYSETSTATE(26); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel26: yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { if (yych >= '\t') goto yy158; } else { if (yych == '\r') goto yy158; } } else { if (yych <= '9') { if (yych <= ' ') goto yy158; if (yych >= '0') goto yy160; } else { if (yych == ';') goto yy158; } } yy162: ++YYCURSOR; YYSETSTATE(27); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel27: yych = *YYCURSOR; yy163: if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; goto yy156; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; goto yy156; } else { if (yych == ';') goto yy156; goto yy162; } } yy164: YYMARKER = ++YYCURSOR; YYSETSTATE(28); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel28: yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy164; if (yych <= '\t') goto yy174; goto yy156; } else { if (yych == '\r') goto yy174; if (yych <= 0x1F) goto yy164; goto yy174; } } else { if (yych <= ':') { if (yych == '"') goto yy162; goto yy164; } else { if (yych <= ';') goto yy174; if (yych == '\\') goto yy176; goto yy164; } } yy166: YYMARKER = ++YYCURSOR; YYSETSTATE(29); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel29: yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy166; if (yych >= '\n') goto yy156; } else { if (yych == '\r') goto yy168; if (yych <= 0x1F) goto yy166; } } else { if (yych <= ':') { if (yych == '\'') goto yy162; goto yy166; } else { if (yych <= ';') goto yy168; if (yych == '\\') goto yy171; goto yy166; } } yy168: ++YYCURSOR; YYSETSTATE(30); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel30: yych = *YYCURSOR; if (yych <= '&') { if (yych != '\n') goto yy168; } else { if (yych <= '\'') goto yy172; if (yych == '\\') goto yy173; goto yy168; } yy170: YYCURSOR = YYMARKER; goto yy156; yy171: YYMARKER = ++YYCURSOR; YYSETSTATE(31); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel31: yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy166; goto yy168; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy166; goto yy168; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy166; goto yy168; } else { if (yych == ';') goto yy168; goto yy166; } } yy172: yych = *++YYCURSOR; goto yy156; yy173: ++YYCURSOR; YYSETSTATE(32); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel32: yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy168; yy174: ++YYCURSOR; YYSETSTATE(33); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel33: yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy170; goto yy174; } else { if (yych <= '"') goto yy172; if (yych == '\\') goto yy177; goto yy174; } yy176: YYMARKER = ++YYCURSOR; YYSETSTATE(34); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel34: yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy164; goto yy174; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy164; goto yy174; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy164; goto yy174; } else { if (yych == ';') goto yy174; goto yy164; } } yy177: ++YYCURSOR; YYSETSTATE(35); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel35: yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy174; #line 305 "scanner.fs.re" } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/input10.s.c0000775000076500007660000000076411016275331012266 00000000000000/* Generated by re2c */ #line 1 "input10.s.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'E') { if (yych <= '@') goto yy4; if (yych >= 'E') goto yy4; } else { if (yych <= 'G') goto yy2; if (yych <= '`') goto yy4; if (yych >= 'h') goto yy4; } yy2: ++YYCURSOR; #line 8 "input10.s.re" { return 1; } #line 23 "" yy4: ++YYCURSOR; #line 10 "input10.s.re" { return -1; } #line 28 "" } #line 12 "input10.s.re" re2c-0.13.5/test/cnokw.re0000664000076500007660000001074511016275331012027 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/error2.c0000775000076500007660000000015311016275331011730 00000000000000re2c: error: line 18, column 5: illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers re2c-0.13.5/test/input8.re0000775000076500007660000000020411016275331012125 00000000000000/*!re2c any = [\000-\377]; .{1,3}"\000" { return 0; } . { return 1; } any { return 2; } */ re2c-0.13.5/test/bug1479044.re0000775000076500007660000000171011016275331012233 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: /*!re2c ( "adsl" | "adslppp" | "bdsl" | "cdsl" | "dslgw4pool" | "dslppp" | "edsl" | "fdsl" | "ldsl" | "pool" | "pppdsl" | "premiumC" | "vdsl" | "xsttldsl") [0-9a-k\-]+ ".".+ ".uswest.net" { return "dsl"; } ( "dhcp" | "dorms" | "rh" ).* "-" [0-9]+ "-" [0-9]+ "." .+ ".resnet.pitt.edu" { return "resnet"; } [0-9]+ "-" [0-9]+ "-" [0-9]+ "-" [0-9]+ "." ("dhcp" | .* "modem" | "bothell") .* ".washington.edu" { return "edu"; } [\001-\377] { goto start; } [\000] { return NULL; } */ } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/config5.re0000775000076500007660000000032511016275331012234 00000000000000// ignored /*!ignore:re2c Ignored... */ // code /*!re2c [a][b]+ "ccc" { return 1; } [\000-\377] { return 0; } */ // ignored /*!ignore:re2c Ignored... */ // max /*!max:re2c Ignored... */ // eof re2c-0.13.5/test/error6.c0000775000076500007660000000015011016275331011731 00000000000000re2c: error: line 2, column 7: Illegal hexadecimal character code, four hexadecimal digits are required re2c-0.13.5/test/input2.c0000664000076500007660000000104411016275331011733 00000000000000/* Generated by re2c */ #line 1 "input2.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } yy5: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy6; default: goto yy2; } yy6: ++YYCURSOR; #line 3 "input2.re" { return 1; } #line 35 "" } #line 5 "input2.re" re2c-0.13.5/test/bug1528269.re0000775000076500007660000000002711016275331012237 00000000000000void foo() { x='ü'; } re2c-0.13.5/test/config7a.g.c0000775000076500007660000000077111016275331012445 00000000000000/* Generated by re2c */ #line 1 "config7a.g.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'E') { if (yych <= '@') goto yy4; if (yych >= 'E') goto yy4; } else { if (yych <= 'G') goto yy2; if (yych <= '`') goto yy4; if (yych >= 'h') goto yy4; } yy2: ++YYCURSOR; #line 10 "config7a.g.re" { return 1; } #line 23 "" yy4: ++YYCURSOR; #line 12 "config7a.g.re" { return -1; } #line 28 "" } #line 14 "config7a.g.re" re2c-0.13.5/test/input11.re0000775000076500007660000000040611016275331012203 00000000000000/*!re2c letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; config = "re2c:" (letter|"_") (letter|digit|"_"|":")*; config { return 0; } name { return 1; } number { return 2; } .|"\n" { return -1; } */ re2c-0.13.5/test/input6.c0000775000076500007660000000045411016275331011746 00000000000000/* Generated by re2c */ #line 1 "input6.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; goto yy3; #line 3 "input6.re" { return 0; } #line 14 "" yy3: ++YYCURSOR; #line 4 "input6.re" { return 1; } #line 19 "" } #line 6 "input6.re" re2c-0.13.5/test/bug1297658.re0000775000076500007660000000243111016275331012245 00000000000000#include #include #include struct Scanner { Scanner(char *_inp) : inp(_inp), buf(NULL), ptr(NULL), len(0), siz(strlen(_inp)), line(0) { fill(0); cur = buf; } void fill(size_t n) { n++; buf = (char*)realloc(buf, len + n + 1); if ((len += n) > siz) { len = siz; } memcpy(buf, inp, len); buf[len] = '\0'; lim = buf + len; eof = buf + siz - 1; } char *inp; char *cur; char *buf; char *ptr; char *lim; char *eof; size_t len; size_t siz; size_t line; }; enum What { UNEXPECTED, FCON, EOI }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYFILL(n) s.fill(n) #define RET(n) return (n) int scan(Scanner &s) { std: /*!re2c ("0"* "." "e"? "L"?) | ("0"+ "." "e"? "L"?) { RET(FCON); } "\n" { s.line++; if(1||s.cur == s.eof) RET(EOI); goto std; } . { RET(UNEXPECTED); } */ } int main(int,char**) { Scanner s("\n0.eL\n00.eL\n"); std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(1): " << scan(s) << std::endl; std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(1): " << scan(s) << std::endl; std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(0): " << scan(s) << std::endl; } re2c-0.13.5/test/parse_date.db.c0000775000076500007660000156024211016275331013223 00000000000000/* Generated by re2c */ #line 1 "parse_date.db.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: parse_date.re,v 1.36 2006/04/09 15:03:01 derick Exp $ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { add_warning(s, "Double timezone specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; struct timelib_error_container *errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ' || ptr[0] == '\t') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static void add_warning(Scanner *s, char *error) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_error(Scanner *s, char *error) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ' || **ptr == '\t') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ' && **ptr != '\t') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem = NULL; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); if (found) { t->zone_type = TIMELIB_ZONETYPE_ABBR; } #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (found && t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 865 "parse_date.db.re" #line 763 "" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 192, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 160, 32, 32, 32, 160, 32, 32, 32, 32, 32, 160, 32, 32, 32, 160, 160, 160, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; YYDEBUG(0, *YYCURSOR); if ((YYLIMIT - YYCURSOR) < 29) YYFILL(29); yych = *YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 0x00: case '\n': goto yy48; case '\t': case ' ': goto yy45; case '(': goto yy42; case '+': case '-': goto yy41; case ',': case '.': goto yy47; case '0': goto yy13; case '1': goto yy14; case '2': goto yy15; case '3': goto yy16; case '4': case '5': case '6': case '7': case '8': case '9': goto yy17; case '@': goto yy11; case 'A': goto yy25; case 'B': case 'C': case 'G': case 'H': case 'K': case 'Q': case 'R': case 'U': case 'Z': goto yy43; case 'D': goto yy31; case 'E': goto yy35; case 'F': goto yy23; case 'I': goto yy18; case 'J': goto yy21; case 'L': goto yy37; case 'M': goto yy7; case 'N': goto yy5; case 'O': goto yy29; case 'P': goto yy39; case 'S': goto yy27; case 'T': goto yy9; case 'V': goto yy19; case 'W': goto yy33; case 'X': goto yy20; case 'Y': goto yy2; case 'a': goto yy26; case 'b': case 'c': case 'g': case 'h': case 'i': case 'k': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy44; case 'd': goto yy32; case 'e': goto yy36; case 'f': goto yy24; case 'j': goto yy22; case 'l': goto yy38; case 'm': goto yy8; case 'n': goto yy6; case 'o': goto yy30; case 'p': goto yy40; case 's': goto yy28; case 't': goto yy10; case 'w': goto yy34; case 'y': goto yy4; default: goto yy50; } yy2: YYDEBUG(2, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1405; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych >= 'a') goto yy138; } else { if (yych <= 'e') goto yy1414; if (yych <= 'z') goto yy138; } } yy3: YYDEBUG(3, *YYCURSOR); #line 1369 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 916 "" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1405; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1405; if (yych <= 'z') goto yy133; goto yy3; } } yy5: YYDEBUG(5, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1376; goto yy133; } else { if (yych <= 'I') goto yy1377; if (yych <= 'N') goto yy133; goto yy1375; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1392; goto yy138; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1393; goto yy138; } else { if (yych <= 'o') goto yy1391; if (yych <= 'z') goto yy138; goto yy3; } } } yy6: YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1376; goto yy133; } else { if (yych <= 'I') goto yy1377; if (yych <= 'N') goto yy133; goto yy1375; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1376; goto yy133; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1377; goto yy133; } else { if (yych <= 'o') goto yy1375; if (yych <= 'z') goto yy133; goto yy3; } } } yy7: YYDEBUG(7, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1345; } else { if (yych == 'I') goto yy1346; if (yych <= 'N') goto yy133; goto yy1347; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1360; goto yy138; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1361; goto yy138; } else { if (yych <= 'o') goto yy1362; if (yych <= 'z') goto yy138; goto yy3; } } } yy8: YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1345; } else { if (yych == 'I') goto yy1346; if (yych <= 'N') goto yy133; goto yy1347; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1345; goto yy133; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1346; goto yy133; } else { if (yych <= 'o') goto yy1347; if (yych <= 'z') goto yy133; goto yy3; } } } yy9: YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case ')': goto yy132; case '0': case '1': goto yy1277; case '2': goto yy1278; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1279; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': goto yy133; case 'E': goto yy1272; case 'H': goto yy1273; case 'O': goto yy1274; case 'U': goto yy1275; case 'W': goto yy1276; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy138; case 'e': goto yy1314; case 'h': goto yy1315; case 'o': goto yy1316; case 'u': goto yy1317; case 'w': goto yy1318; default: goto yy3; } yy10: YYDEBUG(10, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case ')': goto yy132; case '0': case '1': goto yy1277; case '2': goto yy1278; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1279; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy133; case 'E': case 'e': goto yy1272; case 'H': case 'h': goto yy1273; case 'O': case 'o': goto yy1274; case 'U': case 'u': goto yy1275; case 'W': case 'w': goto yy1276; default: goto yy3; } yy11: YYDEBUG(11, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1268; if (yych <= '/') goto yy12; if (yych <= '9') goto yy1269; yy12: YYDEBUG(12, *YYCURSOR); #line 1440 "parse_date.db.re" { add_error(s, "Unexpected character"); goto std; } #line 1232 "" yy13: YYDEBUG(13, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy1230; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'w': case 'y': goto yy1232; case '-': goto yy695; case '.': goto yy1234; case '/': goto yy694; case '0': goto yy1267; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1266; case ':': goto yy1235; case 'n': goto yy692; case 'r': goto yy693; case 's': goto yy686; case 't': goto yy690; default: goto yy12; } yy14: YYDEBUG(14, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy682; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy684; case '-': goto yy695; case '.': goto yy696; case '/': goto yy694; case '0': case '1': case '2': goto yy1266; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1233; case ':': goto yy705; case 'n': goto yy692; case 'r': goto yy693; case 's': goto yy686; case 't': goto yy690; default: goto yy12; } yy15: YYDEBUG(15, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy682; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy684; case '-': goto yy695; case '.': goto yy696; case '/': goto yy694; case '0': case '1': case '2': case '3': goto yy1233; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1229; case ':': goto yy705; case 'n': goto yy692; case 'r': goto yy693; case 's': goto yy686; case 't': goto yy690; default: goto yy12; } yy16: YYDEBUG(16, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy682; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy684; case '-': goto yy695; case '.': goto yy696; case '/': goto yy694; case '0': case '1': goto yy1229; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy691; case ':': goto yy705; case 'n': goto yy692; case 'r': goto yy693; case 's': goto yy686; case 't': goto yy690; default: goto yy12; } yy17: YYDEBUG(17, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy682; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy684; case '-': goto yy695; case '.': goto yy696; case '/': goto yy694; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy691; case ':': goto yy705; case 'n': goto yy692; case 'r': goto yy693; case 's': goto yy686; case 't': goto yy690; default: goto yy12; } yy18: YYDEBUG(18, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych == '/') goto yy3; goto yy423; } } } else { if (yych <= 'V') { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'I') goto yy681; if (yych <= 'U') goto yy133; goto yy680; } } else { if (yych <= 'Z') { if (yych == 'X') goto yy680; goto yy133; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } } } yy19: YYDEBUG(19, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy678; goto yy133; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } } } yy20: YYDEBUG(20, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy676; goto yy133; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } } } yy21: YYDEBUG(21, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy659; if (yych <= 'T') goto yy133; goto yy658; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy668; } else { if (yych == 'u') goto yy667; if (yych <= 'z') goto yy138; goto yy3; } } yy22: YYDEBUG(22, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy659; if (yych <= 'T') goto yy133; goto yy658; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy659; } else { if (yych == 'u') goto yy658; if (yych <= 'z') goto yy133; goto yy3; } } yy23: YYDEBUG(23, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy620; } } else { if (yych <= 'N') { if (yych == 'I') goto yy621; goto yy133; } else { if (yych <= 'O') goto yy622; if (yych <= 'Q') goto yy133; goto yy623; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy639; if (yych <= 'h') goto yy138; goto yy640; } } else { if (yych <= 'q') { if (yych == 'o') goto yy641; goto yy138; } else { if (yych <= 'r') goto yy642; if (yych <= 'z') goto yy138; goto yy3; } } } yy24: YYDEBUG(24, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy620; } } else { if (yych <= 'N') { if (yych == 'I') goto yy621; goto yy133; } else { if (yych <= 'O') goto yy622; if (yych <= 'Q') goto yy133; goto yy623; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy620; if (yych <= 'h') goto yy133; goto yy621; } } else { if (yych <= 'q') { if (yych == 'o') goto yy622; goto yy133; } else { if (yych <= 'r') goto yy623; if (yych <= 'z') goto yy133; goto yy3; } } } yy25: YYDEBUG(25, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy599; goto yy133; } else { if (yych <= 'P') goto yy598; if (yych <= 'T') goto yy133; goto yy597; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy611; goto yy138; } } else { if (yych <= 't') { if (yych <= 'p') goto yy610; goto yy138; } else { if (yych <= 'u') goto yy609; if (yych <= 'z') goto yy138; goto yy3; } } } yy26: YYDEBUG(26, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy599; goto yy133; } else { if (yych <= 'P') goto yy598; if (yych <= 'T') goto yy133; goto yy597; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy599; goto yy133; } } else { if (yych <= 't') { if (yych <= 'p') goto yy598; goto yy133; } else { if (yych <= 'u') goto yy597; if (yych <= 'z') goto yy133; goto yy3; } } } yy27: YYDEBUG(27, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy540; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy539; goto yy133; } else { if (yych <= 'I') goto yy541; if (yych <= 'T') goto yy133; goto yy542; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy569; if (yych <= 'd') goto yy138; goto yy568; } } else { if (yych <= 't') { if (yych == 'i') goto yy570; goto yy138; } else { if (yych <= 'u') goto yy571; if (yych <= 'z') goto yy138; goto yy3; } } } yy28: YYDEBUG(28, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy540; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy539; goto yy133; } else { if (yych <= 'I') goto yy541; if (yych <= 'T') goto yy133; goto yy542; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy540; if (yych <= 'd') goto yy133; goto yy539; } } else { if (yych <= 't') { if (yych == 'i') goto yy541; goto yy133; } else { if (yych <= 'u') goto yy542; if (yych <= 'z') goto yy133; goto yy3; } } } yy29: YYDEBUG(29, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy529; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'c') goto yy534; if (yych <= 'z') goto yy138; goto yy3; } } yy30: YYDEBUG(30, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy529; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'c') goto yy529; if (yych <= 'z') goto yy133; goto yy3; } } yy31: YYDEBUG(31, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy420; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy522; if (yych <= 'z') goto yy138; goto yy3; } } yy32: YYDEBUG(32, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy420; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy420; if (yych <= 'z') goto yy133; goto yy3; } } yy33: YYDEBUG(33, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy403; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy412; if (yych <= 'z') goto yy138; goto yy3; } } yy34: YYDEBUG(34, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy403; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy403; if (yych <= 'z') goto yy133; goto yy3; } } yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy367; if (yych <= 'K') goto yy133; goto yy368; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy138; goto yy385; } else { if (yych == 'l') goto yy386; if (yych <= 'z') goto yy138; goto yy3; } } yy36: YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy367; if (yych <= 'K') goto yy133; goto yy368; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy133; goto yy367; } else { if (yych == 'l') goto yy368; if (yych <= 'z') goto yy133; goto yy3; } } yy37: YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy319; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy343; if (yych <= 'z') goto yy138; goto yy3; } } yy38: YYDEBUG(38, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy319; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy319; if (yych <= 'z') goto yy133; goto yy3; } } yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy157; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'r') goto yy239; if (yych <= 'z') goto yy138; goto yy3; } } yy40: YYDEBUG(40, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy157; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'r') goto yy157; if (yych <= 'z') goto yy133; goto yy3; } } yy41: YYDEBUG(41, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy12; if (yych <= '1') goto yy150; if (yych <= '2') goto yy151; if (yych <= '9') goto yy152; goto yy12; yy42: YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy149; if (yych <= '`') goto yy12; if (yych <= 'z') goto yy149; goto yy12; yy43: YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } yy44: YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy45: YYDEBUG(45, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy46; if (yych <= '9') goto yy51; yy46: YYDEBUG(46, *YYCURSOR); #line 1429 "parse_date.db.re" { goto std; } #line 2231 "" yy47: YYDEBUG(47, *YYCURSOR); yych = *++YYCURSOR; goto yy46; yy48: YYDEBUG(48, *YYCURSOR); ++YYCURSOR; YYDEBUG(49, *YYCURSOR); #line 1434 "parse_date.db.re" { s->pos = cursor; s->line++; goto std; } #line 2245 "" yy50: YYDEBUG(50, *YYCURSOR); yych = *++YYCURSOR; goto yy12; yy51: YYDEBUG(51, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; YYDEBUG(52, *YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy56; if (yych >= ' ') goto yy56; } else { if (yych == 'D') goto yy61; if (yych >= 'F') goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy60; if (yych >= 'M') goto yy59; } else { if (yych <= 'S') { if (yych >= 'S') goto yy58; } else { if (yych <= 'T') goto yy65; if (yych >= 'W') goto yy62; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych >= 'd') goto yy61; } else { if (yych <= 'f') { if (yych >= 'f') goto yy63; } else { if (yych == 'h') goto yy60; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy59; if (yych <= 'r') goto yy53; if (yych <= 's') goto yy58; goto yy65; } else { if (yych <= 'w') { if (yych >= 'w') goto yy62; } else { if (yych == 'y') goto yy64; } } } } yy53: YYDEBUG(53, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 13) { if (yyaccept <= 6) { if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy12; } } else { if (yyaccept <= 2) { goto yy46; } else { goto yy69; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy176; } else { goto yy405; } } else { goto yy426; } } } else { if (yyaccept <= 10) { if (yyaccept <= 8) { if (yyaccept <= 7) { goto yy448; } else { goto yy491; } } else { if (yyaccept <= 9) { goto yy601; } else { goto yy698; } } } else { if (yyaccept <= 12) { if (yyaccept <= 11) { goto yy713; } else { goto yy860; } } else { goto yy870; } } } } else { if (yyaccept <= 20) { if (yyaccept <= 17) { if (yyaccept <= 15) { if (yyaccept <= 14) { goto yy971; } else { goto yy1005; } } else { if (yyaccept <= 16) { goto yy1032; } else { goto yy978; } } } else { if (yyaccept <= 19) { if (yyaccept <= 18) { goto yy1134; } else { goto yy1026; } } else { goto yy1238; } } } else { if (yyaccept <= 23) { if (yyaccept <= 22) { if (yyaccept <= 21) { goto yy1246; } else { goto yy1301; } } else { goto yy1304; } } else { if (yyaccept <= 25) { if (yyaccept <= 24) { goto yy1382; } else { goto yy1390; } } else { goto yy1413; } } } } yy54: YYDEBUG(54, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(55, *YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy53; if (yych <= '9') goto yy51; goto yy53; yy56: YYDEBUG(56, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy57: YYDEBUG(57, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy56; if (yych <= 0x1F) goto yy53; goto yy56; } else { if (yych == 'D') goto yy61; if (yych <= 'E') goto yy53; goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy60; if (yych <= 'L') goto yy53; goto yy59; } else { if (yych <= 'S') { if (yych <= 'R') goto yy53; } else { if (yych <= 'T') goto yy65; if (yych <= 'V') goto yy53; goto yy62; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych <= 'c') goto yy53; goto yy61; } else { if (yych <= 'f') { if (yych <= 'e') goto yy53; goto yy63; } else { if (yych == 'h') goto yy60; goto yy53; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy59; if (yych <= 'r') goto yy53; if (yych >= 't') goto yy65; } else { if (yych <= 'w') { if (yych <= 'v') goto yy53; goto yy62; } else { if (yych == 'y') goto yy64; goto yy53; } } } } yy58: YYDEBUG(58, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy120; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy120; if (yych == 'u') goto yy118; goto yy53; } } yy59: YYDEBUG(59, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy110; } else { if (yych == 'o') goto yy109; goto yy53; } } yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy107; if (yych == 'o') goto yy107; goto yy53; yy61: YYDEBUG(61, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy106; if (yych == 'a') goto yy106; goto yy53; yy62: YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy98; if (yych == 'e') goto yy98; goto yy53; yy63: YYDEBUG(63, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy83; } else { if (yych == 'r') goto yy82; goto yy53; } } yy64: YYDEBUG(64, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy79; if (yych == 'e') goto yy79; goto yy53; yy65: YYDEBUG(65, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy67; goto yy53; } } yy66: YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy74; if (yych == 'u') goto yy74; goto yy53; yy67: YYDEBUG(67, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy68; if (yych != 'e') goto yy53; yy68: YYDEBUG(68, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy70; if (yych == 's') goto yy70; yy69: YYDEBUG(69, *YYCURSOR); #line 1413 "parse_date.db.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 2619 "" yy70: YYDEBUG(70, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy71; if (yych != 'd') goto yy53; yy71: YYDEBUG(71, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy72; if (yych != 'a') goto yy53; yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych != 'y') goto yy53; yy73: YYDEBUG(73, *YYCURSOR); yych = *++YYCURSOR; goto yy69; yy74: YYDEBUG(74, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy75; if (yych != 'r') goto yy69; yy75: YYDEBUG(75, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy76; if (yych != 's') goto yy53; yy76: YYDEBUG(76, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy77; if (yych != 'd') goto yy53; yy77: YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy78; if (yych != 'a') goto yy53; yy78: YYDEBUG(78, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy80; if (yych != 'a') goto yy53; yy80: YYDEBUG(80, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych != 'r') goto yy53; yy81: YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy73; if (yych == 's') goto yy73; goto yy69; yy82: YYDEBUG(82, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy95; if (yych == 'i') goto yy95; goto yy53; yy83: YYDEBUG(83, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy84; if (yych != 'r') goto yy53; yy84: YYDEBUG(84, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy85; if (yych != 't') goto yy53; yy85: YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy87; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy87; } else { if (yych != 'n') goto yy53; } } YYDEBUG(86, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy92; if (yych == 'i') goto yy92; goto yy53; yy87: YYDEBUG(87, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy88; if (yych != 'n') goto yy53; yy88: YYDEBUG(88, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy89; if (yych != 'i') goto yy53; yy89: YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy90; if (yych != 'g') goto yy53; yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy91; if (yych != 'h') goto yy53; yy91: YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy92: YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy93; if (yych != 'g') goto yy53; yy93: YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy94; if (yych != 'h') goto yy53; yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy95: YYDEBUG(95, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy96; if (yych != 'd') goto yy69; yy96: YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy97; if (yych != 'a') goto yy53; yy97: YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy98: YYDEBUG(98, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy100; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy100; if (yych >= 'f') goto yy53; } YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy81; if (yych == 'k') goto yy81; goto yy53; yy100: YYDEBUG(100, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy101; if (yych != 'n') goto yy69; yy101: YYDEBUG(101, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy102; if (yych != 'e') goto yy53; yy102: YYDEBUG(102, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy103; if (yych != 's') goto yy53; yy103: YYDEBUG(103, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy104; if (yych != 'd') goto yy53; yy104: YYDEBUG(104, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy105; if (yych != 'a') goto yy53; yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy81; if (yych == 'y') goto yy81; goto yy53; yy107: YYDEBUG(107, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy108; if (yych != 'u') goto yy53; yy108: YYDEBUG(108, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych == 'r') goto yy81; goto yy53; yy109: YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy114; if (yych == 'n') goto yy114; goto yy53; yy110: YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy111; if (yych != 'n') goto yy53; yy111: YYDEBUG(111, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy73; if (yych <= 'T') goto yy69; } else { if (yych <= 's') { if (yych <= 'r') goto yy69; goto yy73; } else { if (yych != 'u') goto yy69; } } YYDEBUG(112, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy113; if (yych != 't') goto yy53; yy113: YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy81; if (yych == 'e') goto yy81; goto yy53; yy114: YYDEBUG(114, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy115; if (yych <= 'S') goto yy69; goto yy116; } else { if (yych <= 'd') { if (yych <= 'c') goto yy69; } else { if (yych == 't') goto yy116; goto yy69; } } yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy117; if (yych == 'a') goto yy117; goto yy53; yy116: YYDEBUG(116, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy81; if (yych == 'h') goto yy81; goto yy53; yy117: YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy129; if (yych == 'n') goto yy129; goto yy53; yy119: YYDEBUG(119, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy124; if (yych == 't') goto yy124; goto yy53; yy120: YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy121; if (yych != 'c') goto yy53; yy121: YYDEBUG(121, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy122; if (yych <= 'R') goto yy69; goto yy73; } else { if (yych <= 'o') { if (yych <= 'n') goto yy69; } else { if (yych == 's') goto yy73; goto yy69; } } yy122: YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy123; if (yych != 'n') goto yy53; yy123: YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy81; if (yych == 'd') goto yy81; goto yy53; yy124: YYDEBUG(124, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy125; if (yych != 'u') goto yy69; yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy126; if (yych != 'r') goto yy53; yy126: YYDEBUG(126, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy127; if (yych != 'd') goto yy53; yy127: YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy128; if (yych != 'a') goto yy53; yy128: YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy129: YYDEBUG(129, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy130; if (yych != 'd') goto yy69; yy130: YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy131; if (yych != 'a') goto yy53; yy131: YYDEBUG(131, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; goto yy3; yy133: YYDEBUG(133, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy134: YYDEBUG(134, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy135: YYDEBUG(135, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy136: YYDEBUG(136, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy137: YYDEBUG(137, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy132; goto yy3; yy138: YYDEBUG(138, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy139: YYDEBUG(139, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych != '/') goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy144; goto yy3; } } yy140: YYDEBUG(140, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; YYDEBUG(141, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy142; } goto yy53; yy142: YYDEBUG(142, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(143, *YYCURSOR); if (yybm[0+yych] & 32) { goto yy142; } if (yych == '/') goto yy140; if (yych == '_') goto yy140; goto yy3; yy144: YYDEBUG(144, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy145: YYDEBUG(145, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy137; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy146: YYDEBUG(146, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy147: YYDEBUG(147, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy148: YYDEBUG(148, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy53; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy147; goto yy53; } yy149: YYDEBUG(149, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy150: YYDEBUG(150, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy3; goto yy57; } else { if (yych <= '9') { if (yych <= '/') goto yy3; goto yy152; } else { if (yych <= ':') goto yy153; if (yych <= 'C') goto yy3; goto yy57; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy3; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy57; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy57; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy57; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy3; } else { if (yych == 'g') goto yy3; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy3; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy57; } else { if (yych == 'y') goto yy57; goto yy3; } } } } yy151: YYDEBUG(151, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy3; goto yy57; } else { if (yych <= '3') { if (yych <= '/') goto yy3; } else { if (yych <= '5') goto yy154; if (yych <= '9') goto yy155; goto yy153; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy3; goto yy57; } else { if (yych == 'F') goto yy57; goto yy3; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy57; goto yy3; } else { if (yych <= 'M') goto yy57; if (yych <= 'R') goto yy3; goto yy57; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy57; if (yych <= 'X') goto yy3; goto yy57; } else { if (yych <= 'd') { if (yych <= 'c') goto yy3; goto yy57; } else { if (yych == 'f') goto yy57; goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy57; goto yy3; } else { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy3; goto yy57; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy57; } else { if (yych == 'y') goto yy57; goto yy3; } } } } yy152: YYDEBUG(152, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= 'C') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy3; goto yy57; } else { if (yych <= '5') { if (yych <= '/') goto yy3; goto yy154; } else { if (yych <= '9') goto yy155; if (yych >= ';') goto yy3; } } } else { if (yych <= 'G') { if (yych == 'E') goto yy3; if (yych <= 'F') goto yy57; goto yy3; } else { if (yych <= 'L') { if (yych <= 'H') goto yy57; goto yy3; } else { if (yych <= 'M') goto yy57; if (yych <= 'R') goto yy3; goto yy57; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy57; if (yych <= 'X') goto yy3; goto yy57; } else { if (yych <= 'd') { if (yych <= 'c') goto yy3; goto yy57; } else { if (yych == 'f') goto yy57; goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy57; goto yy3; } else { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy3; goto yy57; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy57; } else { if (yych == 'y') goto yy57; goto yy3; } } } } yy153: YYDEBUG(153, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy156; if (yych <= '9') goto yy132; goto yy3; yy154: YYDEBUG(154, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy3; goto yy57; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy155; if (yych <= 'C') goto yy3; goto yy57; } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy3; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy57; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy57; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy57; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy3; } else { if (yych == 'g') goto yy3; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy3; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy57; } else { if (yych == 'y') goto yy57; goto yy3; } } } } yy155: YYDEBUG(155, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy3; goto yy57; } else { if (yych == 'D') goto yy57; if (yych <= 'E') goto yy3; goto yy57; } } else { if (yych <= 'M') { if (yych == 'H') goto yy57; if (yych <= 'L') goto yy3; goto yy57; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy57; if (yych <= 'V') goto yy3; goto yy57; } } } else { if (yych <= 'h') { if (yych <= 'd') { if (yych == 'Y') goto yy57; if (yych <= 'c') goto yy3; goto yy57; } else { if (yych == 'f') goto yy57; if (yych <= 'g') goto yy3; goto yy57; } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy3; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy57; } else { if (yych == 'y') goto yy57; goto yy3; } } } } yy156: YYDEBUG(156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy132; goto yy3; yy157: YYDEBUG(157, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy158; if (yych <= 'z') goto yy134; goto yy3; } } yy158: YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy159; if (yych <= 'z') goto yy135; goto yy3; } } yy159: YYDEBUG(159, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy136; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'i') goto yy160; if (yych <= 'z') goto yy136; goto yy3; } } yy160: YYDEBUG(160, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy137; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'o') goto yy161; if (yych <= 'z') goto yy137; goto yy3; } } yy161: YYDEBUG(161, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy162; if (yych != 'u') goto yy3; } yy162: YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy163; if (yych != 's') goto yy53; yy163: YYDEBUG(163, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy164: YYDEBUG(164, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy163; if (yych <= 0x1F) goto yy53; goto yy163; } else { if (yych == 'D') goto yy168; if (yych <= 'E') goto yy53; goto yy170; } } else { if (yych <= 'M') { if (yych == 'H') goto yy167; if (yych <= 'L') goto yy53; goto yy166; } else { if (yych <= 'S') { if (yych <= 'R') goto yy53; } else { if (yych <= 'T') goto yy172; if (yych <= 'V') goto yy53; goto yy169; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy171; if (yych <= 'c') goto yy53; goto yy168; } else { if (yych <= 'f') { if (yych <= 'e') goto yy53; goto yy170; } else { if (yych == 'h') goto yy167; goto yy53; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy166; if (yych <= 'r') goto yy53; if (yych >= 't') goto yy172; } else { if (yych <= 'w') { if (yych <= 'v') goto yy53; goto yy169; } else { if (yych == 'y') goto yy171; goto yy53; } } } } YYDEBUG(165, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy226; goto yy53; } else { if (yych <= 'E') goto yy227; if (yych <= 'T') goto yy53; goto yy225; } } else { if (yych <= 'd') { if (yych == 'a') goto yy226; goto yy53; } else { if (yych <= 'e') goto yy227; if (yych == 'u') goto yy225; goto yy53; } } yy166: YYDEBUG(166, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy217; if (yych <= 'N') goto yy53; goto yy216; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy217; } else { if (yych == 'o') goto yy216; goto yy53; } } yy167: YYDEBUG(167, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy214; if (yych == 'o') goto yy214; goto yy53; yy168: YYDEBUG(168, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy213; if (yych == 'a') goto yy213; goto yy53; yy169: YYDEBUG(169, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych == 'e') goto yy205; goto yy53; yy170: YYDEBUG(170, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy190; if (yych <= 'Q') goto yy53; goto yy189; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy190; } else { if (yych == 'r') goto yy189; goto yy53; } } yy171: YYDEBUG(171, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy186; if (yych == 'e') goto yy186; goto yy53; yy172: YYDEBUG(172, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy173; if (yych <= 'T') goto yy53; goto yy174; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy174; goto yy53; } } yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy181; if (yych == 'u') goto yy181; goto yy53; yy174: YYDEBUG(174, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy175; if (yych != 'e') goto yy53; yy175: YYDEBUG(175, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy177; if (yych == 's') goto yy177; yy176: YYDEBUG(176, *YYCURSOR); #line 1352 "parse_date.db.re" { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3853 "" yy177: YYDEBUG(177, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy178; if (yych != 'd') goto yy53; yy178: YYDEBUG(178, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy179; if (yych != 'a') goto yy53; yy179: YYDEBUG(179, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych != 'y') goto yy53; yy180: YYDEBUG(180, *YYCURSOR); yych = *++YYCURSOR; goto yy176; yy181: YYDEBUG(181, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy182; if (yych != 'r') goto yy176; yy182: YYDEBUG(182, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy183; if (yych != 's') goto yy53; yy183: YYDEBUG(183, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych != 'd') goto yy53; yy184: YYDEBUG(184, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy185; if (yych != 'a') goto yy53; yy185: YYDEBUG(185, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy186: YYDEBUG(186, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy187; if (yych != 'a') goto yy53; yy187: YYDEBUG(187, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy188; if (yych != 'r') goto yy53; yy188: YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy180; if (yych == 's') goto yy180; goto yy176; yy189: YYDEBUG(189, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy202; if (yych == 'i') goto yy202; goto yy53; yy190: YYDEBUG(190, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy191; if (yych != 'r') goto yy53; yy191: YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy192; if (yych != 't') goto yy53; yy192: YYDEBUG(192, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy194; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy194; } else { if (yych != 'n') goto yy53; } } yy193: YYDEBUG(193, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy199; if (yych == 'i') goto yy199; goto yy53; yy194: YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy195; if (yych != 'n') goto yy53; yy195: YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy196; if (yych != 'i') goto yy53; yy196: YYDEBUG(196, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy197; if (yych != 'g') goto yy53; yy197: YYDEBUG(197, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy198; if (yych != 'h') goto yy53; yy198: YYDEBUG(198, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych == 't') goto yy188; goto yy53; yy199: YYDEBUG(199, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy200; if (yych != 'g') goto yy53; yy200: YYDEBUG(200, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy201; if (yych != 'h') goto yy53; yy201: YYDEBUG(201, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych == 't') goto yy188; goto yy53; yy202: YYDEBUG(202, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy203; if (yych != 'd') goto yy176; yy203: YYDEBUG(203, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy204; if (yych != 'a') goto yy53; yy204: YYDEBUG(204, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy205: YYDEBUG(205, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy207; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy207; if (yych >= 'f') goto yy53; } yy206: YYDEBUG(206, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy188; if (yych == 'k') goto yy188; goto yy53; yy207: YYDEBUG(207, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy208; if (yych != 'n') goto yy176; yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy209; if (yych != 'e') goto yy53; yy209: YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy210; if (yych != 's') goto yy53; yy210: YYDEBUG(210, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy211; if (yych != 'd') goto yy53; yy211: YYDEBUG(211, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy212; if (yych != 'a') goto yy53; yy212: YYDEBUG(212, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy213: YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy53; yy214: YYDEBUG(214, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy215; if (yych != 'u') goto yy53; yy215: YYDEBUG(215, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy188; if (yych == 'r') goto yy188; goto yy53; yy216: YYDEBUG(216, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy221; if (yych == 'n') goto yy221; goto yy53; yy217: YYDEBUG(217, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy218; if (yych != 'n') goto yy53; yy218: YYDEBUG(218, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy180; if (yych <= 'T') goto yy176; } else { if (yych <= 's') { if (yych <= 'r') goto yy176; goto yy180; } else { if (yych != 'u') goto yy176; } } yy219: YYDEBUG(219, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy220; if (yych != 't') goto yy53; yy220: YYDEBUG(220, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy188; if (yych == 'e') goto yy188; goto yy53; yy221: YYDEBUG(221, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy222; if (yych <= 'S') goto yy176; goto yy223; } else { if (yych <= 'd') { if (yych <= 'c') goto yy176; } else { if (yych == 't') goto yy223; goto yy176; } } yy222: YYDEBUG(222, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy224; if (yych == 'a') goto yy224; goto yy53; yy223: YYDEBUG(223, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy188; if (yych == 'h') goto yy188; goto yy53; yy224: YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy225: YYDEBUG(225, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy236; if (yych == 'n') goto yy236; goto yy53; yy226: YYDEBUG(226, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy231; if (yych == 't') goto yy231; goto yy53; yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy228; if (yych != 'c') goto yy53; yy228: YYDEBUG(228, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy229; if (yych <= 'R') goto yy176; goto yy180; } else { if (yych <= 'o') { if (yych <= 'n') goto yy176; } else { if (yych == 's') goto yy180; goto yy176; } } yy229: YYDEBUG(229, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy230; if (yych != 'n') goto yy53; yy230: YYDEBUG(230, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy188; if (yych == 'd') goto yy188; goto yy53; yy231: YYDEBUG(231, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy232; if (yych != 'u') goto yy176; yy232: YYDEBUG(232, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy233; if (yych != 'r') goto yy53; yy233: YYDEBUG(233, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy234; if (yych != 'd') goto yy53; yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy235; if (yych != 'a') goto yy53; yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy236: YYDEBUG(236, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy237; if (yych != 'd') goto yy176; yy237: YYDEBUG(237, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy238; if (yych != 'a') goto yy53; yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy180; goto yy53; yy239: YYDEBUG(239, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy158; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy240; if (yych <= 'z') goto yy139; goto yy3; } } yy240: YYDEBUG(240, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy159; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'v') goto yy241; if (yych <= 'z') goto yy144; goto yy3; } } yy241: YYDEBUG(241, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy136; goto yy160; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'i') goto yy242; if (yych <= 'z') goto yy145; goto yy3; } } yy242: YYDEBUG(242, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy137; goto yy161; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy243; if (yych <= 'z') goto yy146; goto yy3; } } yy243: YYDEBUG(243, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'T') goto yy3; goto yy162; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'u') goto yy244; if (yych <= 'z') goto yy147; goto yy3; } } yy244: YYDEBUG(244, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'S') goto yy163; goto yy53; } } else { if (yych <= 'r') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 's') goto yy245; if (yych <= 'z') goto yy147; goto yy53; } } yy245: YYDEBUG(245, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'h') { if (yych <= '`') { if (yych <= '/') { if (yych <= '.') goto yy164; goto yy140; } else { if (yych == '_') goto yy140; goto yy164; } } else { if (yych <= 'e') { if (yych == 'd') goto yy249; goto yy147; } else { if (yych <= 'f') goto yy251; if (yych <= 'g') goto yy147; goto yy248; } } } else { if (yych <= 't') { if (yych <= 'm') { if (yych <= 'l') goto yy147; goto yy247; } else { if (yych <= 'r') goto yy147; if (yych >= 't') goto yy253; } } else { if (yych <= 'x') { if (yych == 'w') goto yy250; goto yy147; } else { if (yych <= 'y') goto yy252; if (yych <= 'z') goto yy147; goto yy164; } } } yy246: YYDEBUG(246, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy226; goto yy148; } else { if (yych <= 'E') goto yy227; if (yych <= 'T') goto yy148; goto yy225; } } else { if (yych <= 'd') { if (yych == 'a') goto yy305; goto yy148; } else { if (yych <= 'e') goto yy306; if (yych == 'u') goto yy307; goto yy148; } } yy247: YYDEBUG(247, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy217; if (yych <= 'N') goto yy148; goto yy216; } else { if (yych <= 'i') { if (yych <= 'h') goto yy148; goto yy296; } else { if (yych == 'o') goto yy297; goto yy148; } } yy248: YYDEBUG(248, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy214; if (yych == 'o') goto yy294; goto yy148; yy249: YYDEBUG(249, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy213; if (yych == 'a') goto yy293; goto yy148; yy250: YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych == 'e') goto yy285; goto yy148; yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy190; if (yych <= 'Q') goto yy148; goto yy189; } else { if (yych <= 'o') { if (yych <= 'n') goto yy148; goto yy269; } else { if (yych == 'r') goto yy270; goto yy148; } } yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy186; if (yych == 'e') goto yy266; goto yy148; yy253: YYDEBUG(253, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy173; if (yych <= 'T') goto yy148; goto yy174; } else { if (yych <= 'h') { if (yych <= 'g') goto yy148; } else { if (yych == 'u') goto yy255; goto yy148; } } yy254: YYDEBUG(254, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy181; if (yych == 'u') goto yy261; goto yy148; yy255: YYDEBUG(255, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy175; if (yych != 'e') goto yy148; yy256: YYDEBUG(256, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'S') goto yy177; goto yy176; } } else { if (yych <= 'r') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 's') goto yy257; if (yych <= 'z') goto yy147; goto yy176; } } yy257: YYDEBUG(257, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy178; if (yych != 'd') goto yy148; YYDEBUG(258, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy179; if (yych != 'a') goto yy148; YYDEBUG(259, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych != 'y') goto yy148; yy260: YYDEBUG(260, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy176; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; if (yych <= 'z') goto yy147; goto yy176; } yy261: YYDEBUG(261, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'R') goto yy182; goto yy176; } } else { if (yych <= 'q') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 'r') goto yy262; if (yych <= 'z') goto yy147; goto yy176; } } yy262: YYDEBUG(262, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy183; if (yych != 's') goto yy148; YYDEBUG(263, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych != 'd') goto yy148; YYDEBUG(264, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy185; if (yych != 'a') goto yy148; YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy266: YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy187; if (yych != 'a') goto yy148; yy267: YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy188; if (yych != 'r') goto yy148; yy268: YYDEBUG(268, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'S') goto yy180; goto yy176; } } else { if (yych <= 'r') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 's') goto yy260; if (yych <= 'z') goto yy147; goto yy176; } } yy269: YYDEBUG(269, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy191; if (yych == 'r') goto yy274; goto yy148; yy270: YYDEBUG(270, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy202; if (yych != 'i') goto yy148; yy271: YYDEBUG(271, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'D') goto yy203; goto yy176; } } else { if (yych <= 'c') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 'd') goto yy272; if (yych <= 'z') goto yy147; goto yy176; } } yy272: YYDEBUG(272, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy204; if (yych != 'a') goto yy148; YYDEBUG(273, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy274: YYDEBUG(274, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy192; if (yych != 't') goto yy148; YYDEBUG(275, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy194; if (yych <= 'M') goto yy148; goto yy193; } else { if (yych <= 'h') { if (yych <= 'g') goto yy148; goto yy277; } else { if (yych != 'n') goto yy148; } } YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy199; if (yych == 'i') goto yy282; goto yy148; yy277: YYDEBUG(277, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy195; if (yych != 'n') goto yy148; YYDEBUG(278, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy196; if (yych != 'i') goto yy148; YYDEBUG(279, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy197; if (yych != 'g') goto yy148; YYDEBUG(280, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy198; if (yych != 'h') goto yy148; YYDEBUG(281, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych == 't') goto yy268; goto yy148; yy282: YYDEBUG(282, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy200; if (yych != 'g') goto yy148; YYDEBUG(283, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy201; if (yych != 'h') goto yy148; YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych == 't') goto yy268; goto yy148; yy285: YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy148; if (yych <= 'D') goto yy207; goto yy206; } else { if (yych <= 'c') goto yy148; if (yych <= 'd') goto yy287; if (yych >= 'f') goto yy148; } yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy188; if (yych == 'k') goto yy268; goto yy148; yy287: YYDEBUG(287, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'N') goto yy208; goto yy176; } } else { if (yych <= 'm') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 'n') goto yy288; if (yych <= 'z') goto yy147; goto yy176; } } yy288: YYDEBUG(288, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy209; if (yych != 'e') goto yy148; YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy210; if (yych != 's') goto yy148; YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy211; if (yych != 'd') goto yy148; YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy212; if (yych != 'a') goto yy148; YYDEBUG(292, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy293: YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy268; goto yy148; yy294: YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy215; if (yych != 'u') goto yy148; yy295: YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy188; if (yych == 'r') goto yy268; goto yy148; yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy218; if (yych == 'n') goto yy302; goto yy148; yy297: YYDEBUG(297, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy221; if (yych != 'n') goto yy148; yy298: YYDEBUG(298, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'C') { if (yych == '/') goto yy140; goto yy176; } else { if (yych <= 'D') goto yy222; if (yych == 'T') goto yy223; goto yy176; } } else { if (yych <= 'd') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; if (yych <= 'c') goto yy147; } else { if (yych == 't') goto yy300; if (yych <= 'z') goto yy147; goto yy176; } } YYDEBUG(299, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy224; if (yych == 'a') goto yy301; goto yy148; yy300: YYDEBUG(300, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy188; if (yych == 'h') goto yy268; goto yy148; yy301: YYDEBUG(301, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy302: YYDEBUG(302, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'R') { if (yych == '/') goto yy140; goto yy176; } else { if (yych <= 'S') goto yy180; if (yych == 'U') goto yy219; goto yy176; } } else { if (yych <= 's') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; if (yych <= 'r') goto yy147; goto yy260; } else { if (yych == 'u') goto yy303; if (yych <= 'z') goto yy147; goto yy176; } } yy303: YYDEBUG(303, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy220; if (yych != 't') goto yy148; YYDEBUG(304, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy188; if (yych == 'e') goto yy268; goto yy148; yy305: YYDEBUG(305, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy231; if (yych == 't') goto yy314; goto yy148; yy306: YYDEBUG(306, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy228; if (yych == 'c') goto yy311; goto yy148; yy307: YYDEBUG(307, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy236; if (yych != 'n') goto yy148; yy308: YYDEBUG(308, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'D') goto yy237; goto yy176; } } else { if (yych <= 'c') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 'd') goto yy309; if (yych <= 'z') goto yy147; goto yy176; } } yy309: YYDEBUG(309, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy238; if (yych != 'a') goto yy148; YYDEBUG(310, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy311: YYDEBUG(311, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'N') { if (yych == '/') goto yy140; goto yy176; } else { if (yych <= 'O') goto yy229; if (yych == 'S') goto yy180; goto yy176; } } else { if (yych <= 'o') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; if (yych <= 'n') goto yy147; } else { if (yych == 's') goto yy260; if (yych <= 'z') goto yy147; goto yy176; } } YYDEBUG(312, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy230; if (yych != 'n') goto yy148; YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy188; if (yych == 'd') goto yy268; goto yy148; yy314: YYDEBUG(314, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy176; goto yy140; } else { if (yych == 'U') goto yy232; goto yy176; } } else { if (yych <= 't') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy176; goto yy147; } else { if (yych <= 'u') goto yy315; if (yych <= 'z') goto yy147; goto yy176; } } yy315: YYDEBUG(315, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy233; if (yych != 'r') goto yy148; YYDEBUG(316, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy234; if (yych != 'd') goto yy148; YYDEBUG(317, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy235; if (yych != 'a') goto yy148; YYDEBUG(318, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy180; if (yych == 'y') goto yy260; goto yy148; yy319: YYDEBUG(319, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy320; if (yych <= 'z') goto yy134; goto yy3; } } yy320: YYDEBUG(320, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy321; if (yych <= 'z') goto yy135; goto yy3; } } yy321: YYDEBUG(321, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy163; case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'G': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'U': case 'V': case 'X': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy136; case 'D': case 'd': goto yy325; case 'F': case 'f': goto yy327; case 'H': case 'h': goto yy324; case 'M': case 'm': goto yy323; case 'S': case 's': goto yy322; case 'T': case 't': goto yy329; case 'W': case 'w': goto yy326; case 'Y': case 'y': goto yy328; default: goto yy3; } yy322: YYDEBUG(322, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy340; } else { if (yych == 'E') goto yy341; if (yych <= 'T') goto yy137; goto yy342; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy340; goto yy137; } else { if (yych <= 't') { if (yych <= 'e') goto yy341; goto yy137; } else { if (yych <= 'u') goto yy342; if (yych <= 'z') goto yy137; goto yy3; } } } yy323: YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy338; if (yych <= 'N') goto yy137; goto yy339; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy137; goto yy338; } else { if (yych == 'o') goto yy339; if (yych <= 'z') goto yy137; goto yy3; } } yy324: YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy137; goto yy337; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'o') goto yy337; if (yych <= 'z') goto yy137; goto yy3; } } yy325: YYDEBUG(325, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy336; } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= 'a') goto yy336; if (yych <= 'z') goto yy137; goto yy3; } } yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; goto yy335; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'e') goto yy335; if (yych <= 'z') goto yy137; goto yy3; } } yy327: YYDEBUG(327, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'O') goto yy333; if (yych <= 'Q') goto yy137; goto yy334; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy137; goto yy333; } else { if (yych == 'r') goto yy334; if (yych <= 'z') goto yy137; goto yy3; } } yy328: YYDEBUG(328, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; goto yy332; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'e') goto yy332; if (yych <= 'z') goto yy137; goto yy3; } } yy329: YYDEBUG(329, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'H') goto yy330; if (yych <= 'T') goto yy137; goto yy331; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych <= 'g') goto yy137; } else { if (yych == 'u') goto yy331; if (yych <= 'z') goto yy137; goto yy3; } } yy330: YYDEBUG(330, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy181; if (yych == 'u') goto yy181; goto yy3; } yy331: YYDEBUG(331, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy175; if (yych == 'e') goto yy175; goto yy3; } yy332: YYDEBUG(332, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy187; if (yych == 'a') goto yy187; goto yy3; } yy333: YYDEBUG(333, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy191; if (yych == 'r') goto yy191; goto yy3; } yy334: YYDEBUG(334, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy202; if (yych == 'i') goto yy202; goto yy3; } yy335: YYDEBUG(335, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= 'C') goto yy3; goto yy207; } else { if (yych <= 'c') { if (yych <= 'E') goto yy206; goto yy3; } else { if (yych <= 'd') goto yy207; if (yych <= 'e') goto yy206; goto yy3; } } yy336: YYDEBUG(336, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy3; } yy337: YYDEBUG(337, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy215; if (yych == 'u') goto yy215; goto yy3; } yy338: YYDEBUG(338, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy218; if (yych == 'n') goto yy218; goto yy3; } yy339: YYDEBUG(339, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy221; if (yych == 'n') goto yy221; goto yy3; } yy340: YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy231; if (yych == 't') goto yy231; goto yy3; } yy341: YYDEBUG(341, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'C') goto yy228; if (yych == 'c') goto yy228; goto yy3; } yy342: YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy236; if (yych == 'n') goto yy236; goto yy3; } yy343: YYDEBUG(343, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy320; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy344; if (yych <= 'z') goto yy139; goto yy3; } } yy344: YYDEBUG(344, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy321; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy345; if (yych <= 'z') goto yy144; goto yy3; } } yy345: YYDEBUG(345, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy163; case ')': goto yy132; case '/': case '_': goto yy140; case 'A': case 'B': case 'C': case 'E': case 'G': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'U': case 'V': case 'X': case 'Z': goto yy136; case 'D': goto yy325; case 'F': goto yy327; case 'H': goto yy324; case 'M': goto yy323; case 'S': goto yy322; case 'T': goto yy329; case 'W': goto yy326; case 'Y': goto yy328; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy145; case 'd': goto yy349; case 'f': goto yy351; case 'h': goto yy348; case 'm': goto yy347; case 's': goto yy346; case 't': goto yy353; case 'w': goto yy350; case 'y': goto yy352; default: goto yy3; } yy346: YYDEBUG(346, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= 'D') { if (yych <= 'A') goto yy340; goto yy137; } else { if (yych <= 'E') goto yy341; if (yych <= 'T') goto yy137; goto yy342; } } } else { if (yych <= 'a') { if (yych <= '^') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy364; } } else { if (yych <= 't') { if (yych == 'e') goto yy365; goto yy146; } else { if (yych <= 'u') goto yy366; if (yych <= 'z') goto yy146; goto yy3; } } } yy347: YYDEBUG(347, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy137; } else { if (yych <= 'I') goto yy338; if (yych <= 'N') goto yy137; goto yy339; } } } else { if (yych <= 'h') { if (yych <= '^') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy146; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy362; goto yy146; } else { if (yych <= 'o') goto yy363; if (yych <= 'z') goto yy146; goto yy3; } } } yy348: YYDEBUG(348, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy137; goto yy337; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy361; if (yych <= 'z') goto yy146; goto yy3; } } yy349: YYDEBUG(349, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy336; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy137; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy360; if (yych <= 'z') goto yy146; goto yy3; } } yy350: YYDEBUG(350, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; goto yy335; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy359; if (yych <= 'z') goto yy146; goto yy3; } } yy351: YYDEBUG(351, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'N') { if (yych <= '@') goto yy3; goto yy137; } else { if (yych <= 'O') goto yy333; if (yych <= 'Q') goto yy137; goto yy334; } } } else { if (yych <= 'n') { if (yych <= '^') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy146; } } else { if (yych <= 'q') { if (yych <= 'o') goto yy357; goto yy146; } else { if (yych <= 'r') goto yy358; if (yych <= 'z') goto yy146; goto yy3; } } } yy352: YYDEBUG(352, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; goto yy332; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy356; if (yych <= 'z') goto yy146; goto yy3; } } yy353: YYDEBUG(353, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'G') { if (yych <= '@') goto yy3; goto yy137; } else { if (yych <= 'H') goto yy330; if (yych <= 'T') goto yy137; goto yy331; } } } else { if (yych <= 'g') { if (yych <= '^') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy146; } } else { if (yych <= 't') { if (yych >= 'i') goto yy146; } else { if (yych <= 'u') goto yy355; if (yych <= 'z') goto yy146; goto yy3; } } } YYDEBUG(354, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'T') goto yy3; goto yy181; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'u') goto yy261; if (yych <= 'z') goto yy147; goto yy3; } } yy355: YYDEBUG(355, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'D') goto yy3; goto yy175; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy256; if (yych <= 'z') goto yy147; goto yy3; } } yy356: YYDEBUG(356, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy187; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych <= 'a') goto yy267; if (yych <= 'z') goto yy147; goto yy3; } } yy357: YYDEBUG(357, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'Q') goto yy3; goto yy191; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy274; if (yych <= 'z') goto yy147; goto yy3; } } yy358: YYDEBUG(358, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'H') goto yy3; goto yy202; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'i') goto yy271; if (yych <= 'z') goto yy147; goto yy3; } } yy359: YYDEBUG(359, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'C') goto yy3; if (yych <= 'D') goto yy207; goto yy206; } } else { if (yych <= 'c') { if (yych == '_') goto yy140; if (yych <= '`') goto yy3; goto yy147; } else { if (yych <= 'd') goto yy287; if (yych <= 'e') goto yy286; if (yych <= 'z') goto yy147; goto yy3; } } yy360: YYDEBUG(360, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'X') goto yy3; goto yy188; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy268; if (yych <= 'z') goto yy147; goto yy3; } } yy361: YYDEBUG(361, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'T') goto yy3; goto yy215; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'u') goto yy295; if (yych <= 'z') goto yy147; goto yy3; } } yy362: YYDEBUG(362, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'M') goto yy3; goto yy218; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy302; if (yych <= 'z') goto yy147; goto yy3; } } yy363: YYDEBUG(363, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'M') goto yy3; goto yy221; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy298; if (yych <= 'z') goto yy147; goto yy3; } } yy364: YYDEBUG(364, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'S') goto yy3; goto yy231; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy314; if (yych <= 'z') goto yy147; goto yy3; } } yy365: YYDEBUG(365, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'B') goto yy3; goto yy228; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'c') goto yy311; if (yych <= 'z') goto yy147; goto yy3; } } yy366: YYDEBUG(366, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'M') goto yy3; goto yy236; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy308; if (yych <= 'z') goto yy147; goto yy3; } } yy367: YYDEBUG(367, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy374; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy374; if (yych <= 'z') goto yy134; goto yy3; } } yy368: YYDEBUG(368, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy369; if (yych <= 'z') goto yy134; goto yy3; } } yy369: YYDEBUG(369, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy370; if (yych <= 'z') goto yy135; goto yy3; } } yy370: YYDEBUG(370, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy371; if (yych <= 'z') goto yy136; goto yy3; } } yy371: YYDEBUG(371, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy137; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'n') goto yy372; if (yych <= 'z') goto yy137; goto yy3; } } yy372: YYDEBUG(372, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy373; if (yych != 't') goto yy3; } yy373: YYDEBUG(373, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy163; if (yych == 'h') goto yy163; goto yy53; yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'h') goto yy375; if (yych <= 'z') goto yy135; goto yy3; } } yy375: YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 't') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy376: YYDEBUG(376, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy163; case ')': goto yy132; case 'A': case 'B': case 'C': case 'E': case 'G': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'U': case 'V': case 'X': case 'Z': case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy137; case 'D': case 'd': goto yy377; case 'F': case 'f': goto yy378; case 'H': case 'h': goto yy379; case 'M': case 'm': goto yy380; case 'S': case 's': goto yy381; case 'T': case 't': goto yy382; case 'W': case 'w': goto yy383; case 'Y': case 'y': goto yy384; default: goto yy3; } yy377: YYDEBUG(377, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy213; if (yych == 'a') goto yy213; goto yy3; } yy378: YYDEBUG(378, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == 'O') goto yy190; goto yy3; } } else { if (yych <= 'o') { if (yych <= 'R') goto yy189; if (yych <= 'n') goto yy3; goto yy190; } else { if (yych == 'r') goto yy189; goto yy3; } } yy379: YYDEBUG(379, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'O') goto yy214; if (yych == 'o') goto yy214; goto yy3; } yy380: YYDEBUG(380, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == 'I') goto yy217; goto yy3; } } else { if (yych <= 'i') { if (yych <= 'O') goto yy216; if (yych <= 'h') goto yy3; goto yy217; } else { if (yych == 'o') goto yy216; goto yy3; } } yy381: YYDEBUG(381, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy226; if (yych == 'E') goto yy227; goto yy3; } } else { if (yych <= 'd') { if (yych <= 'U') goto yy225; if (yych == 'a') goto yy226; goto yy3; } else { if (yych <= 'e') goto yy227; if (yych == 'u') goto yy225; goto yy3; } } yy382: YYDEBUG(382, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == 'H') goto yy173; goto yy3; } } else { if (yych <= 'h') { if (yych <= 'U') goto yy174; if (yych <= 'g') goto yy3; goto yy173; } else { if (yych == 'u') goto yy174; goto yy3; } } yy383: YYDEBUG(383, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy205; if (yych == 'e') goto yy205; goto yy3; } yy384: YYDEBUG(384, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy186; if (yych == 'e') goto yy186; goto yy3; } yy385: YYDEBUG(385, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy374; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'g') goto yy392; if (yych <= 'z') goto yy139; goto yy3; } } yy386: YYDEBUG(386, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy369; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy387; if (yych <= 'z') goto yy139; goto yy3; } } yy387: YYDEBUG(387, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy370; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'v') goto yy388; if (yych <= 'z') goto yy144; goto yy3; } } yy388: YYDEBUG(388, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; goto yy371; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy389; if (yych <= 'z') goto yy145; goto yy3; } } yy389: YYDEBUG(389, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy137; goto yy372; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy390; if (yych <= 'z') goto yy146; goto yy3; } } yy390: YYDEBUG(390, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'S') goto yy3; goto yy373; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy391; if (yych <= 'z') goto yy147; goto yy3; } } yy391: YYDEBUG(391, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'H') goto yy163; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 'h') goto yy245; if (yych <= 'z') goto yy147; goto yy53; } } yy392: YYDEBUG(392, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; goto yy375; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy393; if (yych <= 'z') goto yy144; goto yy3; } } yy393: YYDEBUG(393, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy394: YYDEBUG(394, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy163; case ')': goto yy132; case '/': case '_': goto yy140; case 'A': case 'B': case 'C': case 'E': case 'G': case 'I': case 'J': case 'K': case 'L': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'U': case 'V': case 'X': case 'Z': goto yy137; case 'D': goto yy377; case 'F': goto yy378; case 'H': goto yy379; case 'M': goto yy380; case 'S': goto yy381; case 'T': goto yy382; case 'W': goto yy383; case 'Y': goto yy384; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy146; case 'd': goto yy395; case 'f': goto yy396; case 'h': goto yy397; case 'm': goto yy398; case 's': goto yy399; case 't': goto yy400; case 'w': goto yy401; case 'y': goto yy402; default: goto yy3; } yy395: YYDEBUG(395, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy213; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych <= 'a') goto yy293; if (yych <= 'z') goto yy147; goto yy3; } } yy396: YYDEBUG(396, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych == 'O') goto yy190; if (yych <= 'Q') goto yy3; goto yy189; } } else { if (yych <= 'n') { if (yych == '_') goto yy140; if (yych <= '`') goto yy3; goto yy147; } else { if (yych <= 'q') { if (yych <= 'o') goto yy269; goto yy147; } else { if (yych <= 'r') goto yy270; if (yych <= 'z') goto yy147; goto yy3; } } } yy397: YYDEBUG(397, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'N') goto yy3; goto yy214; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy294; if (yych <= 'z') goto yy147; goto yy3; } } yy398: YYDEBUG(398, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych == 'I') goto yy217; if (yych <= 'N') goto yy3; goto yy216; } } else { if (yych <= 'h') { if (yych == '_') goto yy140; if (yych <= '`') goto yy3; goto yy147; } else { if (yych <= 'n') { if (yych <= 'i') goto yy296; goto yy147; } else { if (yych <= 'o') goto yy297; if (yych <= 'z') goto yy147; goto yy3; } } } yy399: YYDEBUG(399, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= 'D') { if (yych <= 'A') goto yy226; goto yy3; } else { if (yych <= 'E') goto yy227; if (yych <= 'T') goto yy3; goto yy225; } } } else { if (yych <= 'd') { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy305; goto yy147; } } else { if (yych <= 't') { if (yych <= 'e') goto yy306; goto yy147; } else { if (yych <= 'u') goto yy307; if (yych <= 'z') goto yy147; goto yy3; } } } yy400: YYDEBUG(400, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych == 'H') goto yy173; if (yych <= 'T') goto yy3; goto yy174; } } else { if (yych <= 'g') { if (yych == '_') goto yy140; if (yych <= '`') goto yy3; goto yy147; } else { if (yych <= 't') { if (yych <= 'h') goto yy254; goto yy147; } else { if (yych <= 'u') goto yy255; if (yych <= 'z') goto yy147; goto yy3; } } } yy401: YYDEBUG(401, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'D') goto yy3; goto yy205; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy285; if (yych <= 'z') goto yy147; goto yy3; } } yy402: YYDEBUG(402, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'D') goto yy3; goto yy186; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy266; if (yych <= 'z') goto yy147; goto yy3; } } yy403: YYDEBUG(403, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy404; if (yych <= 'z') goto yy134; goto yy3; } } yy404: YYDEBUG(404, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'M') goto yy135; goto yy406; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych >= 'a') goto yy135; } else { if (yych <= 'n') goto yy406; if (yych <= 'z') goto yy135; } } yy405: YYDEBUG(405, *YYCURSOR); #line 1336 "parse_date.db.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 7114 "" yy406: YYDEBUG(406, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy407; if (yych <= 'z') goto yy136; goto yy3; } } yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy137; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 's') goto yy408; if (yych <= 'z') goto yy137; goto yy3; } } yy408: YYDEBUG(408, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy409; if (yych != 'd') goto yy3; } yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy410; if (yych != 'a') goto yy53; yy410: YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych != 'y') goto yy53; yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; goto yy405; yy412: YYDEBUG(412, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy404; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy413; if (yych <= 'z') goto yy139; goto yy3; } } yy413: YYDEBUG(413, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'M') goto yy135; goto yy406; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'n') goto yy414; if (yych <= 'z') goto yy144; goto yy405; } } yy414: YYDEBUG(414, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; goto yy407; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy415; if (yych <= 'z') goto yy145; goto yy3; } } yy415: YYDEBUG(415, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy137; goto yy408; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy416; if (yych <= 'z') goto yy146; goto yy3; } } yy416: YYDEBUG(416, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'C') goto yy3; goto yy409; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy417; if (yych <= 'z') goto yy147; goto yy3; } } yy417: YYDEBUG(417, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy410; if (yych != 'a') goto yy148; YYDEBUG(418, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych != 'y') goto yy148; yy419: YYDEBUG(419, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy405; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy405; if (yych <= 'z') goto yy147; goto yy405; } yy420: YYDEBUG(420, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'c') goto yy421; if (yych <= 'z') goto yy134; goto yy3; } } yy421: YYDEBUG(421, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych == 'E') goto yy429; goto yy135; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy429; if (yych <= 'z') goto yy135; goto yy3; } } } yy422: YYDEBUG(422, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 20) YYFILL(20); yych = *YYCURSOR; yy423: YYDEBUG(423, *YYCURSOR); if (yybm[0+yych] & 64) { goto yy422; } if (yych <= '/') goto yy53; if (yych <= '2') goto yy425; if (yych <= '3') goto yy427; if (yych <= '9') goto yy428; goto yy53; yy424: YYDEBUG(424, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy423; if (yych <= '0') goto yy511; if (yych <= '2') goto yy512; if (yych <= '3') goto yy513; goto yy423; yy425: YYDEBUG(425, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; goto yy493; } else { if (yych <= '2') goto yy510; if (yych <= '9') goto yy493; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy426: YYDEBUG(426, *YYCURSOR); #line 1151 "parse_date.db.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 7455 "" yy427: YYDEBUG(427, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; goto yy493; } else { if (yych <= '2') goto yy434; if (yych <= '9') goto yy435; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy428: YYDEBUG(428, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; goto yy433; } else { if (yych <= '2') goto yy434; if (yych <= '9') goto yy435; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy429: YYDEBUG(429, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy136; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'm') goto yy430; if (yych <= 'z') goto yy136; goto yy3; } } yy430: YYDEBUG(430, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy137; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'b') goto yy431; if (yych <= 'z') goto yy137; goto yy3; } } yy431: YYDEBUG(431, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy432; if (yych != 'e') goto yy3; } yy432: YYDEBUG(432, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy422; if (yych == 'r') goto yy422; goto yy53; yy433: YYDEBUG(433, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy492; if (yych <= ':') goto yy446; goto yy426; } yy434: YYDEBUG(434, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '3') goto yy492; if (yych <= '9') goto yy489; if (yych <= ':') goto yy446; goto yy426; } yy435: YYDEBUG(435, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy489; if (yych <= ':') goto yy446; goto yy426; } yy436: YYDEBUG(436, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); goto yy441; yy437: YYDEBUG(437, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); goto yy441; yy438: YYDEBUG(438, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); goto yy441; yy439: YYDEBUG(439, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); goto yy441; yy440: YYDEBUG(440, *YYCURSOR); yyaccept = 6; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); yych = *YYCURSOR; yy441: YYDEBUG(441, *YYCURSOR); if (yybm[0+yych] & 128) { goto yy440; } if (yych <= '2') { if (yych <= '/') goto yy426; if (yych <= '1') goto yy482; goto yy483; } else { if (yych <= '9') goto yy484; if (yych != 'T') goto yy426; } YYDEBUG(442, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy443; if (yych <= '2') goto yy444; if (yych <= '9') goto yy445; goto yy53; yy443: YYDEBUG(443, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy446; goto yy53; } else { if (yych <= '9') goto yy445; if (yych <= ':') goto yy446; goto yy53; } yy444: YYDEBUG(444, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy446; goto yy53; } else { if (yych <= '3') goto yy445; if (yych == ':') goto yy446; goto yy53; } yy445: YYDEBUG(445, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy446; if (yych != ':') goto yy53; yy446: YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy447; if (yych <= '9') goto yy449; goto yy53; yy447: YYDEBUG(447, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy450; } else { if (yych <= '9') goto yy449; if (yych <= ':') goto yy450; } yy448: YYDEBUG(448, *YYCURSOR); #line 1383 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 7723 "" yy449: YYDEBUG(449, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy450; if (yych != ':') goto yy448; yy450: YYDEBUG(450, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy451; if (yych <= '6') goto yy452; if (yych <= '9') goto yy453; goto yy53; yy451: YYDEBUG(451, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy448; if (yych <= '9') goto yy454; goto yy448; yy452: YYDEBUG(452, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy454; goto yy448; yy453: YYDEBUG(453, *YYCURSOR); yych = *++YYCURSOR; goto yy448; yy454: YYDEBUG(454, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { if (yych != '\t') goto yy448; } else { if (yych <= ' ') goto yy455; if (yych == '(') goto yy458; goto yy448; } } else { if (yych <= '@') { if (yych == ',') goto yy448; if (yych <= '-') goto yy457; goto yy448; } else { if (yych <= 'Z') goto yy459; if (yych <= '`') goto yy448; if (yych <= 'z') goto yy460; goto yy448; } } yy455: YYDEBUG(455, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; YYDEBUG(456, *YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { if (yych == '\t') goto yy455; goto yy53; } else { if (yych <= ' ') goto yy455; if (yych == '(') goto yy458; goto yy53; } } else { if (yych <= '@') { if (yych == ',') goto yy53; if (yych >= '.') goto yy53; } else { if (yych <= 'Z') goto yy459; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy460; goto yy53; } } yy457: YYDEBUG(457, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy477; if (yych <= '2') goto yy478; if (yych <= '9') goto yy479; goto yy53; yy458: YYDEBUG(458, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy53; if (yych <= 'Z') goto yy460; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy460; goto yy53; yy459: YYDEBUG(459, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy461; if (yych <= '`') goto yy448; if (yych <= 'z') goto yy466; goto yy448; } yy460: YYDEBUG(460, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy461; if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } yy461: YYDEBUG(461, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy462; if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy463; if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } yy463: YYDEBUG(463, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy464; if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } yy464: YYDEBUG(464, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy453; goto yy448; } else { if (yych <= 'Z') goto yy465; if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } yy465: YYDEBUG(465, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy453; goto yy448; yy466: YYDEBUG(466, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy448; goto yy453; } else { if (yych == '/') goto yy468; goto yy448; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy462; if (yych <= '^') goto yy448; goto yy468; } else { if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } } YYDEBUG(467, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy448; goto yy453; } else { if (yych != '/') goto yy448; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy463; if (yych <= '^') goto yy448; } else { if (yych <= '`') goto yy448; if (yych <= 'z') goto yy472; goto yy448; } } yy468: YYDEBUG(468, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; YYDEBUG(469, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy53; if (yych >= '{') goto yy53; yy470: YYDEBUG(470, *YYCURSOR); yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(471, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy468; goto yy448; } else { if (yych <= '_') goto yy468; if (yych <= '`') goto yy448; if (yych <= 'z') goto yy470; goto yy448; } yy472: YYDEBUG(472, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy448; goto yy453; } else { if (yych == '/') goto yy468; goto yy448; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy464; if (yych <= '^') goto yy448; goto yy468; } else { if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } } YYDEBUG(473, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy448; goto yy453; } else { if (yych == '/') goto yy468; goto yy448; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy465; if (yych <= '^') goto yy448; goto yy468; } else { if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } } YYDEBUG(474, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy453; if (yych <= '.') goto yy448; goto yy468; } else { if (yych <= '_') { if (yych <= '^') goto yy448; goto yy468; } else { if (yych <= '`') goto yy448; if (yych >= '{') goto yy448; } } yy475: YYDEBUG(475, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(476, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy468; goto yy53; } else { if (yych <= '_') goto yy468; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy475; goto yy53; } yy477: YYDEBUG(477, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy448; if (yych <= '9') goto yy479; if (yych <= ':') goto yy480; goto yy448; yy478: YYDEBUG(478, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy448; if (yych >= '4') goto yy481; } else { if (yych <= '9') goto yy453; if (yych <= ':') goto yy480; goto yy448; } yy479: YYDEBUG(479, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy448; if (yych <= '5') goto yy481; if (yych <= '9') goto yy453; if (yych >= ';') goto yy448; yy480: YYDEBUG(480, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy448; if (yych <= '5') goto yy481; if (yych <= '9') goto yy453; goto yy448; yy481: YYDEBUG(481, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy448; if (yych <= '9') goto yy453; goto yy448; yy482: YYDEBUG(482, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy488; if (yych <= ':') goto yy446; goto yy426; } yy483: YYDEBUG(483, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '3') goto yy488; if (yych <= '9') goto yy485; if (yych <= ':') goto yy446; goto yy426; } yy484: YYDEBUG(484, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy485; if (yych <= ':') goto yy446; goto yy426; } yy485: YYDEBUG(485, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy426; if (yych >= ':') goto yy426; yy486: YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy426; if (yych >= ':') goto yy426; yy487: YYDEBUG(487, *YYCURSOR); yych = *++YYCURSOR; goto yy426; yy488: YYDEBUG(488, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy486; if (yych <= ':') goto yy446; goto yy426; } yy489: YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy426; if (yych >= ':') goto yy426; yy490: YYDEBUG(490, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy491; if (yych <= '9') goto yy487; yy491: YYDEBUG(491, *YYCURSOR); #line 1125 "parse_date.db.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 8161 "" yy492: YYDEBUG(492, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy490; if (yych <= ':') goto yy446; goto yy426; } yy493: YYDEBUG(493, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych != '.') goto yy441; } else { if (yych <= '1') goto yy495; if (yych <= '2') goto yy496; if (yych <= '9') goto yy497; goto yy446; } } else { if (yych <= 'q') { if (yych == 'n') goto yy437; goto yy441; } else { if (yych <= 'r') goto yy438; if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy494: YYDEBUG(494, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '2') { if (yych <= '/') goto yy441; if (yych <= '1') goto yy500; goto yy501; } else { if (yych <= '5') goto yy502; if (yych <= '9') goto yy503; goto yy441; } yy495: YYDEBUG(495, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy499; if (yych <= ':') goto yy446; goto yy426; } yy496: YYDEBUG(496, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '3') goto yy499; if (yych <= '9') goto yy498; if (yych <= ':') goto yy446; goto yy426; } yy497: YYDEBUG(497, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy426; } else { if (yych <= '9') goto yy498; if (yych <= ':') goto yy446; goto yy426; } yy498: YYDEBUG(498, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy491; if (yych <= '9') goto yy486; goto yy491; yy499: YYDEBUG(499, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy446; goto yy491; } else { if (yych <= '9') goto yy486; if (yych <= ':') goto yy446; goto yy491; } yy500: YYDEBUG(500, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy504; goto yy426; } else { if (yych <= '9') goto yy509; if (yych <= ':') goto yy504; goto yy426; } yy501: YYDEBUG(501, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy504; goto yy426; } else { if (yych <= '3') goto yy509; if (yych <= '9') goto yy508; if (yych <= ':') goto yy504; goto yy426; } yy502: YYDEBUG(502, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy504; goto yy426; } else { if (yych <= '9') goto yy508; if (yych <= ':') goto yy504; goto yy426; } yy503: YYDEBUG(503, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy426; } else { if (yych <= '9') goto yy485; if (yych >= ';') goto yy426; } yy504: YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy505; if (yych <= '6') goto yy506; if (yych <= '9') goto yy449; goto yy53; yy505: YYDEBUG(505, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy450; goto yy448; } else { if (yych <= '9') goto yy507; if (yych <= ':') goto yy450; goto yy448; } yy506: YYDEBUG(506, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy450; goto yy448; } else { if (yych <= '0') goto yy454; if (yych == ':') goto yy450; goto yy448; } yy507: YYDEBUG(507, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { if (yych == '\t') goto yy455; if (yych <= 0x1F) goto yy448; goto yy455; } else { if (yych <= '(') { if (yych <= '\'') goto yy448; goto yy458; } else { if (yych == '+') goto yy457; goto yy448; } } } else { if (yych <= ':') { if (yych <= '-') goto yy457; if (yych <= '.') goto yy450; if (yych <= '9') goto yy448; goto yy450; } else { if (yych <= 'Z') { if (yych <= '@') goto yy448; goto yy459; } else { if (yych <= '`') goto yy448; if (yych <= 'z') goto yy460; goto yy448; } } } yy508: YYDEBUG(508, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy450; goto yy426; } else { if (yych <= '9') goto yy486; if (yych <= ':') goto yy450; goto yy426; } yy509: YYDEBUG(509, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy504; goto yy426; } else { if (yych <= '9') goto yy486; if (yych <= ':') goto yy504; goto yy426; } yy510: YYDEBUG(510, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych == '.') goto yy494; goto yy441; } else { if (yych <= '1') goto yy495; if (yych <= '2') goto yy496; if (yych <= '9') goto yy497; goto yy446; } } else { if (yych <= 'q') { if (yych == 'n') goto yy437; goto yy441; } else { if (yych <= 'r') goto yy438; if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy511: YYDEBUG(511, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; if (yych <= '0') goto yy493; goto yy514; } else { if (yych <= '2') goto yy521; if (yych <= '9') goto yy514; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy512: YYDEBUG(512, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; goto yy514; } else { if (yych <= '2') goto yy521; if (yych <= '9') goto yy514; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy513: YYDEBUG(513, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy441; } else { if (yych <= '2') goto yy434; if (yych <= '9') goto yy435; goto yy441; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy437; if (yych <= 'q') goto yy441; goto yy438; } else { if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy514: YYDEBUG(514, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy441; if (yych >= '.') goto yy494; } else { if (yych <= '/') goto yy441; if (yych <= '1') goto yy495; if (yych <= '2') goto yy496; goto yy497; } } else { if (yych <= 'q') { if (yych <= ':') goto yy446; if (yych == 'n') goto yy437; goto yy441; } else { if (yych <= 'r') goto yy438; if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(516, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy517; if (yych <= '9') goto yy518; yy517: YYDEBUG(517, *YYCURSOR); #line 1265 "parse_date.db.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 8550 "" yy518: YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy517; if (yych >= ':') goto yy517; YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy517; if (yych >= ':') goto yy517; YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; goto yy517; yy521: YYDEBUG(521, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy441; if (yych <= '-') goto yy515; goto yy494; } else { if (yych <= '/') goto yy441; if (yych <= '1') goto yy495; if (yych <= '2') goto yy496; goto yy497; } } else { if (yych <= 'q') { if (yych <= ':') goto yy446; if (yych == 'n') goto yy437; goto yy441; } else { if (yych <= 'r') goto yy438; if (yych <= 's') goto yy436; if (yych <= 't') goto yy439; goto yy441; } } yy522: YYDEBUG(522, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; goto yy421; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'c') goto yy523; if (yych <= 'z') goto yy139; goto yy3; } } yy523: YYDEBUG(523, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'E') goto yy429; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'd') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'e') goto yy524; if (yych <= 'z') goto yy144; goto yy3; } } } yy524: YYDEBUG(524, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy136; goto yy430; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'm') goto yy525; if (yych <= 'z') goto yy145; goto yy3; } } yy525: YYDEBUG(525, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy137; goto yy431; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'b') goto yy526; if (yych <= 'z') goto yy146; goto yy3; } } yy526: YYDEBUG(526, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'D') goto yy3; goto yy432; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy527; if (yych <= 'z') goto yy147; goto yy3; } } yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'R') goto yy422; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 'r') goto yy528; if (yych <= 'z') goto yy147; goto yy53; } } yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy140; goto yy423; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy423; if (yych <= 'z') goto yy147; goto yy423; } yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy530; if (yych <= 'z') goto yy134; goto yy3; } } yy530: YYDEBUG(530, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'O') goto yy135; } } else { if (yych <= 'n') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy531; if (yych <= 'z') goto yy135; goto yy3; } } } yy531: YYDEBUG(531, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy136; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'b') goto yy532; if (yych <= 'z') goto yy136; goto yy3; } } yy532: YYDEBUG(532, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'e') goto yy533; if (yych <= 'z') goto yy137; goto yy3; } } yy533: YYDEBUG(533, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy422; if (yych == 'r') goto yy422; goto yy3; } yy534: YYDEBUG(534, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy530; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy535; if (yych <= 'z') goto yy139; goto yy3; } } yy535: YYDEBUG(535, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'N') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'O') goto yy531; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'n') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'o') goto yy536; if (yych <= 'z') goto yy144; goto yy3; } } } yy536: YYDEBUG(536, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy136; goto yy532; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'b') goto yy537; if (yych <= 'z') goto yy145; goto yy3; } } yy537: YYDEBUG(537, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy137; goto yy533; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy538; if (yych <= 'z') goto yy146; goto yy3; } } yy538: YYDEBUG(538, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'Q') goto yy3; goto yy422; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy528; if (yych <= 'z') goto yy147; goto yy3; } } yy539: YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') { if (yych <= 'C') goto yy555; goto yy134; } else { if (yych <= 'P') goto yy554; if (yych <= 'U') goto yy134; goto yy556; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych == 'c') goto yy555; goto yy134; } } else { if (yych <= 'u') { if (yych <= 'p') goto yy554; goto yy134; } else { if (yych <= 'v') goto yy556; if (yych <= 'z') goto yy134; goto yy3; } } } yy540: YYDEBUG(540, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy549; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy549; if (yych <= 'z') goto yy134; goto yy3; } } yy541: YYDEBUG(541, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy547; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy547; if (yych <= 'z') goto yy134; goto yy3; } } yy542: YYDEBUG(542, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy543; if (yych <= 'z') goto yy134; goto yy3; } } yy543: YYDEBUG(543, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 'd') goto yy544; if (yych <= 'z') goto yy135; goto yy405; } } yy544: YYDEBUG(544, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; goto yy3; } else { if (yych <= 'a') goto yy545; if (yych <= 'z') goto yy136; goto yy3; } } yy545: YYDEBUG(545, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'y') goto yy546; if (yych <= 'z') goto yy137; goto yy3; } } yy546: YYDEBUG(546, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy132; goto yy405; yy547: YYDEBUG(547, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy548; if (yych <= 'z') goto yy135; goto yy3; } } yy548: YYDEBUG(548, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'h') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy549: YYDEBUG(549, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'T') goto yy135; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 'u') goto yy550; if (yych <= 'z') goto yy135; goto yy405; } } yy550: YYDEBUG(550, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy136; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'r') goto yy551; if (yych <= 'z') goto yy136; goto yy3; } } yy551: YYDEBUG(551, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'd') goto yy552; if (yych <= 'z') goto yy137; goto yy3; } } yy552: YYDEBUG(552, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy553; if (yych != 'a') goto yy3; } yy553: YYDEBUG(553, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych == 'y') goto yy411; goto yy53; yy554: YYDEBUG(554, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych == 'T') goto yy563; goto yy135; } } else { if (yych <= 's') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy563; if (yych <= 'z') goto yy135; goto yy3; } } } yy555: YYDEBUG(555, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy560; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy560; if (yych <= 'z') goto yy135; goto yy3; } } yy556: YYDEBUG(556, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy557; if (yych <= 'z') goto yy135; goto yy3; } } yy557: YYDEBUG(557, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy136; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'n') goto yy558; if (yych <= 'z') goto yy136; goto yy3; } } yy558: YYDEBUG(558, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 't') goto yy559; if (yych <= 'z') goto yy137; goto yy3; } } yy559: YYDEBUG(559, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy163; if (yych == 'h') goto yy163; goto yy3; } yy560: YYDEBUG(560, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy136; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'n') goto yy561; if (yych <= 'z') goto yy136; goto yy3; } } yy561: YYDEBUG(561, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'd') goto yy562; if (yych <= 'z') goto yy137; goto yy3; } } yy562: YYDEBUG(562, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy164; if (yych <= 0x1F) goto yy3; goto yy164; } else { if (yych == ')') goto yy132; if (yych <= 'C') goto yy3; goto yy164; } } else { if (yych <= 'H') { if (yych == 'F') goto yy164; if (yych <= 'G') goto yy3; goto yy164; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy164; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy164; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy164; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy164; goto yy3; } else { if (yych == 'g') goto yy3; goto yy164; } } } else { if (yych <= 't') { if (yych == 'm') goto yy164; if (yych <= 'r') goto yy3; goto yy164; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy164; } else { if (yych == 'y') goto yy164; goto yy3; } } } } yy563: YYDEBUG(563, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'E') goto yy136; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy564; if (yych <= 'z') goto yy136; goto yy3; } } } yy564: YYDEBUG(564, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy137; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'm') goto yy565; if (yych <= 'z') goto yy137; goto yy3; } } yy565: YYDEBUG(565, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'B') goto yy566; if (yych != 'b') goto yy3; } yy566: YYDEBUG(566, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy567; if (yych != 'e') goto yy53; yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy422; if (yych == 'r') goto yy422; goto yy53; yy568: YYDEBUG(568, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= 'O') { if (yych == 'C') goto yy555; goto yy134; } else { if (yych <= 'P') goto yy554; if (yych <= 'U') goto yy134; goto yy556; } } } else { if (yych <= 'c') { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'b') goto yy139; goto yy584; } } else { if (yych <= 'u') { if (yych == 'p') goto yy583; goto yy139; } else { if (yych <= 'v') goto yy585; if (yych <= 'z') goto yy139; goto yy3; } } } yy569: YYDEBUG(569, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy549; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy578; if (yych <= 'z') goto yy139; goto yy3; } } yy570: YYDEBUG(570, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy547; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'x') goto yy576; if (yych <= 'z') goto yy139; goto yy3; } } yy571: YYDEBUG(571, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy543; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy572; if (yych <= 'z') goto yy139; goto yy3; } } yy572: YYDEBUG(572, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; goto yy544; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'd') goto yy573; if (yych <= 'z') goto yy144; goto yy405; } } yy573: YYDEBUG(573, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy545; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy574; if (yych <= 'z') goto yy145; goto yy3; } } yy574: YYDEBUG(574, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy575; if (yych <= 'z') goto yy146; goto yy3; } } yy575: YYDEBUG(575, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy405; goto yy140; } else { if (yych <= '_') { if (yych <= '^') goto yy405; goto yy140; } else { if (yych <= '`') goto yy405; if (yych <= 'z') goto yy147; goto yy405; } } yy576: YYDEBUG(576, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy548; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy577; if (yych <= 'z') goto yy144; goto yy3; } } yy577: YYDEBUG(577, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy578: YYDEBUG(578, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'T') goto yy135; goto yy550; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'u') goto yy579; if (yych <= 'z') goto yy144; goto yy405; } } yy579: YYDEBUG(579, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy136; goto yy551; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy580; if (yych <= 'z') goto yy145; goto yy3; } } yy580: YYDEBUG(580, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; goto yy552; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy581; if (yych <= 'z') goto yy146; goto yy3; } } yy581: YYDEBUG(581, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy553; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych <= 'a') goto yy582; if (yych <= 'z') goto yy147; goto yy3; } } yy582: YYDEBUG(582, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych == 'y') goto yy419; goto yy148; yy583: YYDEBUG(583, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'S') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'T') goto yy563; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 's') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 't') goto yy592; if (yych <= 'z') goto yy144; goto yy3; } } } yy584: YYDEBUG(584, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy560; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy589; if (yych <= 'z') goto yy144; goto yy3; } } yy585: YYDEBUG(585, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; goto yy557; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy586; if (yych <= 'z') goto yy144; goto yy3; } } yy586: YYDEBUG(586, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy136; goto yy558; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy587; if (yych <= 'z') goto yy145; goto yy3; } } yy587: YYDEBUG(587, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; goto yy559; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy588; if (yych <= 'z') goto yy146; goto yy3; } } yy588: YYDEBUG(588, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'G') goto yy3; goto yy163; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy245; if (yych <= 'z') goto yy147; goto yy3; } } yy589: YYDEBUG(589, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy136; goto yy561; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy590; if (yych <= 'z') goto yy145; goto yy3; } } yy590: YYDEBUG(590, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; goto yy562; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy591; if (yych <= 'z') goto yy146; goto yy3; } } yy591: YYDEBUG(591, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': goto yy164; case ')': goto yy132; case '/': case '_': goto yy140; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy147; case 'd': goto yy249; case 'f': goto yy251; case 'h': goto yy248; case 'm': goto yy247; case 's': goto yy246; case 't': goto yy253; case 'w': goto yy250; case 'y': goto yy252; default: goto yy3; } yy592: YYDEBUG(592, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy3; goto yy136; } else { if (yych <= 'E') goto yy564; if (yych <= 'Z') goto yy136; goto yy3; } } else { if (yych <= 'd') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy145; } else { if (yych <= 'e') goto yy593; if (yych <= 'z') goto yy145; goto yy3; } } } yy593: YYDEBUG(593, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy137; goto yy565; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'm') goto yy594; if (yych <= 'z') goto yy146; goto yy3; } } yy594: YYDEBUG(594, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'A') goto yy3; goto yy566; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'b') goto yy595; if (yych <= 'z') goto yy147; goto yy3; } } yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy567; if (yych != 'e') goto yy148; YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'R') goto yy422; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 'r') goto yy528; if (yych <= 'z') goto yy147; goto yy53; } } yy597: YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy605; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy605; if (yych <= 'z') goto yy134; goto yy3; } } yy598: YYDEBUG(598, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy602; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'r') goto yy602; if (yych <= 'z') goto yy134; goto yy3; } } yy599: YYDEBUG(599, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'o') goto yy600; if (yych <= 'z') goto yy134; goto yy3; } } yy600: YYDEBUG(600, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy601; if (yych <= 'z') goto yy135; } yy601: YYDEBUG(601, *YYCURSOR); #line 1321 "parse_date.db.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } #line 10510 "" yy602: YYDEBUG(602, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'I') goto yy135; } } else { if (yych <= 'h') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'i') goto yy603; if (yych <= 'z') goto yy135; goto yy3; } } } yy603: YYDEBUG(603, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy136; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'l') goto yy604; if (yych <= 'z') goto yy136; goto yy3; } } yy604: YYDEBUG(604, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy423; goto yy3; } else { if (yych <= ' ') goto yy423; if (yych == ')') goto yy132; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy137; goto yy3; } } yy605: YYDEBUG(605, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'U') goto yy135; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy606; if (yych <= 'z') goto yy135; goto yy3; } } } yy606: YYDEBUG(606, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy136; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 's') goto yy607; if (yych <= 'z') goto yy136; goto yy3; } } yy607: YYDEBUG(607, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 't') goto yy608; if (yych <= 'z') goto yy137; goto yy3; } } yy608: YYDEBUG(608, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '.') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } } yy609: YYDEBUG(609, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy605; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'g') goto yy616; if (yych <= 'z') goto yy139; goto yy3; } } yy610: YYDEBUG(610, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy602; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy613; if (yych <= 'z') goto yy139; goto yy3; } } yy611: YYDEBUG(611, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; goto yy600; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy612; if (yych <= 'z') goto yy139; goto yy3; } } yy612: YYDEBUG(612, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy601; goto yy132; } else { if (yych == '/') goto yy140; goto yy601; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy601; goto yy140; } else { if (yych <= '`') goto yy601; if (yych <= 'z') goto yy144; goto yy601; } } yy613: YYDEBUG(613, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'I') goto yy603; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'h') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'i') goto yy614; if (yych <= 'z') goto yy144; goto yy3; } } } yy614: YYDEBUG(614, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy136; goto yy604; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'l') goto yy615; if (yych <= 'z') goto yy145; goto yy3; } } yy615: YYDEBUG(615, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'Z') { if (yych <= '/') goto yy140; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy137; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy146; goto yy3; } } } yy616: YYDEBUG(616, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'T') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'U') goto yy606; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 't') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'u') goto yy617; if (yych <= 'z') goto yy144; goto yy3; } } } yy617: YYDEBUG(617, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy136; goto yy607; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy618; if (yych <= 'z') goto yy145; goto yy3; } } yy618: YYDEBUG(618, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; goto yy608; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy619; if (yych <= 'z') goto yy146; goto yy3; } } yy619: YYDEBUG(619, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy423; goto yy3; } else { if (yych <= ' ') goto yy423; if (yych == ')') goto yy132; goto yy3; } } else { if (yych <= '^') { if (yych == '/') goto yy140; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy147; goto yy3; } } yy620: YYDEBUG(620, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy634; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'b') goto yy634; if (yych <= 'z') goto yy134; goto yy3; } } yy621: YYDEBUG(621, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'F') goto yy631; if (yych <= 'Q') goto yy134; goto yy630; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy134; goto yy631; } else { if (yych == 'r') goto yy630; if (yych <= 'z') goto yy134; goto yy3; } } yy622: YYDEBUG(622, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy627; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'u') goto yy627; if (yych <= 'z') goto yy134; goto yy3; } } yy623: YYDEBUG(623, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'i') goto yy624; if (yych <= 'z') goto yy134; goto yy3; } } yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 'd') goto yy625; if (yych <= 'z') goto yy135; goto yy405; } } yy625: YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; goto yy3; } else { if (yych <= 'a') goto yy626; if (yych <= 'z') goto yy136; goto yy3; } } yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; goto yy546; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'y') goto yy546; if (yych <= 'z') goto yy137; goto yy3; } } yy627: YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy628; if (yych <= 'z') goto yy135; goto yy3; } } yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 't') goto yy629; if (yych <= 'z') goto yy136; goto yy3; } } yy629: YYDEBUG(629, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy137; goto yy562; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'h') goto yy562; if (yych <= 'z') goto yy137; goto yy3; } } yy630: YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy633; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 's') goto yy633; if (yych <= 'z') goto yy135; goto yy3; } } yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy632; if (yych <= 'z') goto yy135; goto yy3; } } yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'h') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; goto yy376; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 't') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy634: YYDEBUG(634, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'R') goto yy135; } } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy635; if (yych <= 'z') goto yy135; goto yy3; } } } yy635: YYDEBUG(635, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy136; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'u') goto yy636; if (yych <= 'z') goto yy136; goto yy3; } } yy636: YYDEBUG(636, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= 'a') goto yy637; if (yych <= 'z') goto yy137; goto yy3; } } yy637: YYDEBUG(637, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy638; if (yych != 'r') goto yy3; } yy638: YYDEBUG(638, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy422; if (yych == 'y') goto yy422; goto yy53; yy639: YYDEBUG(639, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy634; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'b') goto yy653; if (yych <= 'z') goto yy139; goto yy3; } } yy640: YYDEBUG(640, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'E') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'F') goto yy631; if (yych <= 'Q') goto yy134; goto yy630; } } } else { if (yych <= 'e') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 'q') { if (yych <= 'f') goto yy650; goto yy139; } else { if (yych <= 'r') goto yy649; if (yych <= 'z') goto yy139; goto yy3; } } } yy641: YYDEBUG(641, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy627; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'u') goto yy646; if (yych <= 'z') goto yy139; goto yy3; } } yy642: YYDEBUG(642, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy624; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'i') goto yy643; if (yych <= 'z') goto yy139; goto yy3; } } yy643: YYDEBUG(643, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; goto yy625; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'd') goto yy644; if (yych <= 'z') goto yy144; goto yy405; } } yy644: YYDEBUG(644, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy626; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy645; if (yych <= 'z') goto yy145; goto yy3; } } yy645: YYDEBUG(645, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy575; if (yych <= 'z') goto yy146; goto yy3; } } yy646: YYDEBUG(646, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; goto yy628; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy647; if (yych <= 'z') goto yy144; goto yy3; } } yy647: YYDEBUG(647, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; goto yy629; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy648; if (yych <= 'z') goto yy145; goto yy3; } } yy648: YYDEBUG(648, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy137; goto yy562; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy591; if (yych <= 'z') goto yy146; goto yy3; } } yy649: YYDEBUG(649, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy633; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy652; if (yych <= 'z') goto yy144; goto yy3; } } yy650: YYDEBUG(650, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy632; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy651; if (yych <= 'z') goto yy144; goto yy3; } } yy651: YYDEBUG(651, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy652: YYDEBUG(652, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy653: YYDEBUG(653, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'Q') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'R') goto yy635; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'q') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'r') goto yy654; if (yych <= 'z') goto yy144; goto yy3; } } } yy654: YYDEBUG(654, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy136; goto yy636; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'u') goto yy655; if (yych <= 'z') goto yy145; goto yy3; } } yy655: YYDEBUG(655, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy637; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy137; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy656; if (yych <= 'z') goto yy146; goto yy3; } } yy656: YYDEBUG(656, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'Q') goto yy3; goto yy638; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy657; if (yych <= 'z') goto yy147; goto yy3; } } yy657: YYDEBUG(657, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'Y') goto yy422; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 'y') goto yy528; if (yych <= 'z') goto yy147; goto yy53; } } yy658: YYDEBUG(658, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'L') goto yy665; if (yych <= 'M') goto yy134; goto yy664; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy134; goto yy665; } else { if (yych == 'n') goto yy664; if (yych <= 'z') goto yy134; goto yy3; } } yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy660; if (yych <= 'z') goto yy134; goto yy3; } } yy660: YYDEBUG(660, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'U') goto yy135; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy661; if (yych <= 'z') goto yy135; goto yy3; } } } yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; goto yy3; } else { if (yych <= 'a') goto yy662; if (yych <= 'z') goto yy136; goto yy3; } } yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'r') goto yy663; if (yych <= 'z') goto yy137; goto yy3; } } yy663: YYDEBUG(663, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy422; if (yych == 'y') goto yy422; goto yy3; } yy664: YYDEBUG(664, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych == 'E') goto yy666; goto yy135; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy666; if (yych <= 'z') goto yy135; goto yy3; } } } yy665: YYDEBUG(665, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'Y') goto yy135; } } else { if (yych <= 'x') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'y') goto yy666; if (yych <= 'z') goto yy135; goto yy3; } } } yy666: YYDEBUG(666, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy423; goto yy3; } else { if (yych <= ' ') goto yy423; if (yych == ')') goto yy132; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy667: YYDEBUG(667, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'K') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'L') goto yy665; if (yych <= 'M') goto yy134; goto yy664; } } } else { if (yych <= 'k') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 'm') { if (yych <= 'l') goto yy674; goto yy139; } else { if (yych <= 'n') goto yy673; if (yych <= 'z') goto yy139; goto yy3; } } } yy668: YYDEBUG(668, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy660; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy669; if (yych <= 'z') goto yy139; goto yy3; } } yy669: YYDEBUG(669, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'T') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'U') goto yy661; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 't') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'u') goto yy670; if (yych <= 'z') goto yy144; goto yy3; } } } yy670: YYDEBUG(670, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy662; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy671; if (yych <= 'z') goto yy145; goto yy3; } } yy671: YYDEBUG(671, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; goto yy663; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy672; if (yych <= 'z') goto yy146; goto yy3; } } yy672: YYDEBUG(672, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'X') goto yy3; goto yy422; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy528; if (yych <= 'z') goto yy147; goto yy3; } } yy673: YYDEBUG(673, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'E') goto yy666; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'd') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'e') goto yy675; if (yych <= 'z') goto yy144; goto yy3; } } } yy674: YYDEBUG(674, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'X') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'Y') goto yy666; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'x') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'y') goto yy675; if (yych <= 'z') goto yy144; goto yy3; } } } yy675: YYDEBUG(675, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'Z') { if (yych <= '/') goto yy140; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy136; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy145; goto yy3; } } } yy676: YYDEBUG(676, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'Z') { if (yych >= 'J') goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } } yy677: YYDEBUG(677, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy423; goto yy3; } else { if (yych <= ' ') goto yy423; if (yych == ')') goto yy132; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy678: YYDEBUG(678, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'Z') { if (yych >= 'J') goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } } YYDEBUG(679, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy666; goto yy135; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } } yy680: YYDEBUG(680, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy423; goto yy3; } else { if (yych <= ' ') goto yy423; if (yych == ')') goto yy132; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy681: YYDEBUG(681, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy423; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy677; goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } } yy682: YYDEBUG(682, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy684; if (yych <= '0') goto yy932; if (yych <= '1') goto yy933; if (yych <= '9') goto yy934; goto yy684; yy683: YYDEBUG(683, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy684: YYDEBUG(684, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy683; case '-': case '.': goto yy783; case 'A': case 'a': goto yy702; case 'D': case 'd': goto yy688; case 'F': case 'f': goto yy689; case 'H': case 'h': goto yy60; case 'I': goto yy697; case 'J': case 'j': goto yy701; case 'M': case 'm': goto yy687; case 'N': case 'n': goto yy704; case 'O': case 'o': goto yy703; case 'P': case 'p': goto yy706; case 'S': case 's': goto yy685; case 'T': case 't': goto yy65; case 'V': goto yy699; case 'W': case 'w': goto yy62; case 'X': goto yy700; case 'Y': case 'y': goto yy64; default: goto yy53; } yy685: YYDEBUG(685, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1228; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy1228; if (yych == 'u') goto yy118; goto yy53; } } yy686: YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1228; if (yych == 'U') goto yy118; goto yy53; } } else { if (yych <= 'e') { if (yych <= 'a') goto yy119; if (yych <= 'd') goto yy53; goto yy1228; } else { if (yych <= 's') goto yy53; if (yych <= 't') goto yy929; if (yych <= 'u') goto yy118; goto yy53; } } yy687: YYDEBUG(687, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy798; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy798; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy688: YYDEBUG(688, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy785; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy785; goto yy53; } } yy689: YYDEBUG(689, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy801; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy801; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy690: YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy1227; } else { if (yych == 'u') goto yy67; goto yy53; } } yy691: YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy936; if (yych <= '/') goto yy57; if (yych <= '9') goto yy935; goto yy57; yy692: YYDEBUG(692, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy736; goto yy53; } else { if (yych <= 'd') goto yy929; if (yych == 'o') goto yy736; goto yy53; } yy693: YYDEBUG(693, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy929; goto yy53; yy694: YYDEBUG(694, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': case '1': case '2': goto yy869; case '3': goto yy871; case '4': case '5': case '6': case '7': case '8': case '9': goto yy872; case 'A': case 'a': goto yy876; case 'D': case 'd': goto yy880; case 'F': case 'f': goto yy874; case 'J': case 'j': goto yy873; case 'M': case 'm': goto yy875; case 'N': case 'n': goto yy879; case 'O': case 'o': goto yy878; case 'S': case 's': goto yy877; default: goto yy53; } yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy819; case '1': goto yy820; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy821; case 'A': case 'a': goto yy825; case 'D': case 'd': goto yy829; case 'F': case 'f': goto yy823; case 'J': case 'j': goto yy822; case 'M': case 'm': goto yy824; case 'N': case 'n': goto yy828; case 'O': case 'o': goto yy827; case 'S': case 's': goto yy826; default: goto yy784; } yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy784; if (yych <= '0') goto yy774; goto yy775; } else { if (yych <= '5') goto yy776; if (yych <= '9') goto yy777; goto yy784; } yy697: YYDEBUG(697, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '.') goto yy738; } } else { if (yych <= 'U') { if (yych <= '9') goto yy740; if (yych == 'I') goto yy773; } else { if (yych == 'W') goto yy698; if (yych <= 'X') goto yy746; } } yy698: YYDEBUG(698, *YYCURSOR); #line 1164 "parse_date.db.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 12973 "" yy699: YYDEBUG(699, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych == 'I') goto yy771; goto yy698; } } yy700: YYDEBUG(700, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych == 'I') goto yy770; goto yy698; } } yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy763; if (yych <= 'T') goto yy53; goto yy762; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy763; } else { if (yych == 'u') goto yy762; goto yy53; } } yy702: YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { if (yych == '.') goto yy707; goto yy53; } else { if (yych <= 'M') goto yy708; if (yych == 'P') goto yy756; goto yy53; } } else { if (yych <= 'o') { if (yych <= 'U') goto yy755; if (yych == 'm') goto yy708; goto yy53; } else { if (yych <= 'p') goto yy756; if (yych == 'u') goto yy755; goto yy53; } } yy703: YYDEBUG(703, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy750; if (yych == 'c') goto yy750; goto yy53; yy704: YYDEBUG(704, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy736; if (yych == 'o') goto yy736; goto yy53; yy705: YYDEBUG(705, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy712; if (yych <= '9') goto yy714; goto yy53; yy706: YYDEBUG(706, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy708; if (yych == 'm') goto yy708; goto yy53; } yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy708; if (yych != 'm') goto yy53; yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy710; if (yych == '\t') goto yy710; goto yy53; } else { if (yych <= ' ') goto yy710; if (yych != '.') goto yy53; } YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy710; if (yych <= 0x08) goto yy53; } else { if (yych != ' ') goto yy53; } yy710: YYDEBUG(710, *YYCURSOR); ++YYCURSOR; YYDEBUG(711, *YYCURSOR); #line 949 "parse_date.db.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 13130 "" yy712: YYDEBUG(712, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy715; } else { if (yych <= '9') goto yy729; if (yych <= ':') goto yy715; } yy713: YYDEBUG(713, *YYCURSOR); #line 966 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 13168 "" yy714: YYDEBUG(714, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy715; if (yych != ':') goto yy713; yy715: YYDEBUG(715, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy716; if (yych <= '6') goto yy717; if (yych <= '9') goto yy718; goto yy53; yy716: YYDEBUG(716, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych <= '9') goto yy722; goto yy713; yy717: YYDEBUG(717, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych == '0') goto yy722; goto yy713; yy718: YYDEBUG(718, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy713; yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy720: YYDEBUG(720, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(721, *YYCURSOR); if (yych <= '/') goto yy713; if (yych <= '9') goto yy720; goto yy713; yy722: YYDEBUG(722, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { if (yych != '\t') goto yy713; } else { if (yych <= ' ') goto yy723; if (yych == '.') goto yy719; goto yy713; } } else { if (yych <= '`') { if (yych <= 'A') goto yy725; if (yych == 'P') goto yy725; goto yy713; } else { if (yych <= 'a') goto yy725; if (yych == 'p') goto yy725; goto yy713; } } yy723: YYDEBUG(723, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(724, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy723; goto yy53; } else { if (yych <= ' ') goto yy723; if (yych <= '@') goto yy53; } } else { if (yych <= '`') { if (yych != 'P') goto yy53; } else { if (yych <= 'a') goto yy725; if (yych != 'p') goto yy53; } } yy725: YYDEBUG(725, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy727; if (yych == 'm') goto yy727; goto yy53; } YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy727; if (yych != 'm') goto yy53; yy727: YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy710; if (yych == '\t') goto yy710; goto yy53; } else { if (yych <= ' ') goto yy710; if (yych != '.') goto yy53; } YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy710; if (yych <= 0x08) goto yy53; goto yy710; } else { if (yych == ' ') goto yy710; goto yy53; } yy729: YYDEBUG(729, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy730; if (yych <= 0x1F) goto yy713; } else { if (yych == '.') goto yy715; if (yych <= '9') goto yy713; goto yy715; } } else { if (yych <= 'P') { if (yych == 'A') goto yy732; if (yych <= 'O') goto yy713; goto yy732; } else { if (yych <= 'a') { if (yych <= '`') goto yy713; goto yy732; } else { if (yych == 'p') goto yy732; goto yy713; } } } yy730: YYDEBUG(730, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(731, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy730; goto yy53; } else { if (yych <= ' ') goto yy730; if (yych <= '@') goto yy53; } } else { if (yych <= '`') { if (yych != 'P') goto yy53; } else { if (yych <= 'a') goto yy732; if (yych != 'p') goto yy53; } } yy732: YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy734; if (yych == 'm') goto yy734; goto yy53; } YYDEBUG(733, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy734; if (yych != 'm') goto yy53; yy734: YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy710; if (yych == '\t') goto yy710; goto yy53; } else { if (yych <= ' ') goto yy710; if (yych != '.') goto yy53; } YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy710; if (yych <= 0x08) goto yy53; goto yy710; } else { if (yych == ' ') goto yy710; goto yy53; } yy736: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy737; if (yych != 'v') goto yy53; yy737: YYDEBUG(737, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych != '\t') goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy742; if (yych == 'e') goto yy742; goto yy698; } } yy738: YYDEBUG(738, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy739: YYDEBUG(739, *YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy738; if (yych <= 0x1F) goto yy53; goto yy738; } else { if (yych <= '.') { if (yych <= ',') goto yy53; goto yy738; } else { if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; } } yy740: YYDEBUG(740, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy741; if (yych <= '9') goto yy747; yy741: YYDEBUG(741, *YYCURSOR); #line 1098 "parse_date.db.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 13449 "" yy742: YYDEBUG(742, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy743; if (yych != 'm') goto yy53; yy743: YYDEBUG(743, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy744; if (yych != 'b') goto yy53; yy744: YYDEBUG(744, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy745; if (yych != 'e') goto yy53; yy745: YYDEBUG(745, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy746; if (yych != 'r') goto yy53; yy746: YYDEBUG(746, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy738; if (yych <= 0x1F) goto yy698; goto yy738; } else { if (yych <= '.') { if (yych <= ',') goto yy698; goto yy738; } else { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } } yy747: YYDEBUG(747, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych >= ':') goto yy741; yy748: YYDEBUG(748, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych >= ':') goto yy741; YYDEBUG(749, *YYCURSOR); yych = *++YYCURSOR; goto yy741; yy750: YYDEBUG(750, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy751; if (yych != 't') goto yy53; yy751: YYDEBUG(751, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'N') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'O') goto yy752; if (yych != 'o') goto yy698; } } yy752: YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy753; if (yych != 'b') goto yy53; yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy754; if (yych != 'e') goto yy53; yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy746; if (yych == 'r') goto yy746; goto yy53; yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy759; if (yych == 'g') goto yy759; goto yy53; yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy757; if (yych != 'r') goto yy53; yy757: YYDEBUG(757, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'H') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'I') goto yy758; if (yych != 'i') goto yy698; } } yy758: YYDEBUG(758, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy746; if (yych == 'l') goto yy746; goto yy53; yy759: YYDEBUG(759, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'T') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'U') goto yy760; if (yych != 'u') goto yy698; } } yy760: YYDEBUG(760, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy761; if (yych != 's') goto yy53; yy761: YYDEBUG(761, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy746; if (yych == 't') goto yy746; goto yy53; yy762: YYDEBUG(762, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy769; if (yych <= 'M') goto yy53; goto yy768; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy769; } else { if (yych == 'n') goto yy768; goto yy53; } } yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy764; if (yych != 'n') goto yy53; yy764: YYDEBUG(764, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'T') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'U') goto yy765; if (yych != 'u') goto yy698; } } yy765: YYDEBUG(765, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy766; if (yych != 'a') goto yy53; yy766: YYDEBUG(766, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy767; if (yych != 'r') goto yy53; yy767: YYDEBUG(767, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy746; if (yych == 'y') goto yy746; goto yy53; yy768: YYDEBUG(768, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy746; if (yych == 'e') goto yy746; goto yy698; } } yy769: YYDEBUG(769, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'X') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'Y') goto yy746; if (yych == 'y') goto yy746; goto yy698; } } yy770: YYDEBUG(770, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych == 'I') goto yy746; goto yy698; } } yy771: YYDEBUG(771, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych != 'I') goto yy698; } } YYDEBUG(772, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych == 'I') goto yy746; goto yy698; } } yy773: YYDEBUG(773, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '9') { if (yych <= '.') goto yy738; if (yych <= '/') goto yy698; goto yy740; } else { if (yych == 'I') goto yy746; goto yy698; } } yy774: YYDEBUG(774, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; goto yy808; } else { if (yych <= '/') goto yy713; if (yych <= '9') goto yy818; if (yych <= ':') goto yy715; goto yy713; } yy775: YYDEBUG(775, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; if (yych <= '.') goto yy808; goto yy713; } else { if (yych <= '2') goto yy818; if (yych <= '9') goto yy729; if (yych <= ':') goto yy715; goto yy713; } yy776: YYDEBUG(776, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; goto yy808; } else { if (yych <= '/') goto yy713; if (yych <= '9') goto yy729; if (yych <= ':') goto yy715; goto yy713; } yy777: YYDEBUG(777, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; goto yy808; } else { if (yych == ':') goto yy715; goto yy713; } yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy801; if (yych == 'e') goto yy801; goto yy53; yy779: YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy798; if (yych == 'a') goto yy798; goto yy53; yy780: YYDEBUG(780, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy756; if (yych <= 'T') goto yy53; goto yy755; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy756; } else { if (yych == 'u') goto yy755; goto yy53; } } yy781: YYDEBUG(781, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy791; if (yych == 'e') goto yy791; goto yy53; yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy785; if (yych == 'e') goto yy785; goto yy53; yy783: YYDEBUG(783, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy784: YYDEBUG(784, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': case '.': goto yy783; case 'A': case 'a': goto yy780; case 'D': case 'd': goto yy782; case 'F': case 'f': goto yy778; case 'I': goto yy697; case 'J': case 'j': goto yy701; case 'M': case 'm': goto yy779; case 'N': case 'n': goto yy704; case 'O': case 'o': goto yy703; case 'S': case 's': goto yy781; case 'V': goto yy699; case 'X': goto yy700; default: goto yy53; } yy785: YYDEBUG(785, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy786; if (yych != 'c') goto yy53; yy786: YYDEBUG(786, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy787; if (yych != 'e') goto yy698; } } yy787: YYDEBUG(787, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy788; if (yych != 'm') goto yy53; yy788: YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy789; if (yych != 'b') goto yy53; yy789: YYDEBUG(789, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy790; if (yych != 'e') goto yy53; yy790: YYDEBUG(790, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy746; if (yych == 'r') goto yy746; goto yy53; yy791: YYDEBUG(791, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy792; if (yych != 'p') goto yy53; yy792: YYDEBUG(792, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'S') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'T') goto yy793; if (yych != 't') goto yy698; } } yy793: YYDEBUG(793, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy794; if (yych != 'e') goto yy698; } } yy794: YYDEBUG(794, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy795; if (yych != 'm') goto yy53; yy795: YYDEBUG(795, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy796; if (yych != 'b') goto yy53; yy796: YYDEBUG(796, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy797; if (yych != 'e') goto yy53; yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy746; if (yych == 'r') goto yy746; goto yy53; yy798: YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy799; if (yych <= 'X') goto yy53; goto yy746; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy746; goto yy53; } } yy799: YYDEBUG(799, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'B') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'C') goto yy800; if (yych != 'c') goto yy698; } } yy800: YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy746; if (yych == 'h') goto yy746; goto yy53; yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy802; if (yych != 'b') goto yy53; yy802: YYDEBUG(802, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; goto yy738; } } else { if (yych <= 'Q') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'R') goto yy803; if (yych != 'r') goto yy698; } } yy803: YYDEBUG(803, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy804; if (yych != 'u') goto yy53; yy804: YYDEBUG(804, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy805; if (yych != 'a') goto yy53; yy805: YYDEBUG(805, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy806; if (yych != 'r') goto yy53; yy806: YYDEBUG(806, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy746; if (yych == 'y') goto yy746; goto yy53; yy807: YYDEBUG(807, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy817; goto yy53; yy808: YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy809; if (yych <= '6') goto yy810; if (yych <= '9') goto yy811; goto yy53; yy809: YYDEBUG(809, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych <= '9') goto yy816; goto yy713; yy810: YYDEBUG(810, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy719; goto yy713; } else { if (yych <= '0') goto yy816; if (yych <= '9') goto yy812; goto yy713; } yy811: YYDEBUG(811, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych >= ':') goto yy713; yy812: YYDEBUG(812, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy813; if (yych <= '9') goto yy814; yy813: YYDEBUG(813, *YYCURSOR); #line 1112 "parse_date.db.re" { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 14216 "" yy814: YYDEBUG(814, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy813; if (yych >= ':') goto yy813; YYDEBUG(815, *YYCURSOR); yych = *++YYCURSOR; goto yy813; yy816: YYDEBUG(816, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy723; if (yych <= 0x1F) goto yy713; goto yy723; } else { if (yych == '.') goto yy719; if (yych <= '/') goto yy713; goto yy814; } } else { if (yych <= 'P') { if (yych == 'A') goto yy725; if (yych <= 'O') goto yy713; goto yy725; } else { if (yych <= 'a') { if (yych <= '`') goto yy713; goto yy725; } else { if (yych == 'p') goto yy725; goto yy713; } } } yy817: YYDEBUG(817, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy813; if (yych <= '9') goto yy812; goto yy813; yy818: YYDEBUG(818, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy730; if (yych <= 0x1F) goto yy713; goto yy730; } else { if (yych <= '-') { if (yych <= ',') goto yy713; goto yy807; } else { if (yych <= '.') goto yy808; if (yych <= '9') goto yy713; goto yy715; } } } else { if (yych <= 'P') { if (yych == 'A') goto yy732; if (yych <= 'O') goto yy713; goto yy732; } else { if (yych <= 'a') { if (yych <= '`') goto yy713; goto yy732; } else { if (yych == 'p') goto yy732; goto yy713; } } } yy819: YYDEBUG(819, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy53; if (yych <= '-') goto yy858; goto yy807; } else { if (yych <= '/') goto yy53; if (yych <= '9') goto yy821; goto yy53; } yy820: YYDEBUG(820, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy53; if (yych <= '-') goto yy858; goto yy807; } else { if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; } yy821: YYDEBUG(821, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy53; if (yych <= '-') goto yy858; if (yych <= '.') goto yy807; goto yy53; yy822: YYDEBUG(822, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy854; if (yych <= 'T') goto yy53; goto yy853; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy854; } else { if (yych == 'u') goto yy853; goto yy53; } } yy823: YYDEBUG(823, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy851; if (yych == 'e') goto yy851; goto yy53; yy824: YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy848; if (yych == 'a') goto yy848; goto yy53; yy825: YYDEBUG(825, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy845; if (yych <= 'T') goto yy53; goto yy844; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy845; } else { if (yych == 'u') goto yy844; goto yy53; } } yy826: YYDEBUG(826, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy841; if (yych == 'e') goto yy841; goto yy53; yy827: YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy839; if (yych == 'c') goto yy839; goto yy53; yy828: YYDEBUG(828, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy837; if (yych == 'o') goto yy837; goto yy53; yy829: YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy830; if (yych != 'e') goto yy53; yy830: YYDEBUG(830, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy831; if (yych != 'c') goto yy53; yy831: YYDEBUG(831, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych >= '.') goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy787; if (yych == 'e') goto yy787; goto yy698; } } yy832: YYDEBUG(832, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy739; if (yych <= '0') goto yy833; if (yych <= '2') goto yy834; if (yych <= '3') goto yy835; goto yy739; yy833: YYDEBUG(833, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych <= '0') goto yy747; if (yych <= '9') goto yy836; goto yy741; yy834: YYDEBUG(834, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych <= '9') goto yy836; goto yy741; yy835: YYDEBUG(835, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych <= '1') goto yy836; if (yych <= '9') goto yy747; goto yy741; yy836: YYDEBUG(836, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy741; if (yych <= '9') goto yy748; goto yy741; yy837: YYDEBUG(837, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy838; if (yych != 'v') goto yy53; yy838: YYDEBUG(838, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy742; if (yych == 'e') goto yy742; goto yy698; } } yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy840; if (yych != 't') goto yy53; yy840: YYDEBUG(840, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'N') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'O') goto yy752; if (yych == 'o') goto yy752; goto yy698; } } yy841: YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy842; if (yych != 'p') goto yy53; yy842: YYDEBUG(842, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'S') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'T') goto yy843; if (yych != 't') goto yy698; } } yy843: YYDEBUG(843, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy794; if (yych == 'e') goto yy794; goto yy698; } } yy844: YYDEBUG(844, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy847; if (yych == 'g') goto yy847; goto yy53; yy845: YYDEBUG(845, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy846; if (yych != 'r') goto yy53; yy846: YYDEBUG(846, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'H') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'I') goto yy758; if (yych == 'i') goto yy758; goto yy698; } } yy847: YYDEBUG(847, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'T') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'U') goto yy760; if (yych == 'u') goto yy760; goto yy698; } } yy848: YYDEBUG(848, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy849; if (yych <= 'X') goto yy53; goto yy850; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy850; goto yy53; } } yy849: YYDEBUG(849, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'B') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'C') goto yy800; if (yych == 'c') goto yy800; goto yy698; } } yy850: YYDEBUG(850, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy698; goto yy738; } else { if (yych == ' ') goto yy738; goto yy698; } } else { if (yych <= '.') { if (yych <= '-') goto yy832; goto yy738; } else { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } } yy851: YYDEBUG(851, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy852; if (yych != 'b') goto yy53; yy852: YYDEBUG(852, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'Q') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'R') goto yy803; if (yych == 'r') goto yy803; goto yy698; } } yy853: YYDEBUG(853, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy857; if (yych <= 'M') goto yy53; goto yy856; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy857; } else { if (yych == 'n') goto yy856; goto yy53; } } yy854: YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy855; if (yych != 'n') goto yy53; yy855: YYDEBUG(855, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'T') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'U') goto yy765; if (yych == 'u') goto yy765; goto yy698; } } yy856: YYDEBUG(856, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'D') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'E') goto yy746; if (yych == 'e') goto yy746; goto yy698; } } yy857: YYDEBUG(857, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy738; goto yy698; } else { if (yych <= ' ') goto yy738; if (yych <= ',') goto yy698; if (yych <= '-') goto yy832; goto yy738; } } else { if (yych <= 'X') { if (yych <= '/') goto yy698; if (yych <= '9') goto yy740; goto yy698; } else { if (yych <= 'Y') goto yy746; if (yych == 'y') goto yy746; goto yy698; } } yy858: YYDEBUG(858, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy859; if (yych <= '3') goto yy861; if (yych <= '9') goto yy862; goto yy53; yy859: YYDEBUG(859, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy860; if (yych <= '9') goto yy868; if (yych >= 'n') goto yy864; } else { if (yych <= 'r') { if (yych >= 'r') goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; } } yy860: YYDEBUG(860, *YYCURSOR); #line 1085 "parse_date.db.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 14855 "" yy861: YYDEBUG(861, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { if (yych <= '/') goto yy860; goto yy868; } else { if (yych <= '9') goto yy812; if (yych <= 'm') goto yy860; goto yy864; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } } yy862: YYDEBUG(862, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy860; if (yych <= '9') goto yy812; if (yych <= 'm') goto yy860; goto yy864; } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } } yy863: YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy867; goto yy53; yy864: YYDEBUG(864, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy867; goto yy53; yy865: YYDEBUG(865, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy867; goto yy53; yy866: YYDEBUG(866, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; goto yy860; yy868: YYDEBUG(868, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy860; if (yych <= '9') goto yy814; if (yych <= 'm') goto yy860; goto yy864; } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } } yy869: YYDEBUG(869, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych >= '/') goto yy923; } else { if (yych <= '9') goto yy872; if (yych >= 'n') goto yy920; } } else { if (yych <= 'r') { if (yych >= 'r') goto yy921; } else { if (yych <= 's') goto yy919; if (yych <= 't') goto yy922; } } yy870: YYDEBUG(870, *YYCURSOR); #line 1058 "parse_date.db.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 14975 "" yy871: YYDEBUG(871, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych <= '.') goto yy870; goto yy923; } else { if (yych <= '1') goto yy872; if (yych <= 'm') goto yy870; goto yy920; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy870; goto yy921; } else { if (yych <= 's') goto yy919; if (yych <= 't') goto yy922; goto yy870; } } yy872: YYDEBUG(872, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy923; if (yych <= 'm') goto yy870; goto yy920; } else { if (yych <= 'r') { if (yych <= 'q') goto yy870; goto yy921; } else { if (yych <= 's') goto yy919; if (yych <= 't') goto yy922; goto yy870; } } yy873: YYDEBUG(873, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy918; if (yych <= 'T') goto yy53; goto yy917; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy918; } else { if (yych == 'u') goto yy917; goto yy53; } } yy874: YYDEBUG(874, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy916; if (yych == 'e') goto yy916; goto yy53; yy875: YYDEBUG(875, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy915; if (yych == 'a') goto yy915; goto yy53; yy876: YYDEBUG(876, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy914; if (yych <= 'T') goto yy53; goto yy913; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy914; } else { if (yych == 'u') goto yy913; goto yy53; } } yy877: YYDEBUG(877, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy911; if (yych == 'e') goto yy911; goto yy53; yy878: YYDEBUG(878, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy910; if (yych == 'c') goto yy910; goto yy53; yy879: YYDEBUG(879, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy909; if (yych == 'o') goto yy909; goto yy53; yy880: YYDEBUG(880, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy881; if (yych != 'e') goto yy53; yy881: YYDEBUG(881, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy882; if (yych != 'c') goto yy53; yy882: YYDEBUG(882, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy53; yy883: YYDEBUG(883, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(884, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(885, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(886, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(887, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy889; if (yych <= '2') goto yy890; goto yy53; yy889: YYDEBUG(889, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy891; goto yy53; yy890: YYDEBUG(890, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy891: YYDEBUG(891, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(892, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; YYDEBUG(893, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(895, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy896; if (yych <= '6') goto yy897; goto yy53; yy896: YYDEBUG(896, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy898; goto yy53; yy897: YYDEBUG(897, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy53; yy898: YYDEBUG(898, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy899; if (yych != ' ') goto yy53; yy899: YYDEBUG(899, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; YYDEBUG(900, *YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy899; if (yych <= 0x1F) goto yy53; goto yy899; } else { if (yych <= '+') { if (yych <= '*') goto yy53; } else { if (yych != '-') goto yy53; } } YYDEBUG(901, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy902; if (yych <= '2') goto yy904; if (yych <= '9') goto yy905; goto yy53; yy902: YYDEBUG(902, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy903; if (yych <= '9') goto yy905; if (yych <= ':') goto yy906; yy903: YYDEBUG(903, *YYCURSOR); #line 1291 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } #line 15218 "" yy904: YYDEBUG(904, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy903; if (yych >= '4') goto yy907; } else { if (yych <= '9') goto yy908; if (yych <= ':') goto yy906; goto yy903; } yy905: YYDEBUG(905, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy903; if (yych <= '5') goto yy907; if (yych <= '9') goto yy908; if (yych >= ';') goto yy903; yy906: YYDEBUG(906, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy903; if (yych <= '5') goto yy907; if (yych <= '9') goto yy908; goto yy903; yy907: YYDEBUG(907, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy903; if (yych >= ':') goto yy903; yy908: YYDEBUG(908, *YYCURSOR); yych = *++YYCURSOR; goto yy903; yy909: YYDEBUG(909, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy882; if (yych == 'v') goto yy882; goto yy53; yy910: YYDEBUG(910, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy882; if (yych == 't') goto yy882; goto yy53; yy911: YYDEBUG(911, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy912; if (yych != 'p') goto yy53; yy912: YYDEBUG(912, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy883; goto yy53; } else { if (yych <= 'T') goto yy882; if (yych == 't') goto yy882; goto yy53; } yy913: YYDEBUG(913, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy882; if (yych == 'g') goto yy882; goto yy53; yy914: YYDEBUG(914, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy882; if (yych == 'r') goto yy882; goto yy53; yy915: YYDEBUG(915, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy882; if (yych <= 'X') goto yy53; goto yy882; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy882; } else { if (yych == 'y') goto yy882; goto yy53; } } yy916: YYDEBUG(916, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy882; if (yych == 'b') goto yy882; goto yy53; yy917: YYDEBUG(917, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy882; if (yych <= 'M') goto yy53; goto yy882; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy882; } else { if (yych == 'n') goto yy882; goto yy53; } } yy918: YYDEBUG(918, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy882; if (yych == 'n') goto yy882; goto yy53; yy919: YYDEBUG(919, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy928; goto yy53; yy920: YYDEBUG(920, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy928; goto yy53; yy921: YYDEBUG(921, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy928; goto yy53; yy922: YYDEBUG(922, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy928; goto yy53; yy923: YYDEBUG(923, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(924, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy870; if (yych >= ':') goto yy870; YYDEBUG(925, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy870; if (yych >= ':') goto yy870; YYDEBUG(926, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy870; if (yych >= ':') goto yy870; YYDEBUG(927, *YYCURSOR); yych = *++YYCURSOR; goto yy870; yy928: YYDEBUG(928, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy923; goto yy870; yy929: YYDEBUG(929, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { if (yych == '\t') goto yy931; goto yy784; } else { if (yych <= '.') goto yy931; if (yych >= '0') goto yy784; } yy930: YYDEBUG(930, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'A': case 'a': goto yy876; case 'D': case 'd': goto yy880; case 'F': case 'f': goto yy874; case 'J': case 'j': goto yy873; case 'M': case 'm': goto yy875; case 'N': case 'n': goto yy879; case 'O': case 'o': goto yy878; case 'S': case 's': goto yy877; default: goto yy53; } yy931: YYDEBUG(931, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych <= '0') goto yy932; if (yych <= '1') goto yy933; if (yych <= '9') goto yy934; goto yy784; yy932: YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy53; if (yych <= '.') goto yy807; if (yych <= '/') goto yy53; if (yych <= '9') goto yy934; goto yy53; yy933: YYDEBUG(933, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy53; if (yych <= '.') goto yy807; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy934: YYDEBUG(934, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy53; if (yych <= '.') goto yy807; goto yy53; yy935: YYDEBUG(935, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy936; if (yych <= '/') goto yy57; if (yych <= '9') goto yy970; goto yy57; yy936: YYDEBUG(936, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy945; case '1': goto yy946; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy947; case 'A': case 'a': goto yy940; case 'D': case 'd': goto yy944; case 'F': case 'f': goto yy938; case 'J': case 'j': goto yy937; case 'M': case 'm': goto yy939; case 'N': case 'n': goto yy943; case 'O': case 'o': goto yy942; case 'S': case 's': goto yy941; default: goto yy53; } yy937: YYDEBUG(937, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy969; if (yych <= 'T') goto yy53; goto yy968; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy969; } else { if (yych == 'u') goto yy968; goto yy53; } } yy938: YYDEBUG(938, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy967; if (yych == 'e') goto yy967; goto yy53; yy939: YYDEBUG(939, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy966; if (yych == 'a') goto yy966; goto yy53; yy940: YYDEBUG(940, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy965; if (yych <= 'T') goto yy53; goto yy964; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy965; } else { if (yych == 'u') goto yy964; goto yy53; } } yy941: YYDEBUG(941, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy962; if (yych == 'e') goto yy962; goto yy53; yy942: YYDEBUG(942, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy961; if (yych == 'c') goto yy961; goto yy53; yy943: YYDEBUG(943, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy960; if (yych == 'o') goto yy960; goto yy53; yy944: YYDEBUG(944, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy952; if (yych == 'e') goto yy952; goto yy53; yy945: YYDEBUG(945, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy948; if (yych <= '/') goto yy53; if (yych <= '9') goto yy947; goto yy53; yy946: YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy948; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy947: YYDEBUG(947, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy53; yy948: YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy949; if (yych <= '3') goto yy950; if (yych <= '9') goto yy951; goto yy53; yy949: YYDEBUG(949, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy860; if (yych <= '9') goto yy951; if (yych <= 'm') goto yy860; goto yy864; } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } } yy950: YYDEBUG(950, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy860; if (yych <= '1') goto yy951; if (yych <= 'm') goto yy860; goto yy864; } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy865; } else { if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } } yy951: YYDEBUG(951, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy864; goto yy860; } else { if (yych <= 'r') goto yy865; if (yych <= 's') goto yy863; if (yych <= 't') goto yy866; goto yy860; } yy952: YYDEBUG(952, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy953; if (yych != 'c') goto yy53; yy953: YYDEBUG(953, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy53; yy954: YYDEBUG(954, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy955; if (yych <= '2') goto yy956; if (yych <= '3') goto yy957; goto yy53; yy955: YYDEBUG(955, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy958; goto yy53; yy956: YYDEBUG(956, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy958; goto yy53; yy957: YYDEBUG(957, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy958: YYDEBUG(958, *YYCURSOR); ++YYCURSOR; YYDEBUG(959, *YYCURSOR); #line 1278 "parse_date.db.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 15679 "" yy960: YYDEBUG(960, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy953; if (yych == 'v') goto yy953; goto yy53; yy961: YYDEBUG(961, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy953; if (yych == 't') goto yy953; goto yy53; yy962: YYDEBUG(962, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy963; if (yych != 'p') goto yy53; yy963: YYDEBUG(963, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy954; goto yy53; } else { if (yych <= 'T') goto yy953; if (yych == 't') goto yy953; goto yy53; } yy964: YYDEBUG(964, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy953; if (yych == 'g') goto yy953; goto yy53; yy965: YYDEBUG(965, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy953; if (yych == 'r') goto yy953; goto yy53; yy966: YYDEBUG(966, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy953; if (yych <= 'X') goto yy53; goto yy953; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy953; } else { if (yych == 'y') goto yy953; goto yy53; } } yy967: YYDEBUG(967, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy953; if (yych == 'b') goto yy953; goto yy53; yy968: YYDEBUG(968, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy953; if (yych <= 'M') goto yy53; goto yy953; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy953; } else { if (yych == 'n') goto yy953; goto yy53; } } yy969: YYDEBUG(969, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy953; if (yych == 'n') goto yy953; goto yy53; yy970: YYDEBUG(970, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy975; case '-': goto yy972; case '.': goto yy976; case '/': goto yy973; case '0': goto yy989; case '1': goto yy990; case '2': goto yy992; case '3': goto yy993; case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case ':': goto yy991; case 'W': goto yy994; default: goto yy971; } yy971: YYDEBUG(971, *YYCURSOR); #line 1312 "parse_date.db.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 15825 "" yy972: YYDEBUG(972, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy1156; case '1': goto yy1157; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1158; case 'A': case 'a': goto yy1151; case 'D': case 'd': goto yy1155; case 'F': case 'f': goto yy1149; case 'J': case 'j': goto yy1148; case 'M': case 'm': goto yy1150; case 'N': case 'n': goto yy1154; case 'O': case 'o': goto yy1153; case 'S': case 's': goto yy1152; default: goto yy1121; } yy973: YYDEBUG(973, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1129; if (yych <= '1') goto yy1130; if (yych <= '9') goto yy1131; goto yy53; yy974: YYDEBUG(974, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy975: YYDEBUG(975, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy974; case '-': case '.': goto yy1120; case 'A': case 'a': goto yy984; case 'D': case 'd': goto yy988; case 'F': case 'f': goto yy982; case 'H': case 'h': goto yy60; case 'I': goto yy977; case 'J': case 'j': goto yy981; case 'M': case 'm': goto yy983; case 'N': case 'n': goto yy987; case 'O': case 'o': goto yy986; case 'S': case 's': goto yy985; case 'T': case 't': goto yy65; case 'V': goto yy979; case 'W': case 'w': goto yy62; case 'X': goto yy980; case 'Y': case 'y': goto yy64; default: goto yy53; } yy976: YYDEBUG(976, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1121; if (yych <= '0') goto yy1113; if (yych <= '2') goto yy1114; if (yych <= '3') goto yy1115; goto yy1121; yy977: YYDEBUG(977, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy1112; } else { if (yych == 'W') goto yy978; if (yych <= 'X') goto yy1066; } yy978: YYDEBUG(978, *YYCURSOR); #line 1138 "parse_date.db.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 15940 "" yy979: YYDEBUG(979, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1110; goto yy978; yy980: YYDEBUG(980, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1109; goto yy978; yy981: YYDEBUG(981, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1102; if (yych <= 'T') goto yy53; goto yy1101; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1102; } else { if (yych == 'u') goto yy1101; goto yy53; } } yy982: YYDEBUG(982, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy1095; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy1095; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy983: YYDEBUG(983, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy1092; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy1092; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy984: YYDEBUG(984, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1086; if (yych <= 'T') goto yy53; goto yy1085; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy1086; } else { if (yych == 'u') goto yy1085; goto yy53; } } yy985: YYDEBUG(985, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1078; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy1078; if (yych == 'u') goto yy118; goto yy53; } } yy986: YYDEBUG(986, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1073; if (yych == 'c') goto yy1073; goto yy53; yy987: YYDEBUG(987, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1067; if (yych == 'o') goto yy1067; goto yy53; yy988: YYDEBUG(988, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy1060; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy1060; goto yy53; } } yy989: YYDEBUG(989, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1058; if (yych <= '9') goto yy1059; goto yy57; yy990: YYDEBUG(990, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy1027; if (yych <= '9') goto yy1006; goto yy57; yy991: YYDEBUG(991, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1007; if (yych <= '1') goto yy1008; goto yy53; yy992: YYDEBUG(992, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1006; goto yy57; yy993: YYDEBUG(993, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy1002; if (yych <= '6') goto yy1003; if (yych <= '9') goto yy51; goto yy57; yy994: YYDEBUG(994, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '0') goto yy995; if (yych <= '4') goto yy996; goto yy997; } else { if (yych <= 'E') { if (yych <= 'D') goto yy53; goto yy98; } else { if (yych == 'e') goto yy98; goto yy53; } } yy995: YYDEBUG(995, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy998; goto yy53; yy996: YYDEBUG(996, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy998; goto yy53; yy997: YYDEBUG(997, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy998: YYDEBUG(998, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy999; if (yych <= '7') goto yy1000; yy999: YYDEBUG(999, *YYCURSOR); #line 1246 "parse_date.db.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 16171 "" yy1000: YYDEBUG(1000, *YYCURSOR); ++YYCURSOR; YYDEBUG(1001, *YYCURSOR); #line 1227 "parse_date.db.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 16194 "" yy1002: YYDEBUG(1002, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1004; goto yy57; yy1003: YYDEBUG(1003, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '6') goto yy1004; if (yych <= '9') goto yy51; goto yy57; yy1004: YYDEBUG(1004, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych >= ' ') goto yy57; } else { if (yych == 'D') goto yy57; if (yych >= 'F') goto yy57; } } else { if (yych <= 'M') { if (yych == 'H') goto yy57; if (yych >= 'M') goto yy57; } else { if (yych <= 'R') goto yy1005; if (yych <= 'T') goto yy57; if (yych >= 'W') goto yy57; } } } else { if (yych <= 'h') { if (yych <= 'd') { if (yych == 'Y') goto yy57; if (yych >= 'd') goto yy57; } else { if (yych == 'f') goto yy57; if (yych >= 'h') goto yy57; } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych >= 's') goto yy57; } else { if (yych <= 'w') { if (yych >= 'w') goto yy57; } else { if (yych == 'y') goto yy57; } } } } yy1005: YYDEBUG(1005, *YYCURSOR); #line 1214 "parse_date.db.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 16270 "" yy1006: YYDEBUG(1006, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1004; goto yy57; yy1007: YYDEBUG(1007, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1009; goto yy53; yy1008: YYDEBUG(1008, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy1009: YYDEBUG(1009, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1010, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1011; if (yych <= '2') goto yy1012; if (yych <= '3') goto yy1013; goto yy53; yy1011: YYDEBUG(1011, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1014; goto yy53; yy1012: YYDEBUG(1012, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1014; goto yy53; yy1013: YYDEBUG(1013, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy1014: YYDEBUG(1014, *YYCURSOR); yych = *++YYCURSOR; if (yych != ' ') goto yy53; YYDEBUG(1015, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1016; if (yych <= '2') goto yy1017; goto yy53; yy1016: YYDEBUG(1016, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1018; goto yy53; yy1017: YYDEBUG(1017, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy1018: YYDEBUG(1018, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1019, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; YYDEBUG(1020, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(1021, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1022, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1023; if (yych <= '6') goto yy1024; goto yy53; yy1023: YYDEBUG(1023, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1025; goto yy53; yy1024: YYDEBUG(1024, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy53; yy1025: YYDEBUG(1025, *YYCURSOR); ++YYCURSOR; yy1026: YYDEBUG(1026, *YYCURSOR); #line 1188 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 16398 "" yy1027: YYDEBUG(1027, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych >= '1') goto yy1029; } else { if (yych <= '3') goto yy1030; if (yych <= '9') goto yy1004; goto yy57; } yy1028: YYDEBUG(1028, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1005; goto yy57; } else { if (yych <= '0') { if (yych <= '/') goto yy1005; goto yy51; } else { if (yych <= '9') goto yy1031; if (yych <= 'C') goto yy1005; goto yy57; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1005; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1005; goto yy57; } else { if (yych <= 'R') goto yy1005; if (yych <= 'T') goto yy57; goto yy1005; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1005; if (yych <= 'Y') goto yy57; goto yy1005; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1005; } else { if (yych == 'g') goto yy1005; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1005; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1005; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1005; } } } } yy1029: YYDEBUG(1029, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1005; goto yy57; } else { if (yych <= '/') goto yy1005; if (yych <= '9') goto yy1031; if (yych <= 'C') goto yy1005; goto yy57; } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1005; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1005; goto yy57; } else { if (yych <= 'R') goto yy1005; if (yych <= 'T') goto yy57; goto yy1005; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1005; if (yych <= 'Y') goto yy57; goto yy1005; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1005; } else { if (yych == 'g') goto yy1005; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1005; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1005; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1005; } } } } yy1030: YYDEBUG(1030, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1005; goto yy57; } else { if (yych <= '1') { if (yych <= '/') goto yy1005; } else { if (yych <= '9') goto yy51; if (yych <= 'C') goto yy1005; goto yy57; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1005; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1005; goto yy57; } else { if (yych <= 'R') goto yy1005; if (yych <= 'T') goto yy57; goto yy1005; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1005; if (yych <= 'Y') goto yy57; goto yy1005; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1005; } else { if (yych == 'g') goto yy1005; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1005; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1005; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1005; } } } } yy1031: YYDEBUG(1031, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy56; if (yych >= ' ') goto yy56; } else { if (yych == 'D') goto yy61; if (yych >= 'F') goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy60; if (yych >= 'M') goto yy59; } else { if (yych <= 'S') { if (yych >= 'S') goto yy58; } else { if (yych <= 'T') goto yy1033; if (yych >= 'W') goto yy62; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych >= 'd') goto yy61; } else { if (yych <= 'f') { if (yych >= 'f') goto yy63; } else { if (yych == 'h') goto yy60; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy59; if (yych <= 'r') goto yy1032; if (yych <= 's') goto yy58; goto yy1034; } else { if (yych <= 'w') { if (yych >= 'w') goto yy62; } else { if (yych == 'y') goto yy64; } } } } yy1032: YYDEBUG(1032, *YYCURSOR); #line 1176 "parse_date.db.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 16675 "" yy1033: YYDEBUG(1033, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych <= '1') goto yy1048; goto yy1049; } else { if (yych <= '9') goto yy1050; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yy1034: YYDEBUG(1034, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '2') goto yy1036; } else { if (yych <= '9') goto yy1037; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } YYDEBUG(1035, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1042; if (yych <= '9') goto yy1037; goto yy53; yy1036: YYDEBUG(1036, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1042; if (yych <= '5') goto yy1038; goto yy53; yy1037: YYDEBUG(1037, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yy1038: YYDEBUG(1038, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1039: YYDEBUG(1039, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1040; if (yych <= '6') goto yy1041; goto yy53; yy1040: YYDEBUG(1040, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1025; goto yy53; yy1041: YYDEBUG(1041, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1025; goto yy53; yy1042: YYDEBUG(1042, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1043; if (yych <= '9') goto yy1039; goto yy53; yy1043: YYDEBUG(1043, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1044; if (yych <= '6') goto yy1045; if (yych <= '9') goto yy1039; goto yy53; yy1044: YYDEBUG(1044, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1046; if (yych <= '6') goto yy1047; if (yych <= '9') goto yy1025; goto yy53; yy1045: YYDEBUG(1045, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1046; if (yych <= '5') goto yy1040; if (yych <= '6') goto yy1041; goto yy53; yy1046: YYDEBUG(1046, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1025; goto yy1026; yy1047: YYDEBUG(1047, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1025; goto yy1026; yy1048: YYDEBUG(1048, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1057; if (yych <= '9') goto yy1050; if (yych <= ':') goto yy1051; goto yy53; yy1049: YYDEBUG(1049, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '3') goto yy1057; goto yy1038; } else { if (yych == ':') goto yy1051; goto yy53; } yy1050: YYDEBUG(1050, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1038; if (yych != ':') goto yy53; yy1051: YYDEBUG(1051, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; YYDEBUG(1052, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(1053, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1054, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1055; if (yych <= '6') goto yy1056; goto yy53; yy1055: YYDEBUG(1055, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1025; goto yy53; yy1056: YYDEBUG(1056, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1025; goto yy53; yy1057: YYDEBUG(1057, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1043; if (yych <= '9') goto yy1039; if (yych <= ':') goto yy1051; goto yy53; yy1058: YYDEBUG(1058, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy51; if (yych <= '9') goto yy1004; goto yy57; yy1059: YYDEBUG(1059, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych <= '0') goto yy1028; goto yy1029; } else { if (yych <= '3') goto yy1030; if (yych <= '9') goto yy1004; goto yy57; } yy1060: YYDEBUG(1060, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1061; if (yych != 'c') goto yy53; yy1061: YYDEBUG(1061, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1062; if (yych != 'e') goto yy978; yy1062: YYDEBUG(1062, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1063; if (yych != 'm') goto yy53; yy1063: YYDEBUG(1063, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1064; if (yych != 'b') goto yy53; yy1064: YYDEBUG(1064, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1065; if (yych != 'e') goto yy53; yy1065: YYDEBUG(1065, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1066; if (yych != 'r') goto yy53; yy1066: YYDEBUG(1066, *YYCURSOR); yych = *++YYCURSOR; goto yy978; yy1067: YYDEBUG(1067, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy1068; if (yych != 'v') goto yy53; yy1068: YYDEBUG(1068, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1069; if (yych != 'e') goto yy978; yy1069: YYDEBUG(1069, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1070; if (yych != 'm') goto yy53; yy1070: YYDEBUG(1070, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1071; if (yych != 'b') goto yy53; yy1071: YYDEBUG(1071, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1072; if (yych != 'e') goto yy53; yy1072: YYDEBUG(1072, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1066; if (yych == 'r') goto yy1066; goto yy53; yy1073: YYDEBUG(1073, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1074; if (yych != 't') goto yy53; yy1074: YYDEBUG(1074, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy1075; if (yych != 'o') goto yy978; yy1075: YYDEBUG(1075, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1076; if (yych != 'b') goto yy53; yy1076: YYDEBUG(1076, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1077; if (yych != 'e') goto yy53; yy1077: YYDEBUG(1077, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1066; if (yych == 'r') goto yy1066; goto yy53; yy1078: YYDEBUG(1078, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych != 'p') goto yy53; } } yy1079: YYDEBUG(1079, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1080; if (yych != 't') goto yy978; yy1080: YYDEBUG(1080, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1081; if (yych != 'e') goto yy978; yy1081: YYDEBUG(1081, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1082; if (yych != 'm') goto yy53; yy1082: YYDEBUG(1082, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1083; if (yych != 'b') goto yy53; yy1083: YYDEBUG(1083, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1084; if (yych != 'e') goto yy53; yy1084: YYDEBUG(1084, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1066; if (yych == 'r') goto yy1066; goto yy53; yy1085: YYDEBUG(1085, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1089; if (yych == 'g') goto yy1089; goto yy53; yy1086: YYDEBUG(1086, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1087; if (yych != 'r') goto yy53; yy1087: YYDEBUG(1087, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy1088; if (yych != 'i') goto yy978; yy1088: YYDEBUG(1088, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy1066; if (yych == 'l') goto yy1066; goto yy53; yy1089: YYDEBUG(1089, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1090; if (yych != 'u') goto yy978; yy1090: YYDEBUG(1090, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1091; if (yych != 's') goto yy53; yy1091: YYDEBUG(1091, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1066; if (yych == 't') goto yy1066; goto yy53; yy1092: YYDEBUG(1092, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1093; if (yych <= 'X') goto yy53; goto yy1066; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy1066; goto yy53; } } yy1093: YYDEBUG(1093, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1094; if (yych != 'c') goto yy978; yy1094: YYDEBUG(1094, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1066; if (yych == 'h') goto yy1066; goto yy53; yy1095: YYDEBUG(1095, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1096; if (yych != 'b') goto yy53; yy1096: YYDEBUG(1096, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1097; if (yych != 'r') goto yy978; yy1097: YYDEBUG(1097, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy1098; if (yych != 'u') goto yy53; yy1098: YYDEBUG(1098, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1099; if (yych != 'a') goto yy53; yy1099: YYDEBUG(1099, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1100; if (yych != 'r') goto yy53; yy1100: YYDEBUG(1100, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1066; if (yych == 'y') goto yy1066; goto yy53; yy1101: YYDEBUG(1101, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1108; if (yych <= 'M') goto yy53; goto yy1107; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1108; } else { if (yych == 'n') goto yy1107; goto yy53; } } yy1102: YYDEBUG(1102, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1103; if (yych != 'n') goto yy53; yy1103: YYDEBUG(1103, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1104; if (yych != 'u') goto yy978; yy1104: YYDEBUG(1104, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1105; if (yych != 'a') goto yy53; yy1105: YYDEBUG(1105, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1106; if (yych != 'r') goto yy53; yy1106: YYDEBUG(1106, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1066; if (yych == 'y') goto yy1066; goto yy53; yy1107: YYDEBUG(1107, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1066; if (yych == 'e') goto yy1066; goto yy978; yy1108: YYDEBUG(1108, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1066; if (yych == 'y') goto yy1066; goto yy978; yy1109: YYDEBUG(1109, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1066; goto yy978; yy1110: YYDEBUG(1110, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'I') goto yy978; YYDEBUG(1111, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1066; goto yy978; yy1112: YYDEBUG(1112, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1066; goto yy978; yy1113: YYDEBUG(1113, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1128; if (yych <= '9') goto yy1127; goto yy53; yy1114: YYDEBUG(1114, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1126; goto yy53; yy1115: YYDEBUG(1115, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1124; if (yych <= '6') goto yy1123; goto yy53; yy1116: YYDEBUG(1116, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1095; if (yych == 'e') goto yy1095; goto yy53; yy1117: YYDEBUG(1117, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1092; if (yych == 'a') goto yy1092; goto yy53; yy1118: YYDEBUG(1118, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1122; if (yych == 'e') goto yy1122; goto yy53; yy1119: YYDEBUG(1119, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1060; if (yych == 'e') goto yy1060; goto yy53; yy1120: YYDEBUG(1120, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy1121: YYDEBUG(1121, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': case '.': goto yy1120; case 'A': case 'a': goto yy984; case 'D': case 'd': goto yy1119; case 'F': case 'f': goto yy1116; case 'I': goto yy977; case 'J': case 'j': goto yy981; case 'M': case 'm': goto yy1117; case 'N': case 'n': goto yy987; case 'O': case 'o': goto yy986; case 'S': case 's': goto yy1118; case 'V': goto yy979; case 'X': goto yy980; default: goto yy53; } yy1122: YYDEBUG(1122, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy1079; if (yych == 'p') goto yy1079; goto yy53; yy1123: YYDEBUG(1123, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '6') goto yy1125; goto yy53; yy1124: YYDEBUG(1124, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1125: YYDEBUG(1125, *YYCURSOR); yych = *++YYCURSOR; goto yy1005; yy1126: YYDEBUG(1126, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1125; goto yy53; yy1127: YYDEBUG(1127, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1125; goto yy53; yy1128: YYDEBUG(1128, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1125; goto yy53; yy1129: YYDEBUG(1129, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1132; if (yych <= '0') goto yy1131; if (yych <= '9') goto yy1142; goto yy53; yy1130: YYDEBUG(1130, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1132; if (yych <= '2') goto yy1142; goto yy53; yy1131: YYDEBUG(1131, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy53; yy1132: YYDEBUG(1132, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1133; if (yych <= '3') goto yy1135; if (yych <= '9') goto yy1136; goto yy53; yy1133: YYDEBUG(1133, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1134; if (yych <= '9') goto yy1136; if (yych >= 'n') goto yy1138; } else { if (yych <= 'r') { if (yych >= 'r') goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; } } yy1134: YYDEBUG(1134, *YYCURSOR); #line 1073 "parse_date.db.re" { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 17370 "" yy1135: YYDEBUG(1135, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1134; if (yych <= '1') goto yy1136; if (yych <= 'm') goto yy1134; goto yy1138; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } } yy1136: YYDEBUG(1136, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1138; goto yy1134; } else { if (yych <= 'r') goto yy1139; if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } yy1137: YYDEBUG(1137, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy1141; goto yy53; yy1138: YYDEBUG(1138, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1141; goto yy53; yy1139: YYDEBUG(1139, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1141; goto yy53; yy1140: YYDEBUG(1140, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy1141: YYDEBUG(1141, *YYCURSOR); yych = *++YYCURSOR; goto yy1134; yy1142: YYDEBUG(1142, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy53; YYDEBUG(1143, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1145; } else { if (yych <= '3') goto yy1146; if (yych <= '9') goto yy1136; goto yy53; } YYDEBUG(1144, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '0') { if (yych <= '/') goto yy1134; goto yy1136; } else { if (yych <= '9') goto yy1147; if (yych <= 'm') goto yy1134; goto yy1138; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } } yy1145: YYDEBUG(1145, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1134; if (yych <= '9') goto yy1147; if (yych <= 'm') goto yy1134; goto yy1138; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } } yy1146: YYDEBUG(1146, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1134; if (yych <= '1') goto yy1147; if (yych <= 'm') goto yy1134; goto yy1138; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } } yy1147: YYDEBUG(1147, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy1141; if (yych <= 'm') goto yy1134; goto yy1138; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1139; } else { if (yych <= 's') goto yy1137; if (yych <= 't') goto yy1140; goto yy1134; } } yy1148: YYDEBUG(1148, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1223; if (yych <= 'T') goto yy53; goto yy1222; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1223; } else { if (yych == 'u') goto yy1222; goto yy53; } } yy1149: YYDEBUG(1149, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1220; if (yych == 'e') goto yy1220; goto yy53; yy1150: YYDEBUG(1150, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1217; if (yych == 'a') goto yy1217; goto yy53; yy1151: YYDEBUG(1151, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1214; if (yych <= 'T') goto yy53; goto yy1213; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy1214; } else { if (yych == 'u') goto yy1213; goto yy53; } } yy1152: YYDEBUG(1152, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1210; if (yych == 'e') goto yy1210; goto yy53; yy1153: YYDEBUG(1153, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1208; if (yych == 'c') goto yy1208; goto yy53; yy1154: YYDEBUG(1154, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1206; if (yych == 'o') goto yy1206; goto yy53; yy1155: YYDEBUG(1155, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1204; if (yych == 'e') goto yy1204; goto yy53; yy1156: YYDEBUG(1156, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '-') goto yy1159; goto yy53; } else { if (yych <= '0') goto yy1158; if (yych <= '9') goto yy1178; goto yy53; } yy1157: YYDEBUG(1157, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy1159; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1178; goto yy53; yy1158: YYDEBUG(1158, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy53; yy1159: YYDEBUG(1159, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1160; if (yych <= '3') goto yy1161; if (yych <= '9') goto yy1162; goto yy53; yy1160: YYDEBUG(1160, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy860; goto yy1162; } else { if (yych == 'T') goto yy1167; goto yy860; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1164; if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1161: YYDEBUG(1161, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy860; } else { if (yych == 'T') goto yy1167; goto yy860; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1164; if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1162: YYDEBUG(1162, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1167; if (yych <= 'm') goto yy860; goto yy1164; } else { if (yych <= 'r') { if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1163: YYDEBUG(1163, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy1177; goto yy53; yy1164: YYDEBUG(1164, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1177; goto yy53; yy1165: YYDEBUG(1165, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1177; goto yy53; yy1166: YYDEBUG(1166, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy1177; goto yy53; yy1167: YYDEBUG(1167, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1168; if (yych <= '2') goto yy1169; if (yych <= '9') goto yy1170; goto yy53; yy1168: YYDEBUG(1168, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1170; if (yych <= ':') goto yy1171; goto yy53; yy1169: YYDEBUG(1169, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1170; if (yych == ':') goto yy1171; goto yy53; yy1170: YYDEBUG(1170, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1171: YYDEBUG(1171, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1172; if (yych <= '9') goto yy1173; goto yy53; yy1172: YYDEBUG(1172, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1173; if (yych <= ':') goto yy1174; goto yy53; yy1173: YYDEBUG(1173, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1174: YYDEBUG(1174, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1175; if (yych <= '6') goto yy1176; if (yych <= '9') goto yy1025; goto yy53; yy1175: YYDEBUG(1175, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1025; goto yy1026; yy1176: YYDEBUG(1176, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1025; goto yy1026; yy1177: YYDEBUG(1177, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1167; goto yy860; yy1178: YYDEBUG(1178, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy53; YYDEBUG(1179, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1181; } else { if (yych <= '3') goto yy1182; if (yych <= '9') goto yy1162; goto yy53; } YYDEBUG(1180, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy860; if (yych <= '0') goto yy1162; goto yy1183; } else { if (yych == 'T') goto yy1167; goto yy860; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1164; if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1181: YYDEBUG(1181, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy860; goto yy1183; } else { if (yych == 'T') goto yy1167; goto yy860; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1164; if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1182: YYDEBUG(1182, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy860; } else { if (yych == 'T') goto yy1167; goto yy860; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1164; if (yych <= 'q') goto yy860; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy860; } } yy1183: YYDEBUG(1183, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1184; if (yych <= 'm') goto yy1134; goto yy1164; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1134; goto yy1165; } else { if (yych <= 's') goto yy1163; if (yych <= 't') goto yy1166; goto yy1134; } } yy1184: YYDEBUG(1184, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1185; if (yych <= '2') goto yy1186; if (yych <= '9') goto yy1170; goto yy53; yy1185: YYDEBUG(1185, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1187; if (yych <= ':') goto yy1171; goto yy53; yy1186: YYDEBUG(1186, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1187; if (yych == ':') goto yy1171; goto yy53; yy1187: YYDEBUG(1187, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1188, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1189; if (yych <= '9') goto yy1173; goto yy53; yy1189: YYDEBUG(1189, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1190; if (yych <= ':') goto yy1174; goto yy53; yy1190: YYDEBUG(1190, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy53; YYDEBUG(1191, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1192; if (yych <= '6') goto yy1193; if (yych <= '9') goto yy1025; goto yy53; yy1192: YYDEBUG(1192, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1194; goto yy1026; yy1193: YYDEBUG(1193, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy1026; yy1194: YYDEBUG(1194, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy1026; YYDEBUG(1195, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1196: YYDEBUG(1196, *YYCURSOR); yyaccept = 19; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; YYDEBUG(1197, *YYCURSOR); if (yych <= ',') { if (yych != '+') goto yy1026; } else { if (yych <= '-') goto yy1198; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1196; goto yy1026; } yy1198: YYDEBUG(1198, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1199; if (yych <= '2') goto yy1200; if (yych <= '9') goto yy1201; goto yy53; yy1199: YYDEBUG(1199, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1201; if (yych <= ':') goto yy1202; goto yy1026; yy1200: YYDEBUG(1200, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy1026; if (yych >= '4') goto yy1203; } else { if (yych <= '9') goto yy1025; if (yych <= ':') goto yy1202; goto yy1026; } yy1201: YYDEBUG(1201, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '5') goto yy1203; if (yych <= '9') goto yy1025; if (yych >= ';') goto yy1026; yy1202: YYDEBUG(1202, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '5') goto yy1203; if (yych <= '9') goto yy1025; goto yy1026; yy1203: YYDEBUG(1203, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1026; if (yych <= '9') goto yy1025; goto yy1026; yy1204: YYDEBUG(1204, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1205; if (yych != 'c') goto yy53; yy1205: YYDEBUG(1205, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'E') goto yy1062; if (yych == 'e') goto yy1062; goto yy978; } yy1206: YYDEBUG(1206, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy1207; if (yych != 'v') goto yy53; yy1207: YYDEBUG(1207, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'E') goto yy1069; if (yych == 'e') goto yy1069; goto yy978; } yy1208: YYDEBUG(1208, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1209; if (yych != 't') goto yy53; yy1209: YYDEBUG(1209, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'O') goto yy1075; if (yych == 'o') goto yy1075; goto yy978; } yy1210: YYDEBUG(1210, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy1211; if (yych != 'p') goto yy53; yy1211: YYDEBUG(1211, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'T') goto yy1212; if (yych != 't') goto yy978; } yy1212: YYDEBUG(1212, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'E') goto yy1081; if (yych == 'e') goto yy1081; goto yy978; } yy1213: YYDEBUG(1213, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1216; if (yych == 'g') goto yy1216; goto yy53; yy1214: YYDEBUG(1214, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1215; if (yych != 'r') goto yy53; yy1215: YYDEBUG(1215, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'I') goto yy1088; if (yych == 'i') goto yy1088; goto yy978; } yy1216: YYDEBUG(1216, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'U') goto yy1090; if (yych == 'u') goto yy1090; goto yy978; } yy1217: YYDEBUG(1217, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1218; if (yych <= 'X') goto yy53; goto yy1219; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy1219; goto yy53; } } yy1218: YYDEBUG(1218, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'C') goto yy1094; if (yych == 'c') goto yy1094; goto yy978; } yy1219: YYDEBUG(1219, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy954; goto yy978; yy1220: YYDEBUG(1220, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1221; if (yych != 'b') goto yy53; yy1221: YYDEBUG(1221, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'R') goto yy1097; if (yych == 'r') goto yy1097; goto yy978; } yy1222: YYDEBUG(1222, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1226; if (yych <= 'M') goto yy53; goto yy1225; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1226; } else { if (yych == 'n') goto yy1225; goto yy53; } } yy1223: YYDEBUG(1223, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1224; if (yych != 'n') goto yy53; yy1224: YYDEBUG(1224, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'U') goto yy1104; if (yych == 'u') goto yy1104; goto yy978; } yy1225: YYDEBUG(1225, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'E') goto yy1066; if (yych == 'e') goto yy1066; goto yy978; } yy1226: YYDEBUG(1226, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy954; goto yy978; } else { if (yych <= 'Y') goto yy1066; if (yych == 'y') goto yy1066; goto yy978; } yy1227: YYDEBUG(1227, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych <= '\t') { if (yych <= 0x08) goto yy784; goto yy931; } else { if (yych <= ',') goto yy784; if (yych <= '.') goto yy931; goto yy930; } } else { if (yych <= 'U') { if (yych <= 'T') goto yy784; goto yy74; } else { if (yych == 'u') goto yy74; goto yy784; } } yy1228: YYDEBUG(1228, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; goto yy792; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych == 'p') goto yy792; goto yy53; } } yy1229: YYDEBUG(1229, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ',') { if (yych != '\t') goto yy1232; } else { if (yych <= '-') goto yy695; if (yych <= '.') goto yy931; if (yych <= '/') goto yy930; goto yy935; } } else { if (yych <= 'q') { if (yych == 'n') goto yy692; goto yy1232; } else { if (yych <= 'r') goto yy693; if (yych <= 's') goto yy686; if (yych <= 't') goto yy690; goto yy1232; } } yy1230: YYDEBUG(1230, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1232; if (yych <= '0') goto yy932; if (yych <= '1') goto yy933; if (yych <= '9') goto yy934; goto yy1232; yy1231: YYDEBUG(1231, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1232: YYDEBUG(1232, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy1231; case '-': case '.': goto yy783; case 'A': case 'a': goto yy780; case 'D': case 'd': goto yy688; case 'F': case 'f': goto yy689; case 'H': case 'h': goto yy60; case 'I': goto yy697; case 'J': case 'j': goto yy701; case 'M': case 'm': goto yy687; case 'N': case 'n': goto yy704; case 'O': case 'o': goto yy703; case 'S': case 's': goto yy685; case 'T': case 't': goto yy65; case 'V': goto yy699; case 'W': case 'w': goto yy62; case 'X': goto yy700; case 'Y': case 'y': goto yy64; default: goto yy53; } yy1233: YYDEBUG(1233, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy1230; if (yych <= ',') goto yy1232; goto yy695; } else { if (yych <= '.') goto yy1234; if (yych <= '/') goto yy930; if (yych <= '5') goto yy1236; goto yy935; } } else { if (yych <= 'q') { if (yych <= ':') goto yy1235; if (yych == 'n') goto yy692; goto yy1232; } else { if (yych <= 'r') goto yy693; if (yych <= 's') goto yy686; if (yych <= 't') goto yy690; goto yy1232; } } yy1234: YYDEBUG(1234, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy784; if (yych <= '0') goto yy1258; goto yy1259; } else { if (yych <= '5') goto yy1260; if (yych <= '9') goto yy1261; goto yy784; } yy1235: YYDEBUG(1235, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1253; if (yych <= '9') goto yy1254; goto yy53; yy1236: YYDEBUG(1236, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy936; if (yych <= '/') goto yy57; if (yych >= ':') goto yy57; YYDEBUG(1237, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy975; case '-': goto yy972; case '.': goto yy976; case '/': goto yy973; case '0': goto yy1239; case '1': goto yy1240; case '2': goto yy1241; case '3': goto yy1242; case '4': case '5': goto yy1243; case '6': goto yy1244; case '7': case '8': case '9': goto yy51; case ':': goto yy991; case 'W': goto yy994; default: goto yy1238; } yy1238: YYDEBUG(1238, *YYCURSOR); #line 992 "parse_date.db.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; add_error(s, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 18454 "" yy1239: YYDEBUG(1239, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1251; if (yych <= '9') goto yy1252; goto yy57; yy1240: YYDEBUG(1240, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy1250; if (yych <= '9') goto yy1249; goto yy57; yy1241: YYDEBUG(1241, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1249; goto yy57; yy1242: YYDEBUG(1242, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy1247; if (yych <= '6') goto yy1248; if (yych <= '9') goto yy1245; goto yy57; yy1243: YYDEBUG(1243, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1245; goto yy57; yy1244: YYDEBUG(1244, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1245; if (yych <= '9') goto yy51; goto yy57; yy1245: YYDEBUG(1245, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy51; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych >= ' ') goto yy57; } else { if (yych == 'D') goto yy57; if (yych >= 'F') goto yy57; } } else { if (yych <= 'M') { if (yych == 'H') goto yy57; if (yych >= 'M') goto yy57; } else { if (yych <= 'R') goto yy1246; if (yych <= 'T') goto yy57; if (yych >= 'W') goto yy57; } } } else { if (yych <= 'h') { if (yych <= 'd') { if (yych == 'Y') goto yy57; if (yych >= 'd') goto yy57; } else { if (yych == 'f') goto yy57; if (yych >= 'h') goto yy57; } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych >= 's') goto yy57; } else { if (yych <= 'w') { if (yych >= 'w') goto yy57; } else { if (yych == 'y') goto yy57; } } } } yy1246: YYDEBUG(1246, *YYCURSOR); #line 1038 "parse_date.db.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 18565 "" yy1247: YYDEBUG(1247, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '/') goto yy1246; if (yych <= '9') goto yy1004; if (yych <= 'C') goto yy1246; goto yy57; } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1246; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1246; goto yy57; } else { if (yych <= 'R') goto yy1246; if (yych <= 'T') goto yy57; goto yy1246; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1246; if (yych <= 'Y') goto yy57; goto yy1246; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1246; } else { if (yych == 'g') goto yy1246; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1248: YYDEBUG(1248, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '6') { if (yych <= '/') goto yy1246; goto yy1004; } else { if (yych <= '9') goto yy51; if (yych <= 'C') goto yy1246; goto yy57; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1246; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1246; goto yy57; } else { if (yych <= 'R') goto yy1246; if (yych <= 'T') goto yy57; goto yy1246; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1246; if (yych <= 'Y') goto yy57; goto yy1246; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1246; } else { if (yych == 'g') goto yy1246; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1249: YYDEBUG(1249, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '/') goto yy1246; if (yych <= '9') goto yy1004; if (yych <= 'C') goto yy1246; goto yy57; } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1246; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1246; goto yy57; } else { if (yych <= 'R') goto yy1246; if (yych <= 'T') goto yy57; goto yy1246; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1246; if (yych <= 'Y') goto yy57; goto yy1246; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1246; } else { if (yych == 'g') goto yy1246; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1250: YYDEBUG(1250, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '0') { if (yych <= '/') goto yy1246; goto yy1028; } else { if (yych <= '2') goto yy1029; if (yych <= '3') goto yy1030; goto yy1004; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy1246; goto yy57; } else { if (yych == 'F') goto yy57; goto yy1246; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy57; goto yy1246; } else { if (yych <= 'M') goto yy57; if (yych <= 'R') goto yy1246; goto yy57; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy57; if (yych <= 'X') goto yy1246; goto yy57; } else { if (yych <= 'd') { if (yych <= 'c') goto yy1246; goto yy57; } else { if (yych == 'f') goto yy57; goto yy1246; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy57; goto yy1246; } else { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1251: YYDEBUG(1251, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '0') { if (yych <= '/') goto yy1246; goto yy51; } else { if (yych <= '9') goto yy1004; if (yych <= 'C') goto yy1246; goto yy57; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy57; if (yych <= 'G') goto yy1246; goto yy57; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1246; goto yy57; } else { if (yych <= 'R') goto yy1246; if (yych <= 'T') goto yy57; goto yy1246; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1246; if (yych <= 'Y') goto yy57; goto yy1246; } else { if (yych <= 'e') { if (yych <= 'd') goto yy57; goto yy1246; } else { if (yych == 'g') goto yy1246; goto yy57; } } } else { if (yych <= 't') { if (yych == 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1252: YYDEBUG(1252, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy1246; goto yy57; } else { if (yych <= '0') { if (yych <= '/') goto yy1246; goto yy1028; } else { if (yych <= '2') goto yy1029; if (yych <= '3') goto yy1030; goto yy1004; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy1246; goto yy57; } else { if (yych == 'F') goto yy57; goto yy1246; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy57; goto yy1246; } else { if (yych <= 'M') goto yy57; if (yych <= 'R') goto yy1246; goto yy57; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy57; if (yych <= 'X') goto yy1246; goto yy57; } else { if (yych <= 'd') { if (yych <= 'c') goto yy1246; goto yy57; } else { if (yych == 'f') goto yy57; goto yy1246; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy57; goto yy1246; } else { if (yych <= 'm') goto yy57; if (yych <= 'r') goto yy1246; goto yy57; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy1246; goto yy57; } else { if (yych == 'y') goto yy57; goto yy1246; } } } } yy1253: YYDEBUG(1253, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1255; goto yy713; } else { if (yych <= '9') goto yy1254; if (yych <= ':') goto yy1255; goto yy713; } yy1254: YYDEBUG(1254, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1255; if (yych != ':') goto yy713; yy1255: YYDEBUG(1255, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1256; if (yych <= '6') goto yy1257; if (yych <= '9') goto yy718; goto yy53; yy1256: YYDEBUG(1256, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych <= '9') goto yy718; goto yy713; yy1257: YYDEBUG(1257, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych == '0') goto yy718; goto yy713; yy1258: YYDEBUG(1258, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; goto yy1262; } else { if (yych <= '/') goto yy713; if (yych <= '9') goto yy1261; if (yych <= ':') goto yy1255; goto yy713; } yy1259: YYDEBUG(1259, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; if (yych <= '.') goto yy1262; goto yy713; } else { if (yych <= '2') goto yy1261; if (yych <= '9') goto yy1254; if (yych <= ':') goto yy1255; goto yy713; } yy1260: YYDEBUG(1260, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; goto yy1262; } else { if (yych <= '/') goto yy713; if (yych <= '9') goto yy1254; if (yych <= ':') goto yy1255; goto yy713; } yy1261: YYDEBUG(1261, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy713; if (yych <= '-') goto yy807; } else { if (yych == ':') goto yy1255; goto yy713; } yy1262: YYDEBUG(1262, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1263; if (yych <= '6') goto yy1264; if (yych <= '9') goto yy811; goto yy53; yy1263: YYDEBUG(1263, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych <= '9') goto yy1265; goto yy713; yy1264: YYDEBUG(1264, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy719; goto yy713; } else { if (yych <= '0') goto yy1265; if (yych <= '9') goto yy812; goto yy713; } yy1265: YYDEBUG(1265, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy719; if (yych <= '/') goto yy713; if (yych <= '9') goto yy814; goto yy713; yy1266: YYDEBUG(1266, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy682; if (yych <= ',') goto yy684; goto yy695; } else { if (yych <= '.') goto yy696; if (yych <= '/') goto yy694; if (yych <= '5') goto yy1236; goto yy935; } } else { if (yych <= 'q') { if (yych <= ':') goto yy705; if (yych == 'n') goto yy692; goto yy684; } else { if (yych <= 'r') goto yy693; if (yych <= 's') goto yy686; if (yych <= 't') goto yy690; goto yy684; } } yy1267: YYDEBUG(1267, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy1230; if (yych <= ',') goto yy1232; goto yy695; } else { if (yych <= '.') goto yy1234; if (yych <= '/') goto yy694; if (yych <= '5') goto yy1236; goto yy935; } } else { if (yych <= 'q') { if (yych <= ':') goto yy1235; if (yych == 'n') goto yy692; goto yy1232; } else { if (yych <= 'r') goto yy693; if (yych <= 's') goto yy686; if (yych <= 't') goto yy690; goto yy1232; } } yy1268: YYDEBUG(1268, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1269: YYDEBUG(1269, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(1270, *YYCURSOR); if (yych <= '/') goto yy1271; if (yych <= '9') goto yy1269; yy1271: YYDEBUG(1271, *YYCURSOR); #line 925 "parse_date.db.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 19199 "" yy1272: YYDEBUG(1272, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1312; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1312; if (yych <= 'z') goto yy134; goto yy3; } } yy1273: YYDEBUG(1273, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy1306; if (yych <= 'T') goto yy134; goto yy1305; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy134; goto yy1306; } else { if (yych == 'u') goto yy1305; if (yych <= 'z') goto yy134; goto yy3; } } yy1274: YYDEBUG(1274, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'D') goto yy1294; if (yych <= 'L') goto yy134; goto yy1295; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy134; goto yy1294; } else { if (yych == 'm') goto yy1295; if (yych <= 'z') goto yy134; goto yy3; } } yy1275: YYDEBUG(1275, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1290; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1290; if (yych <= 'z') goto yy134; goto yy3; } } yy1276: YYDEBUG(1276, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1286; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1286; if (yych <= 'z') goto yy134; goto yy3; } } yy1277: YYDEBUG(1277, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1235; goto yy53; } else { if (yych <= '9') goto yy1280; if (yych <= ':') goto yy1235; goto yy53; } yy1278: YYDEBUG(1278, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1235; goto yy53; } else { if (yych <= '3') goto yy1280; if (yych == ':') goto yy1235; goto yy53; } yy1279: YYDEBUG(1279, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy1235; if (yych == ':') goto yy1235; goto yy53; yy1280: YYDEBUG(1280, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1235; goto yy53; } else { if (yych <= '5') goto yy1281; if (yych == ':') goto yy1235; goto yy53; } yy1281: YYDEBUG(1281, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; YYDEBUG(1282, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy1238; if (yych <= '5') goto yy1283; if (yych <= '6') goto yy1284; goto yy1238; yy1283: YYDEBUG(1283, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1285; goto yy53; yy1284: YYDEBUG(1284, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy53; yy1285: YYDEBUG(1285, *YYCURSOR); yych = *++YYCURSOR; goto yy1246; yy1286: YYDEBUG(1286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'l') goto yy1287; if (yych <= 'z') goto yy135; goto yy3; } } yy1287: YYDEBUG(1287, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'E') goto yy136; } } else { if (yych <= 'e') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'f') goto yy1288; if (yych <= 'z') goto yy136; goto yy3; } } yy1288: YYDEBUG(1288, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 't') goto yy1289; if (yych <= 'z') goto yy137; goto yy3; } } yy1289: YYDEBUG(1289, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy163; if (yych == 'h') goto yy163; goto yy3; } yy1290: YYDEBUG(1290, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'R') goto yy135; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 's') goto yy1291; if (yych <= 'z') goto yy135; goto yy405; } } yy1291: YYDEBUG(1291, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy136; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'd') goto yy1292; if (yych <= 'z') goto yy136; goto yy3; } } yy1292: YYDEBUG(1292, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; goto yy3; } else { if (yych <= 'a') goto yy1293; if (yych <= 'z') goto yy137; goto yy3; } } yy1293: YYDEBUG(1293, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy411; if (yych == 'y') goto yy411; goto yy3; } yy1294: YYDEBUG(1294, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1302; } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= 'a') goto yy1302; if (yych <= 'z') goto yy135; goto yy3; } } yy1295: YYDEBUG(1295, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy1296; if (yych <= 'z') goto yy135; goto yy3; } } yy1296: YYDEBUG(1296, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy136; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'r') goto yy1297; if (yych <= 'z') goto yy136; goto yy3; } } yy1297: YYDEBUG(1297, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'r') goto yy1298; if (yych <= 'z') goto yy137; goto yy3; } } yy1298: YYDEBUG(1298, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'O') goto yy1299; if (yych != 'o') goto yy3; } yy1299: YYDEBUG(1299, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1300; if (yych != 'w') goto yy53; yy1300: YYDEBUG(1300, *YYCURSOR); ++YYCURSOR; yy1301: YYDEBUG(1301, *YYCURSOR); #line 913 "parse_date.db.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 19646 "" yy1302: YYDEBUG(1302, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy136; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'y') goto yy1303; if (yych <= 'z') goto yy136; goto yy3; } } yy1303: YYDEBUG(1303, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy1304; if (yych <= 'z') goto yy137; } yy1304: YYDEBUG(1304, *YYCURSOR); #line 903 "parse_date.db.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 19690 "" yy1305: YYDEBUG(1305, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'Q') goto yy135; goto yy1308; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 'r') goto yy1308; if (yych <= 'z') goto yy135; goto yy405; } } yy1306: YYDEBUG(1306, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Q') goto yy135; if (yych >= 'S') goto yy321; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy1307; if (yych <= 's') goto yy321; if (yych <= 'z') goto yy135; goto yy3; } } yy1307: YYDEBUG(1307, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy136; goto yy376; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'd') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy1308: YYDEBUG(1308, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy136; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 's') goto yy1309; if (yych <= 'z') goto yy136; goto yy3; } } yy1309: YYDEBUG(1309, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'd') goto yy1310; if (yych <= 'z') goto yy137; goto yy3; } } yy1310: YYDEBUG(1310, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy1311; if (yych != 'a') goto yy3; } yy1311: YYDEBUG(1311, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych == 'y') goto yy411; goto yy53; yy1312: YYDEBUG(1312, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1313; if (yych <= 'z') goto yy135; goto yy3; } } yy1313: YYDEBUG(1313, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'h') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy1314: YYDEBUG(1314, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1312; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy1343; if (yych <= 'z') goto yy139; goto yy3; } } yy1315: YYDEBUG(1315, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'I') goto yy1306; if (yych <= 'T') goto yy134; goto yy1305; } } } else { if (yych <= 'h') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 't') { if (yych <= 'i') goto yy1337; goto yy139; } else { if (yych <= 'u') goto yy1336; if (yych <= 'z') goto yy139; goto yy3; } } } yy1316: YYDEBUG(1316, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'C') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'D') goto yy1294; if (yych <= 'L') goto yy134; goto yy1295; } } } else { if (yych <= 'c') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 'l') { if (yych <= 'd') goto yy1327; goto yy139; } else { if (yych <= 'm') goto yy1328; if (yych <= 'z') goto yy139; goto yy3; } } } yy1317: YYDEBUG(1317, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1290; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy1323; if (yych <= 'z') goto yy139; goto yy3; } } yy1318: YYDEBUG(1318, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1286; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy1319; if (yych <= 'z') goto yy139; goto yy3; } } yy1319: YYDEBUG(1319, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; goto yy1287; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'l') goto yy1320; if (yych <= 'z') goto yy144; goto yy3; } } yy1320: YYDEBUG(1320, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'E') goto yy136; goto yy1288; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'f') goto yy1321; if (yych <= 'z') goto yy145; goto yy3; } } yy1321: YYDEBUG(1321, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy137; goto yy1289; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy1322; if (yych <= 'z') goto yy146; goto yy3; } } yy1322: YYDEBUG(1322, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'G') goto yy3; goto yy163; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy245; if (yych <= 'z') goto yy147; goto yy3; } } yy1323: YYDEBUG(1323, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'R') goto yy135; goto yy1291; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 's') goto yy1324; if (yych <= 'z') goto yy144; goto yy405; } } yy1324: YYDEBUG(1324, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy136; goto yy1292; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy1325; if (yych <= 'z') goto yy145; goto yy3; } } yy1325: YYDEBUG(1325, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy1293; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy137; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1326; if (yych <= 'z') goto yy146; goto yy3; } } yy1326: YYDEBUG(1326, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'X') goto yy3; goto yy411; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy419; if (yych <= 'z') goto yy147; goto yy3; } } yy1327: YYDEBUG(1327, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy1302; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1334; if (yych <= 'z') goto yy144; goto yy3; } } yy1328: YYDEBUG(1328, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy1296; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy1329; if (yych <= 'z') goto yy144; goto yy3; } } yy1329: YYDEBUG(1329, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy136; goto yy1297; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy1330; if (yych <= 'z') goto yy145; goto yy3; } } yy1330: YYDEBUG(1330, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; goto yy1298; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy1331; if (yych <= 'z') goto yy146; goto yy3; } } yy1331: YYDEBUG(1331, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'N') goto yy3; goto yy1299; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'o') goto yy1332; if (yych <= 'z') goto yy147; goto yy3; } } yy1332: YYDEBUG(1332, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1300; if (yych != 'w') goto yy148; YYDEBUG(1333, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy1301; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy1301; if (yych <= 'z') goto yy147; goto yy1301; } yy1334: YYDEBUG(1334, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy136; goto yy1303; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy1335; if (yych <= 'z') goto yy145; goto yy3; } } yy1335: YYDEBUG(1335, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1304; goto yy132; } else { if (yych == '/') goto yy140; goto yy1304; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy137; if (yych <= '^') goto yy1304; goto yy140; } else { if (yych <= '`') goto yy1304; if (yych <= 'z') goto yy146; goto yy1304; } } yy1336: YYDEBUG(1336, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'Q') goto yy135; goto yy1308; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'r') goto yy1339; if (yych <= 'z') goto yy144; goto yy405; } } yy1337: YYDEBUG(1337, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; if (yych <= 'R') goto yy1307; goto yy321; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych <= 'r') { if (yych <= 'q') goto yy144; } else { if (yych <= 's') goto yy345; if (yych <= 'z') goto yy144; goto yy3; } } } YYDEBUG(1338, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy1339: YYDEBUG(1339, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy136; goto yy1309; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy1340; if (yych <= 'z') goto yy145; goto yy3; } } yy1340: YYDEBUG(1340, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy137; goto yy1310; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy1341; if (yych <= 'z') goto yy146; goto yy3; } } yy1341: YYDEBUG(1341, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy1311; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych <= 'a') goto yy1342; if (yych <= 'z') goto yy147; goto yy3; } } yy1342: YYDEBUG(1342, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy411; if (yych == 'y') goto yy419; goto yy148; yy1343: YYDEBUG(1343, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1313; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy1344; if (yych <= 'z') goto yy144; goto yy3; } } yy1344: YYDEBUG(1344, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy1345: YYDEBUG(1345, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'R') goto yy1357; if (yych <= 'X') goto yy134; goto yy1358; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy134; goto yy1357; } else { if (yych == 'y') goto yy1358; if (yych <= 'z') goto yy134; goto yy3; } } yy1346: YYDEBUG(1346, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1351; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy1351; if (yych <= 'z') goto yy134; goto yy3; } } yy1347: YYDEBUG(1347, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1348; if (yych <= 'z') goto yy134; goto yy3; } } yy1348: YYDEBUG(1348, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy405; goto yy132; } else { if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy405; goto yy135; } else { if (yych <= 'd') goto yy1349; if (yych <= 'z') goto yy135; goto yy405; } } yy1349: YYDEBUG(1349, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; goto yy3; } else { if (yych <= 'a') goto yy1350; if (yych <= 'z') goto yy136; goto yy3; } } yy1350: YYDEBUG(1350, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; goto yy546; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'y') goto yy546; if (yych <= 'z') goto yy137; goto yy3; } } yy1351: YYDEBUG(1351, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1352; if (yych <= 'z') goto yy135; goto yy3; } } yy1352: YYDEBUG(1352, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy136; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'i') goto yy1353; if (yych <= 'z') goto yy136; goto yy3; } } yy1353: YYDEBUG(1353, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy137; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'g') goto yy1354; if (yych <= 'z') goto yy137; goto yy3; } } yy1354: YYDEBUG(1354, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy1355; if (yych != 'h') goto yy3; } yy1355: YYDEBUG(1355, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1356; if (yych != 't') goto yy53; yy1356: YYDEBUG(1356, *YYCURSOR); yych = *++YYCURSOR; goto yy1304; yy1357: YYDEBUG(1357, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych == 'C') goto yy1359; goto yy135; } } else { if (yych <= 'b') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'c') goto yy1359; if (yych <= 'z') goto yy135; goto yy3; } } } yy1358: YYDEBUG(1358, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych == ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy423; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy1359: YYDEBUG(1359, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy604; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'h') goto yy604; if (yych <= 'z') goto yy136; goto yy3; } } yy1360: YYDEBUG(1360, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy140; } else { if (yych <= 'Q') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'R') goto yy1357; if (yych <= 'X') goto yy134; goto yy1358; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 'x') { if (yych <= 'r') goto yy1372; goto yy139; } else { if (yych <= 'y') goto yy1373; if (yych <= 'z') goto yy139; goto yy3; } } } yy1361: YYDEBUG(1361, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1351; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy1366; if (yych <= 'z') goto yy139; goto yy3; } } yy1362: YYDEBUG(1362, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1348; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy1363; if (yych <= 'z') goto yy139; goto yy3; } } yy1363: YYDEBUG(1363, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy405; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy405; if (yych <= 'C') goto yy135; goto yy1349; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy405; } else { if (yych == 'd') goto yy1364; if (yych <= 'z') goto yy144; goto yy405; } } yy1364: YYDEBUG(1364, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; goto yy1350; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1365; if (yych <= 'z') goto yy145; goto yy3; } } yy1365: YYDEBUG(1365, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy137; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'y') goto yy575; if (yych <= 'z') goto yy146; goto yy3; } } yy1366: YYDEBUG(1366, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1352; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy1367; if (yych <= 'z') goto yy144; goto yy3; } } yy1367: YYDEBUG(1367, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy136; goto yy1353; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'i') goto yy1368; if (yych <= 'z') goto yy145; goto yy3; } } yy1368: YYDEBUG(1368, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy137; goto yy1354; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'g') goto yy1369; if (yych <= 'z') goto yy146; goto yy3; } } yy1369: YYDEBUG(1369, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'G') goto yy3; goto yy1355; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy1370; if (yych <= 'z') goto yy147; goto yy3; } } yy1370: YYDEBUG(1370, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1356; if (yych != 't') goto yy148; YYDEBUG(1371, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy1304; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy1304; if (yych <= 'z') goto yy147; goto yy1304; } yy1372: YYDEBUG(1372, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'B') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'C') goto yy1359; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'b') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'c') goto yy1374; if (yych <= 'z') goto yy144; goto yy3; } } } yy1373: YYDEBUG(1373, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy423; if (yych <= 0x1F) goto yy3; goto yy423; } else { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= ',') goto yy3; if (yych <= '-') goto yy424; goto yy423; } } } else { if (yych <= 'Z') { if (yych <= '/') goto yy140; if (yych <= '9') goto yy423; if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy144; goto yy3; } } } yy1374: YYDEBUG(1374, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy604; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy615; if (yych <= 'z') goto yy145; goto yy3; } } yy1375: YYDEBUG(1375, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') goto yy1383; if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1384; goto yy1381; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy134; goto yy1383; } else { if (yych <= 'v') { if (yych <= 'u') goto yy134; goto yy1384; } else { if (yych <= 'w') goto yy1381; if (yych <= 'z') goto yy134; goto yy3; } } } yy1376: YYDEBUG(1376, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1380; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy1380; if (yych <= 'z') goto yy134; goto yy3; } } yy1377: YYDEBUG(1377, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1378; if (yych <= 'z') goto yy134; goto yy3; } } yy1378: YYDEBUG(1378, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1379; if (yych <= 'z') goto yy135; goto yy3; } } yy1379: YYDEBUG(1379, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'h') goto yy376; if (yych <= 'z') goto yy136; goto yy3; } } yy1380: YYDEBUG(1380, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy321; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy321; if (yych <= 'z') goto yy135; goto yy3; } } yy1381: YYDEBUG(1381, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy1382; if (yych <= 'z') goto yy135; } yy1382: YYDEBUG(1382, *YYCURSOR); #line 882 "parse_date.db.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 21471 "" yy1383: YYDEBUG(1383, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1389; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1389; if (yych <= 'z') goto yy135; goto yy3; } } yy1384: YYDEBUG(1384, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy132; goto yy3; } else { if (yych <= '-') goto yy424; if (yych <= '.') goto yy423; goto yy3; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy423; goto yy3; } else { if (yych != 'E') goto yy135; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy1385; if (yych <= 'z') goto yy135; goto yy3; } } } yy1385: YYDEBUG(1385, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy136; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'm') goto yy1386; if (yych <= 'z') goto yy136; goto yy3; } } yy1386: YYDEBUG(1386, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy137; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'b') goto yy1387; if (yych <= 'z') goto yy137; goto yy3; } } yy1387: YYDEBUG(1387, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy1388; if (yych != 'e') goto yy3; } yy1388: YYDEBUG(1388, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy422; if (yych == 'r') goto yy422; goto yy53; yy1389: YYDEBUG(1389, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy1390; if (yych <= 'z') goto yy136; } yy1390: YYDEBUG(1390, *YYCURSOR); #line 891 "parse_date.db.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 21621 "" yy1391: YYDEBUG(1391, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy140; goto yy3; } } else { if (yych <= 'O') { if (yych <= 'N') goto yy134; goto yy1383; } else { if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1384; goto yy1381; } } } else { if (yych <= 'n') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy139; } } else { if (yych <= 'v') { if (yych <= 'o') goto yy1398; if (yych <= 'u') goto yy139; goto yy1399; } else { if (yych <= 'w') goto yy1397; if (yych <= 'z') goto yy139; goto yy3; } } } yy1392: YYDEBUG(1392, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1380; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'x') goto yy1396; if (yych <= 'z') goto yy139; goto yy3; } } yy1393: YYDEBUG(1393, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1378; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy1394; if (yych <= 'z') goto yy139; goto yy3; } } yy1394: YYDEBUG(1394, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1379; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy1395; if (yych <= 'z') goto yy144; goto yy3; } } yy1395: YYDEBUG(1395, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy136; goto yy376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'h') goto yy394; if (yych <= 'z') goto yy145; goto yy3; } } yy1396: YYDEBUG(1396, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy321; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy345; if (yych <= 'z') goto yy144; goto yy3; } } yy1397: YYDEBUG(1397, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1382; goto yy132; } else { if (yych == '/') goto yy140; goto yy1382; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy1382; goto yy140; } else { if (yych <= '`') goto yy1382; if (yych <= 'z') goto yy144; goto yy1382; } } yy1398: YYDEBUG(1398, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1389; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'n') goto yy1404; if (yych <= 'z') goto yy144; goto yy3; } } yy1399: YYDEBUG(1399, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy423; } else { if (yych == ' ') goto yy423; goto yy3; } } else { if (yych <= '-') { if (yych <= ')') goto yy132; if (yych <= ',') goto yy3; goto yy424; } else { if (yych == '/') goto yy140; goto yy423; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= 'E') goto yy1385; if (yych <= 'Z') goto yy135; goto yy3; } } else { if (yych <= 'd') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy3; goto yy144; } else { if (yych <= 'e') goto yy1400; if (yych <= 'z') goto yy144; goto yy3; } } } yy1400: YYDEBUG(1400, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy136; goto yy1386; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'm') goto yy1401; if (yych <= 'z') goto yy145; goto yy3; } } yy1401: YYDEBUG(1401, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy137; goto yy1387; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'b') goto yy1402; if (yych <= 'z') goto yy146; goto yy3; } } yy1402: YYDEBUG(1402, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'D') goto yy3; goto yy1388; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy1403; if (yych <= 'z') goto yy147; goto yy3; } } yy1403: YYDEBUG(1403, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy140; } else { if (yych == 'R') goto yy422; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy140; if (yych <= '`') goto yy53; goto yy147; } else { if (yych <= 'r') goto yy528; if (yych <= 'z') goto yy147; goto yy53; } } yy1404: YYDEBUG(1404, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1390; goto yy132; } else { if (yych == '/') goto yy140; goto yy1390; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy136; if (yych <= '^') goto yy1390; goto yy140; } else { if (yych <= '`') goto yy1390; if (yych <= 'z') goto yy145; goto yy1390; } } yy1405: YYDEBUG(1405, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy1406; if (yych <= 'z') goto yy134; goto yy3; } } yy1406: YYDEBUG(1406, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1407; if (yych <= 'z') goto yy135; goto yy3; } } yy1407: YYDEBUG(1407, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy136; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy1408; if (yych <= 'z') goto yy136; goto yy3; } } yy1408: YYDEBUG(1408, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy137; if (yych <= '`') goto yy3; goto yy137; } else { if (yych <= 'r') goto yy1409; if (yych <= 'z') goto yy137; goto yy3; } } yy1409: YYDEBUG(1409, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy1410; if (yych != 'd') goto yy3; } yy1410: YYDEBUG(1410, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1411; if (yych != 'a') goto yy53; yy1411: YYDEBUG(1411, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1412; if (yych != 'y') goto yy53; yy1412: YYDEBUG(1412, *YYCURSOR); ++YYCURSOR; yy1413: YYDEBUG(1413, *YYCURSOR); #line 870 "parse_date.db.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 22128 "" yy1414: YYDEBUG(1414, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy1406; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 's') goto yy1415; if (yych <= 'z') goto yy139; goto yy3; } } yy1415: YYDEBUG(1415, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1407; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 't') goto yy1416; if (yych <= 'z') goto yy144; goto yy3; } } yy1416: YYDEBUG(1416, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy136; goto yy1408; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy136; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'e') goto yy1417; if (yych <= 'z') goto yy145; goto yy3; } } yy1417: YYDEBUG(1417, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy137; goto yy1409; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy137; if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'r') goto yy1418; if (yych <= 'z') goto yy146; goto yy3; } } yy1418: YYDEBUG(1418, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy140; if (yych <= 'C') goto yy3; goto yy1410; } } else { if (yych <= '`') { if (yych == '_') goto yy140; goto yy3; } else { if (yych == 'd') goto yy1419; if (yych <= 'z') goto yy147; goto yy3; } } yy1419: YYDEBUG(1419, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1411; if (yych != 'a') goto yy148; YYDEBUG(1420, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1412; if (yych != 'y') goto yy148; YYDEBUG(1421, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy140; goto yy1413; } else { if (yych <= '_') goto yy140; if (yych <= '`') goto yy1413; if (yych <= 'z') goto yy147; goto yy1413; } } #line 1444 "parse_date.db.re" } #define YYMAXFILL 29 timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { in.time = timelib_time_ctor(); add_error(&in, "Empty string"); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/config2.s.c0000775000076500007660000000455211016275331012314 00000000000000/* Generated by re2c */ #line 1 "config2.s.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; #line 15 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'b') { if (yych <= '`') goto yy10; if (yych >= 'b') goto yy4; } else { if (yych <= 'c') goto yy6; if (yych <= 'd') goto yy8; goto yy10; } ++YYCURSOR; #line 13 "config2.s.re" { return YYCURSOR; } #line 32 "" yy4: ++YYCURSOR; #line 14 "config2.s.re" { return YYCURSOR; } #line 37 "" yy6: ++YYCURSOR; #line 15 "config2.s.re" { return YYCURSOR; } #line 42 "" yy8: ++YYCURSOR; #line 16 "config2.s.re" { return YYCURSOR; } #line 47 "" yy10: ++YYCURSOR; #line 17 "config2.s.re" { return NULL; } #line 52 "" } #line 18 "config2.s.re" } char *scan1(char *p) { char *q; #line 62 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'b') { if (yych <= '`') goto yy22; if (yych >= 'b') goto yy16; } else { if (yych <= 'c') goto yy18; if (yych <= 'd') goto yy20; goto yy22; } ++YYCURSOR; #line 26 "config2.s.re" { return YYCURSOR; } #line 78 "" yy16: ++YYCURSOR; #line 27 "config2.s.re" { return YYCURSOR; } #line 83 "" yy18: ++YYCURSOR; #line 28 "config2.s.re" { return YYCURSOR; } #line 88 "" yy20: ++YYCURSOR; #line 29 "config2.s.re" { return YYCURSOR; } #line 93 "" yy22: ++YYCURSOR; #line 30 "config2.s.re" { return NULL; } #line 98 "" } #line 31 "config2.s.re" } char *scan(char *p) { char *q; #line 108 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'b') { if (yych <= '`') goto yy34; if (yych >= 'b') goto yy28; } else { if (yych <= 'c') goto yy30; if (yych <= 'd') goto yy32; goto yy34; } ++YYCURSOR; #line 39 "config2.s.re" { return YYCURSOR; } #line 124 "" yy28: ++YYCURSOR; #line 40 "config2.s.re" { return YYCURSOR; } #line 129 "" yy30: ++YYCURSOR; #line 41 "config2.s.re" { return YYCURSOR; } #line 134 "" yy32: ++YYCURSOR; #line 42 "config2.s.re" { return YYCURSOR; } #line 139 "" yy34: ++YYCURSOR; #line 43 "config2.s.re" { return NULL; } #line 144 "" } #line 44 "config2.s.re" } re2c-0.13.5/test/cmmap.c0000664000076500007660000016416711016275331011627 00000000000000/* Generated by re2c */ #line 1 "cmmap.re" #include #include #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int unint; typedef unsigned char uchar; #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { uchar *tok, *ptr, *cur, *pos, *lim, *eof; unint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unint cnt = s->lim - s->tok; uchar *buf = malloc((cnt + 1)*sizeof(uchar)); memcpy(buf, s->tok, cnt); cursor = &buf[cursor - s->tok]; s->pos = &buf[s->pos - s->tok]; s->ptr = &buf[s->ptr - s->tok]; s->lim = &buf[cnt]; s->eof = s->lim; *(s->eof)++ = '\n'; s->tok = buf; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; #line 116 "cmmap.re" #line 113 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy73; case '\n': goto yy75; case '!': goto yy49; case '"': goto yy28; case '%': goto yy39; case '&': goto yy41; case '\'': goto yy24; case '(': goto yy61; case ')': goto yy63; case '*': goto yy37; case '+': goto yy33; case ',': goto yy57; case '-': goto yy35; case '.': goto yy26; case '/': goto yy2; case '0': goto yy21; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy23; case ':': goto yy59; case ';': goto yy51; case '<': goto yy31; case '=': goto yy47; case '>': goto yy29; case '?': goto yy71; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'h': case 'j': case 'k': case 'm': case 'n': case 'o': case 'p': case 'q': case 'x': case 'y': case 'z': goto yy20; case '[': goto yy65; case ']': goto yy67; case '^': goto yy43; case 'a': goto yy4; case 'b': goto yy6; case 'c': goto yy7; case 'd': goto yy8; case 'e': goto yy9; case 'f': goto yy10; case 'g': goto yy11; case 'i': goto yy12; case 'l': goto yy13; case 'r': goto yy14; case 's': goto yy15; case 't': goto yy16; case 'u': goto yy17; case 'v': goto yy18; case 'w': goto yy19; case '{': goto yy53; case '|': goto yy45; case '}': goto yy55; case '~': goto yy69; default: goto yy77; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy341; case '=': goto yy339; default: goto yy3; } yy3: #line 205 "cmmap.re" { RET('/'); } #line 227 "" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'u': goto yy335; default: goto yy180; } yy5: #line 154 "cmmap.re" { RET(ID); } #line 237 "" yy6: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy330; default: goto yy180; } yy7: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy311; case 'h': goto yy312; case 'o': goto yy313; default: goto yy180; } yy8: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy297; case 'o': goto yy298; default: goto yy180; } yy9: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy283; case 'n': goto yy284; case 'x': goto yy285; default: goto yy180; } yy10: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy275; case 'o': goto yy276; default: goto yy180; } yy11: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy271; default: goto yy180; } yy12: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy266; case 'n': goto yy268; default: goto yy180; } yy13: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy262; default: goto yy180; } yy14: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy249; default: goto yy180; } yy15: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy216; case 'i': goto yy217; case 't': goto yy218; case 'w': goto yy219; default: goto yy180; } yy16: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy209; default: goto yy180; } yy17: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy197; default: goto yy180; } yy18: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy186; default: goto yy180; } yy19: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy181; default: goto yy180; } yy20: yych = *++YYCURSOR; goto yy180; yy21: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; case 'X': case 'x': goto yy172; default: goto yy171; } yy22: #line 158 "cmmap.re" { RET(ICON); } #line 350 "" yy23: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy153; yy24: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy25; default: goto yy143; } yy25: #line 224 "cmmap.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 368 "" yy26: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy131; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; default: goto yy27; } yy27: #line 198 "cmmap.re" { RET('.'); } #line 389 "" yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy25; default: goto yy121; } yy29: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy114; case '>': goto yy116; default: goto yy30; } yy30: #line 208 "cmmap.re" { RET('>'); } #line 407 "" yy31: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '<': goto yy110; case '=': goto yy108; default: goto yy32; } yy32: #line 207 "cmmap.re" { RET('<'); } #line 418 "" yy33: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '+': goto yy104; case '=': goto yy106; default: goto yy34; } yy34: #line 203 "cmmap.re" { RET('+'); } #line 429 "" yy35: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '-': goto yy100; case '=': goto yy102; case '>': goto yy98; default: goto yy36; } yy36: #line 202 "cmmap.re" { RET('-'); } #line 441 "" yy37: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy96; default: goto yy38; } yy38: #line 204 "cmmap.re" { RET('*'); } #line 451 "" yy39: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy94; default: goto yy40; } yy40: #line 206 "cmmap.re" { RET('%'); } #line 461 "" yy41: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '&': goto yy90; case '=': goto yy92; default: goto yy42; } yy42: #line 199 "cmmap.re" { RET('&'); } #line 472 "" yy43: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy88; default: goto yy44; } yy44: #line 209 "cmmap.re" { RET('^'); } #line 482 "" yy45: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy86; case '|': goto yy84; default: goto yy46; } yy46: #line 210 "cmmap.re" { RET('|'); } #line 493 "" yy47: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy82; default: goto yy48; } yy48: #line 193 "cmmap.re" { RET('='); } #line 503 "" yy49: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy80; default: goto yy50; } yy50: #line 200 "cmmap.re" { RET('!'); } #line 513 "" yy51: ++YYCURSOR; #line 188 "cmmap.re" { RET(';'); } #line 518 "" yy53: ++YYCURSOR; #line 189 "cmmap.re" { RET('{'); } #line 523 "" yy55: ++YYCURSOR; #line 190 "cmmap.re" { RET('}'); } #line 528 "" yy57: ++YYCURSOR; #line 191 "cmmap.re" { RET(','); } #line 533 "" yy59: ++YYCURSOR; #line 192 "cmmap.re" { RET(':'); } #line 538 "" yy61: ++YYCURSOR; #line 194 "cmmap.re" { RET('('); } #line 543 "" yy63: ++YYCURSOR; #line 195 "cmmap.re" { RET(')'); } #line 548 "" yy65: ++YYCURSOR; #line 196 "cmmap.re" { RET('['); } #line 553 "" yy67: ++YYCURSOR; #line 197 "cmmap.re" { RET(']'); } #line 558 "" yy69: ++YYCURSOR; #line 201 "cmmap.re" { RET('~'); } #line 563 "" yy71: ++YYCURSOR; #line 211 "cmmap.re" { RET('?'); } #line 568 "" yy73: ++YYCURSOR; yych = *YYCURSOR; goto yy79; yy74: #line 214 "cmmap.re" { goto std; } #line 576 "" yy75: ++YYCURSOR; #line 217 "cmmap.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 585 "" yy77: yych = *++YYCURSOR; goto yy25; yy78: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy79: switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy78; default: goto yy74; } yy80: ++YYCURSOR; #line 187 "cmmap.re" { RET(NEQ); } #line 605 "" yy82: ++YYCURSOR; #line 186 "cmmap.re" { RET(EQL); } #line 610 "" yy84: ++YYCURSOR; #line 183 "cmmap.re" { RET(OROR); } #line 615 "" yy86: ++YYCURSOR; #line 176 "cmmap.re" { RET(OREQ); } #line 620 "" yy88: ++YYCURSOR; #line 175 "cmmap.re" { RET(XOREQ); } #line 625 "" yy90: ++YYCURSOR; #line 182 "cmmap.re" { RET(ANDAND); } #line 630 "" yy92: ++YYCURSOR; #line 174 "cmmap.re" { RET(ANDEQ); } #line 635 "" yy94: ++YYCURSOR; #line 173 "cmmap.re" { RET(MODEQ); } #line 640 "" yy96: ++YYCURSOR; #line 171 "cmmap.re" { RET(MULEQ); } #line 645 "" yy98: ++YYCURSOR; #line 181 "cmmap.re" { RET(DEREF); } #line 650 "" yy100: ++YYCURSOR; #line 180 "cmmap.re" { RET(DECR); } #line 655 "" yy102: ++YYCURSOR; #line 170 "cmmap.re" { RET(SUBEQ); } #line 660 "" yy104: ++YYCURSOR; #line 179 "cmmap.re" { RET(INCR); } #line 665 "" yy106: ++YYCURSOR; #line 169 "cmmap.re" { RET(ADDEQ); } #line 670 "" yy108: ++YYCURSOR; #line 184 "cmmap.re" { RET(LEQ); } #line 675 "" yy110: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy112; default: goto yy111; } yy111: #line 178 "cmmap.re" { RET(LSHIFT); } #line 685 "" yy112: ++YYCURSOR; #line 168 "cmmap.re" { RET(LSHIFTEQ); } #line 690 "" yy114: ++YYCURSOR; #line 185 "cmmap.re" { RET(GEQ); } #line 695 "" yy116: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy118; default: goto yy117; } yy117: #line 177 "cmmap.re" { RET(RSHIFT); } #line 705 "" yy118: ++YYCURSOR; #line 167 "cmmap.re" { RET(RSHIFTEQ); } #line 710 "" yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy121: switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '\\': goto yy123; default: goto yy120; } yy122: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy22; case 1: goto yy25; case 2: goto yy27; case 3: goto yy134; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy120; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case 'x': goto yy126; default: goto yy122; } yy124: ++YYCURSOR; #line 164 "cmmap.re" { RET(SCON); } #line 761 "" yy126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; default: goto yy122; } yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy127; case '\\': goto yy123; default: goto yy120; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '"': goto yy124; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy129; case '\\': goto yy123; default: goto yy120; } yy131: yych = *++YYCURSOR; switch (yych) { case '.': goto yy140; default: goto yy122; } yy132: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy132; case 'E': case 'e': goto yy135; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy134: #line 161 "cmmap.re" { RET(FCON); } #line 874 "" yy135: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy137; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy136: yych = *++YYCURSOR; goto yy134; yy137: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; default: goto yy122; } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy138; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy140: ++YYCURSOR; #line 166 "cmmap.re" { RET(ELLIPSIS); } #line 935 "" yy142: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy143: switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '\\': goto yy144; default: goto yy142; } yy144: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy142; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case 'x': goto yy146; default: goto yy122; } yy145: yych = *++YYCURSOR; goto yy22; yy146: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; default: goto yy122; } yy147: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy147; case '\\': goto yy144; default: goto yy142; } yy149: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy122; case '\'': goto yy145; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy149; case '\\': goto yy144; default: goto yy142; } yy151: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy162; default: goto yy161; } yy152: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy153: switch (yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy152; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy154: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy157; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy155: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy155; default: goto yy22; } yy157: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; default: goto yy122; } yy158: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy158; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy160: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy161: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; case 'E': case 'e': goto yy166; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy162: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy163; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy163: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; default: goto yy122; } yy164: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy164; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy166: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy167; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy167: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; default: goto yy122; } yy168: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy168; case 'F': case 'L': case 'f': case 'l': goto yy136; default: goto yy134; } yy170: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy171: switch (yych) { case '.': goto yy151; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy170; case 'E': case 'e': goto yy154; case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy172: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; default: goto yy122; } yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy173; case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy175: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy175; default: goto yy22; } yy177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy177; default: goto yy22; } yy179: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy180: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy5; } yy181: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy182; default: goto yy180; } yy182: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy183; default: goto yy180; } yy183: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy184; default: goto yy180; } yy184: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy185; } yy185: #line 152 "cmmap.re" { RET(WHILE); } #line 1553 "" yy186: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy187; case 'l': goto yy188; default: goto yy180; } yy187: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy195; default: goto yy180; } yy188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy189; default: goto yy180; } yy189: yych = *++YYCURSOR; switch (yych) { case 't': goto yy190; default: goto yy180; } yy190: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy191; default: goto yy180; } yy191: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy192; default: goto yy180; } yy192: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy193; default: goto yy180; } yy193: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy194; } yy194: #line 151 "cmmap.re" { RET(VOLATILE); } #line 1668 "" yy195: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy196; } yy196: #line 150 "cmmap.re" { RET(VOID); } #line 1740 "" yy197: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy198; case 's': goto yy199; default: goto yy180; } yy198: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy206; default: goto yy180; } yy199: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy200; default: goto yy180; } yy200: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy201; default: goto yy180; } yy201: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy202; default: goto yy180; } yy202: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy203; default: goto yy180; } yy203: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy204; default: goto yy180; } yy204: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy205; } yy205: #line 149 "cmmap.re" { RET(UNSIGNED); } #line 1855 "" yy206: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy207; default: goto yy180; } yy207: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy208; } yy208: #line 148 "cmmap.re" { RET(UNION); } #line 1933 "" yy209: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy210; default: goto yy180; } yy210: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy211; default: goto yy180; } yy211: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy212; default: goto yy180; } yy212: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy213; default: goto yy180; } yy213: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy214; default: goto yy180; } yy214: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy215; } yy215: #line 147 "cmmap.re" { RET(TYPEDEF); } #line 2035 "" yy216: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy245; default: goto yy180; } yy217: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy235; case 'z': goto yy236; default: goto yy180; } yy218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy225; case 'r': goto yy226; default: goto yy180; } yy219: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy220; default: goto yy180; } yy220: yych = *++YYCURSOR; switch (yych) { case 't': goto yy221; default: goto yy180; } yy221: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy222; default: goto yy180; } yy222: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy223; default: goto yy180; } yy223: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy224; } yy224: #line 146 "cmmap.re" { RET(SWITCH); } #line 2151 "" yy225: yych = *++YYCURSOR; switch (yych) { case 't': goto yy231; default: goto yy180; } yy226: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy227; default: goto yy180; } yy227: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy228; default: goto yy180; } yy228: yych = *++YYCURSOR; switch (yych) { case 't': goto yy229; default: goto yy180; } yy229: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy230; } yy230: #line 145 "cmmap.re" { RET(STRUCT); } #line 2247 "" yy231: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy232; default: goto yy180; } yy232: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy233; default: goto yy180; } yy233: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy234; } yy234: #line 144 "cmmap.re" { RET(STATIC); } #line 2331 "" yy235: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy241; default: goto yy180; } yy236: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy237; default: goto yy180; } yy237: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy238; default: goto yy180; } yy238: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy239; default: goto yy180; } yy239: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy240; } yy240: #line 143 "cmmap.re" { RET(SIZEOF); } #line 2427 "" yy241: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy242; default: goto yy180; } yy242: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy243; default: goto yy180; } yy243: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy244; } yy244: #line 142 "cmmap.re" { RET(SIGNED); } #line 2511 "" yy245: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy246; default: goto yy180; } yy246: yych = *++YYCURSOR; switch (yych) { case 't': goto yy247; default: goto yy180; } yy247: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy248; } yy248: #line 141 "cmmap.re" { RET(SHORT); } #line 2595 "" yy249: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy250; case 't': goto yy251; default: goto yy180; } yy250: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy256; default: goto yy180; } yy251: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy252; default: goto yy180; } yy252: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy253; default: goto yy180; } yy253: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy254; default: goto yy180; } yy254: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy255; } yy255: #line 140 "cmmap.re" { RET(RETURN); } #line 2698 "" yy256: yych = *++YYCURSOR; switch (yych) { case 's': goto yy257; default: goto yy180; } yy257: yych = *++YYCURSOR; switch (yych) { case 't': goto yy258; default: goto yy180; } yy258: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy259; default: goto yy180; } yy259: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy260; default: goto yy180; } yy260: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy261; } yy261: #line 139 "cmmap.re" { RET(REGISTER); } #line 2794 "" yy262: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy263; default: goto yy180; } yy263: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy264; default: goto yy180; } yy264: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy265; } yy265: #line 138 "cmmap.re" { RET(LONG); } #line 2878 "" yy266: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy267; } yy267: #line 136 "cmmap.re" { RET(IF); } #line 2950 "" yy268: yych = *++YYCURSOR; switch (yych) { case 't': goto yy269; default: goto yy180; } yy269: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy270; } yy270: #line 137 "cmmap.re" { RET(INT); } #line 3028 "" yy271: yych = *++YYCURSOR; switch (yych) { case 't': goto yy272; default: goto yy180; } yy272: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy273; default: goto yy180; } yy273: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy274; } yy274: #line 135 "cmmap.re" { RET(GOTO); } #line 3112 "" yy275: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy279; default: goto yy180; } yy276: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy277; default: goto yy180; } yy277: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy278; } yy278: #line 134 "cmmap.re" { RET(FOR); } #line 3196 "" yy279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy280; default: goto yy180; } yy280: yych = *++YYCURSOR; switch (yych) { case 't': goto yy281; default: goto yy180; } yy281: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy282; } yy282: #line 133 "cmmap.re" { RET(FLOAT); } #line 3280 "" yy283: yych = *++YYCURSOR; switch (yych) { case 's': goto yy294; default: goto yy180; } yy284: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy291; default: goto yy180; } yy285: yych = *++YYCURSOR; switch (yych) { case 't': goto yy286; default: goto yy180; } yy286: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy287; default: goto yy180; } yy287: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy288; default: goto yy180; } yy288: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy289; default: goto yy180; } yy289: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy290; } yy290: #line 132 "cmmap.re" { RET(EXTERN); } #line 3388 "" yy291: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy292; default: goto yy180; } yy292: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy293; } yy293: #line 131 "cmmap.re" { RET(ENUM); } #line 3466 "" yy294: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy295; default: goto yy180; } yy295: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy296; } yy296: #line 130 "cmmap.re" { RET(ELSE); } #line 3544 "" yy297: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy305; default: goto yy180; } yy298: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; case 'u': goto yy300; default: goto yy299; } yy299: #line 128 "cmmap.re" { RET(DO); } #line 3622 "" yy300: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy301; default: goto yy180; } yy301: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy302; default: goto yy180; } yy302: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy303; default: goto yy180; } yy303: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy304; } yy304: #line 129 "cmmap.re" { RET(DOUBLE); } #line 3712 "" yy305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy306; default: goto yy180; } yy306: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy307; default: goto yy180; } yy307: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy308; default: goto yy180; } yy308: yych = *++YYCURSOR; switch (yych) { case 't': goto yy309; default: goto yy180; } yy309: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy310; } yy310: #line 127 "cmmap.re" { RET(DEFAULT); } #line 3808 "" yy311: yych = *++YYCURSOR; switch (yych) { case 's': goto yy327; default: goto yy180; } yy312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy324; default: goto yy180; } yy313: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy314; default: goto yy180; } yy314: yych = *++YYCURSOR; switch (yych) { case 's': goto yy315; case 't': goto yy316; default: goto yy180; } yy315: yych = *++YYCURSOR; switch (yych) { case 't': goto yy322; default: goto yy180; } yy316: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy317; default: goto yy180; } yy317: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy318; default: goto yy180; } yy318: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy319; default: goto yy180; } yy319: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy320; default: goto yy180; } yy320: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy321; } yy321: #line 126 "cmmap.re" { RET(CONTINUE); } #line 3935 "" yy322: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy323; } yy323: #line 125 "cmmap.re" { RET(CONST); } #line 4007 "" yy324: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy325; default: goto yy180; } yy325: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy326; } yy326: #line 124 "cmmap.re" { RET(CHAR); } #line 4085 "" yy327: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy328; default: goto yy180; } yy328: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy329; } yy329: #line 123 "cmmap.re" { RET(CASE); } #line 4163 "" yy330: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy331; default: goto yy180; } yy331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy332; default: goto yy180; } yy332: yych = *++YYCURSOR; switch (yych) { case 'k': goto yy333; default: goto yy180; } yy333: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy334; } yy334: #line 122 "cmmap.re" { RET(BREAK); } #line 4253 "" yy335: yych = *++YYCURSOR; switch (yych) { case 't': goto yy336; default: goto yy180; } yy336: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy337; default: goto yy180; } yy337: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy179; default: goto yy338; } yy338: #line 121 "cmmap.re" { RET(AUTO); } #line 4337 "" yy339: ++YYCURSOR; #line 172 "cmmap.re" { RET(DIVEQ); } #line 4342 "" yy341: ++YYCURSOR; #line 119 "cmmap.re" { goto comment; } #line 4347 "" } #line 228 "cmmap.re" comment: #line 4354 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy347; case '*': goto yy345; default: goto yy349; } yy345: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy350; default: goto yy346; } yy346: #line 239 "cmmap.re" { goto comment; } #line 4373 "" yy347: ++YYCURSOR; #line 234 "cmmap.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 4382 "" yy349: yych = *++YYCURSOR; goto yy346; yy350: ++YYCURSOR; #line 232 "cmmap.re" { goto std; } #line 4390 "" } #line 240 "cmmap.re" } #ifndef MAP_NORESERVE #define MAP_NORESERVE 0 #endif main(){ Scanner in; struct stat statbuf; uchar *buf; fstat(0, &statbuf); buf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED|MAP_NORESERVE, 0, 0); if(buf != (uchar*)(-1)){ int t; in.lim = &(in.cur = buf)[statbuf.st_size]; in.pos = NULL; in.eof = NULL; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } munmap(buf, statbuf.st_size); } } re2c-0.13.5/test/input12.oinput12.c.re0000775000076500007660000000004611016275331014105 00000000000000/*!re2c [a]+ "bb" { return 1; } */ re2c-0.13.5/test/push.fb.re0000775000076500007660000002247711016275331012263 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case 'A': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'B': goto yy5; default: goto yy3; } yy3: #line 6 "error13.re" { return 0; } #line 26 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7; case 'D': goto yy9; default: goto yy6; } yy6: YYCURSOR = YYMARKER; goto yy3; yy7: ++YYCURSOR; #line 4 "error13.re" { return 1; } #line 44 "" yy9: ++YYCURSOR; #line 5 "error13.re" { return 2; } #line 49 "" } #line 7 "error13.re" re2c-0.13.5/test/ctx.c0000775000076500007660000000522011016275331011313 00000000000000/* Generated by re2c */ #line 1 "ctx.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 50 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy6; case '\n': goto yy8; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; case 'a': case 'b': goto yy2; default: goto yy9; } yy2: YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy12; case '1': goto yy15; default: goto yy3; } yy3: #line 60 "ctx.re" { return UNEXPECTED; } #line 95 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy11; yy5: #line 50 "ctx.re" { return NUMBER; } #line 103 "" yy6: ++YYCURSOR; yy7: #line 53 "ctx.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 114 "" yy8: yych = *++YYCURSOR; goto yy7; yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy11: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy10; default: goto yy5; } yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy12; default: goto yy14; } yy14: YYCURSOR = YYCTXMARKER; #line 49 "ctx.re" { return KEYWORD; } #line 160 "" yy15: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy12; default: goto yy16; } yy16: YYCURSOR = YYCTXMARKER; #line 48 "ctx.re" { return KEYWORD; } #line 180 "" } #line 63 "ctx.re" } #define YYMAXFILL 3 int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/bug1479044.b.re0000775000076500007660000000171011016275331012453 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: /*!re2c ( "adsl" | "adslppp" | "bdsl" | "cdsl" | "dslgw4pool" | "dslppp" | "edsl" | "fdsl" | "ldsl" | "pool" | "pppdsl" | "premiumC" | "vdsl" | "xsttldsl") [0-9a-k\-]+ ".".+ ".uswest.net" { return "dsl"; } ( "dhcp" | "dorms" | "rh" ).* "-" [0-9]+ "-" [0-9]+ "." .+ ".resnet.pitt.edu" { return "resnet"; } [0-9]+ "-" [0-9]+ "-" [0-9]+ "-" [0-9]+ "." ("dhcp" | .* "modem" | "bothell") .* ".washington.edu" { return "edu"; } [\001-\377] { goto start; } [\000] { return NULL; } */ } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/input10.c0000775000076500007660000000077311016275331012025 00000000000000/* Generated by re2c */ #line 1 "input10.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; #line 8 "input10.re" { return 1; } #line 31 "" yy4: ++YYCURSOR; #line 10 "input10.re" { return -1; } #line 36 "" } #line 12 "input10.re" re2c-0.13.5/test/cvsignore.s.c0000775000076500007660000001050011016275331012752 00000000000000/* Generated by re2c */ #line 1 "cvsignore.s.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.s.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.s.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 62 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.s.re" { APPEND(L"$" L"Date$"); goto loop; } #line 101 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yych == '\n') goto yy6; if (yych == '$') goto yy15; goto yy17; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.s.re" { APPEND(L"$" L"Id$"); goto loop; } #line 121 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.s.re" { APPEND(L"$" L"Log$"); goto loop; } #line 143 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.s.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 175 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.s.re" { APPEND(L"$" L"Source$"); goto loop; } #line 203 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.s.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/error5.re0000775000076500007660000000002711016275331012117 00000000000000/*!re2c [\x0ZYY] {} */ re2c-0.13.5/test/bug1297658.c0000664000076500007660000000467611016275331012073 00000000000000/* Generated by re2c */ #line 1 "bug1297658.re" #include #include #include struct Scanner { Scanner(char *_inp) : inp(_inp), buf(NULL), ptr(NULL), len(0), siz(strlen(_inp)), line(0) { fill(0); cur = buf; } void fill(size_t n) { n++; buf = (char*)realloc(buf, len + n + 1); if ((len += n) > siz) { len = siz; } memcpy(buf, inp, len); buf[len] = '\0'; lim = buf + len; eof = buf + siz - 1; } char *inp; char *cur; char *buf; char *ptr; char *lim; char *eof; size_t len; size_t siz; size_t line; }; enum What { UNEXPECTED, FCON, EOI }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYFILL(n) s.fill(n) #define RET(n) return (n) int scan(Scanner &s) { std: #line 61 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; switch (yych) { case '\n': goto yy6; case '.': goto yy4; case '0': goto yy2; default: goto yy8; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy11; case '0': goto yy12; default: goto yy3; } yy3: #line 74 "bug1297658.re" { RET(UNEXPECTED); } #line 85 "" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'L': goto yy10; case 'e': goto yy9; default: goto yy5; } yy5: #line 61 "bug1297658.re" { RET(FCON); } #line 98 "" yy6: ++YYCURSOR; #line 66 "bug1297658.re" { s.line++; if(1||s.cur == s.eof) RET(EOI); goto std; } #line 107 "" yy8: yych = *++YYCURSOR; goto yy3; yy9: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy10; default: goto yy5; } yy10: yych = *++YYCURSOR; goto yy5; yy11: yych = *++YYCURSOR; switch (yych) { case 'L': goto yy10; case 'e': goto yy15; default: goto yy5; } yy12: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '.': goto yy11; case '0': goto yy12; default: goto yy14; } yy14: YYCURSOR = YYMARKER; goto yy3; yy15: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'L': goto yy10; default: goto yy5; } } #line 77 "bug1297658.re" } int main(int,char**) { Scanner s("\n0.eL\n00.eL\n"); std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(1): " << scan(s) << std::endl; std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(1): " << scan(s) << std::endl; std::cout << "RES(2): " << scan(s) << std::endl; std::cout << "RES(0): " << scan(s) << std::endl; } re2c-0.13.5/test/config8.re0000775000076500007660000000220111016275331012232 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill(int) { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c re2c:define:YYCTYPE = char; re2c:define:YYCURSOR = s.cur; re2c:define:YYLIMIT = s.lim; re2c:define:YYMARKER = s.ptr; re2c:define:YYCTXMARKER = s.ctx; re2c:define:YYFILL = fill; re2c:variable:yych = curr; re2c:labelprefix = xx; ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/cvsignore.w.c0000775000076500007660000001051211016275331012761 00000000000000/* Generated by re2c */ #line 1 "cvsignore.w.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned short #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.w.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.w.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 62 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.w.re" { APPEND(L"$" L"Date$"); goto loop; } #line 101 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yych == '\n') goto yy6; if (yych == '$') goto yy15; goto yy17; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.w.re" { APPEND(L"$" L"Id$"); goto loop; } #line 121 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.w.re" { APPEND(L"$" L"Log$"); goto loop; } #line 143 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.w.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 175 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.w.re" { APPEND(L"$" L"Source$"); goto loop; } #line 203 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.w.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/config4d.f.re0000775000076500007660000000046311016275331012626 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:startlabel = "start"; re2c:state:abort = 0; re2c:state:nextlabel = 1; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/input3.re0000664000076500007660000000005211016275331012116 00000000000000/*!re2c "a" [a]* "bb" { return 1; } */ re2c-0.13.5/test/repeater.c0000664000076500007660000000542111016275331012324 00000000000000/* Generated by re2c */ #line 1 "repeater.re" #include #include #include #define RET(n) return n int scan(const char *s, int l){ const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) #line 19 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; switch (yych) { case '\n': case 'q': goto yy7; case 'A': goto yy2; case 'a': goto yy4; default: goto yy6; } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; case 'A': case 'a': goto yy8; default: goto yy3; } yy3: #line 22 "repeater.re" {RET(5);} #line 45 "" yy4: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; case 'A': case 'a': goto yy8; default: goto yy5; } yy5: #line 23 "repeater.re" {RET(0);} #line 58 "" yy6: yych = *++YYCURSOR; goto yy3; yy7: yych = *++YYCURSOR; goto yy5; yy8: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy13; case 'A': case 'a': goto yy12; default: goto yy9; } yy9: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy3; case 1: goto yy5; } yy10: ++YYCURSOR; #line 18 "repeater.re" {RET(1);} #line 83 "" yy12: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy13; case 'A': case 'a': goto yy15; default: goto yy9; } yy13: ++YYCURSOR; #line 19 "repeater.re" {RET(2);} #line 96 "" yy15: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy17; case 'A': case 'a': goto yy16; default: goto yy9; } yy16: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy17; case 'A': case 'a': goto yy19; default: goto yy9; } yy17: ++YYCURSOR; #line 21 "repeater.re" {RET(4);} #line 117 "" yy19: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy20; default: goto yy23; } yy20: ++YYCURSOR; #line 20 "repeater.re" {RET(3);} #line 128 "" yy22: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy23: switch (yych) { case '\n': goto yy17; case 'A': case 'a': goto yy22; default: goto yy9; } } #line 24 "repeater.re" } void _do_scan(int exp, const char * str, int len) { int ret = scan(str, len); printf("%d %s %d\n", exp, exp == ret ? "==" : "!=", ret); } #define do_scan(exp, str) _do_scan(exp, str, sizeof(str) - 1) main() { do_scan(1, "a\n"); do_scan(2, "aa\n"); do_scan(2, "aaa\n"); do_scan(4, "aaaa\n"); do_scan(0, "q"); do_scan(0, "a"); do_scan(1, "A\n"); do_scan(2, "AA\n"); do_scan(2, "aAa\n"); do_scan(4, "AaaA\n"); do_scan(5, "Q"); do_scan(4, "AaaAa\n"); do_scan(3, "AaaAaA\n"); do_scan(5, "A"); do_scan(0, "\n"); do_scan(5, "0"); do_scan(0, "a"); do_scan(0, "q"); do_scan(5, "x"); } re2c-0.13.5/test/bug1390174.re0000775000076500007660000000133511016275331012232 00000000000000#include #include #include #define RET(n) return n int scan(const char *s, int l) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c any = [\000-\377]; 'a'{0,}"\n" {RET(1);} any {RET(0);} */ } void _do_scan(int exp, const char * str, int len) { int ret = scan(str, len); printf("%d %s %d\n", exp, exp == ret ? "==" : "!=", ret); } #define do_scan(exp, str) _do_scan(exp, str, sizeof(str) - 1) main() { do_scan(1, "a\n"); do_scan(1, "aa\n"); do_scan(1, "aaa\n"); do_scan(1, "aaaa\n"); do_scan(1, "\n"); do_scan(0, "q"); do_scan(0, "a"); } re2c-0.13.5/test/bug1454253.s.re0000775000076500007660000000322311016275331012470 00000000000000#include #include #include #define RET(n) return n size_t scan(const char *s, int l, char *r) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) while(1) { /*!re2c ALNUM = [0-9a-zA-Z]; ANY = [\001-\377]\"?"; EOF = '\000'; "?!" ALNUM* { *r++ = '1'; continue; } "?" ALNUM+ { *r++ = '2'; continue; } EOF { *r++ = '3'; *r++ = '\0'; return p - s; } ANY* { *r++ = '0'; *r++ = '\0'; return p - s; } */ } } void _do_scan(const char * str, size_t str_len, size_t scn_len, const char * exp, size_t exp_len) { char res[32], sp[32]; size_t res_len, inp_len; inp_len = scan(str, str_len, res); res_len = strlen(res); memset(sp, ' ', sizeof(sp)); sp[15 - str_len] = '\0'; printf("[%s](%2d/%2d)%s: %8s(%d) %s %8s(%d)\n", str, inp_len, scn_len, sp, res, res_len, inp_len != scn_len || exp_len != res_len || strncmp(exp, res, exp_len) ? "!=" : "==", exp, exp_len); } #define do_scan(str, scn_len, exp) _do_scan(str, sizeof(str) - 1, scn_len, exp, sizeof(exp) - 1) main() { do_scan("?1??", 2, "20"); do_scan("#", 1, "0"); do_scan("##", 2, "0"); do_scan("##?", 2, "0"); do_scan("##|", 3, "0"); do_scan("?!|", 3, "10"); do_scan("?!?1|", 5, "120"); do_scan("?!?a+", 5, "120"); do_scan("?2!1?2??", 4, "20"); do_scan("?1?2!1?2??", 6, "220"); do_scan("?1?2?!1?2??", 9, "22120"); do_scan("?1?2?!1?2?!", 12, "221213"); do_scan("?1?123?45??", 9, "2220"); do_scan("?1?123?45?!", 12, "22213"); } re2c-0.13.5/test/push.fg.c0000775000076500007660000003677311016275331012110 00000000000000/* Generated by re2c */ #line 1 "push.fg.re" /* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize" { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static void *yystable[] = { &&yyFillLabel0, &&yyFillLabel1, &&yyFillLabel2, }; if (YYGETSTATE() < 0) { goto yy0; } goto *yystable[YYGETSTATE()]; yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; { static void *yytarget[256] = { &&yy32, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy30, &&yy28, &&yy30, &&yy30, &&yy30, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy30, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy16, &&yy18, &&yy24, &&yy22, &&yy34, &&yy20, &&yy34, &&yy26, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy34, &&yy34, &&yy34, &&yy14, &&yy34, &&yy34, &&yy34, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy34, &&yy34, &&yy34, &&yy34, &&yy10, &&yy34, &&yy10, &&yy7, &&yy10, &&yy10, &&yy5, &&yy4, &&yy6, &&yy11, &&yy2, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy9, &&yy10, &&yy10, &&yy10, &&yy10, &&yy8, &&yy10, &&yy10, &&yy10, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34, &&yy34 }; goto *yytarget[yych]; } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) == 'f') goto yy67; goto yy39; yy3: #line 246 "push.fg.re" { SEND(kIdentifier); } #line 329 "" yy4: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy39; yy5: yych = *++YYCURSOR; if (yych == 'l') goto yy60; goto yy39; yy6: yych = *++YYCURSOR; if (yych == 'o') goto yy56; goto yy39; yy7: yych = *++YYCURSOR; if (yych == 'r') goto yy51; goto yy39; yy8: yych = *++YYCURSOR; if (yych == 'h') goto yy46; goto yy39; yy9: yych = *++YYCURSOR; if (yych == 'e') goto yy40; goto yy39; yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 247 "push.fg.re" { SEND(kDecimalConstant);} #line 367 "" yy14: ++YYCURSOR; #line 249 "push.fg.re" { SEND(kEqual); } #line 372 "" yy16: ++YYCURSOR; #line 250 "push.fg.re" { SEND(kLeftParen); } #line 377 "" yy18: ++YYCURSOR; #line 251 "push.fg.re" { SEND(kRightParen); } #line 382 "" yy20: ++YYCURSOR; #line 252 "push.fg.re" { SEND(kMinus); } #line 387 "" yy22: ++YYCURSOR; #line 253 "push.fg.re" { SEND(kPlus); } #line 392 "" yy24: ++YYCURSOR; #line 254 "push.fg.re" { SEND(kStar); } #line 397 "" yy26: ++YYCURSOR; #line 255 "push.fg.re" { SEND(kSlash); } #line 402 "" yy28: ++YYCURSOR; #line 257 "push.fg.re" { SKIP(); } #line 407 "" yy30: ++YYCURSOR; #line 258 "push.fg.re" { SKIP(); } #line 412 "" yy32: ++YYCURSOR; #line 259 "push.fg.re" { send(kEOF); return 1; } #line 417 "" yy34: ++YYCURSOR; #line 260 "push.fg.re" { SEND(kUnknown); } #line 422 "" yy36: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy37: if (yybm[0+yych] & 64) { goto yy36; } goto yy13; yy38: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy39: if (yybm[0+yych] & 128) { goto yy38; } goto yy3; yy40: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'u') goto yy39; yych = *++YYCURSOR; if (yych != 'r') goto yy39; yych = *++YYCURSOR; if (yych != 'n') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 245 "push.fg.re" { SEND(kReturn); } #line 460 "" yy46: yych = *++YYCURSOR; if (yych != 'i') goto yy39; yych = *++YYCURSOR; if (yych != 'l') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 244 "push.fg.re" { SEND(kWhile); } #line 474 "" yy51: yych = *++YYCURSOR; if (yych != 'e') goto yy39; yych = *++YYCURSOR; if (yych != 'a') goto yy39; yych = *++YYCURSOR; if (yych != 'k') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 243 "push.fg.re" { SEND(kBreak); } #line 488 "" yy56: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'o') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 242 "push.fg.re" { SEND(kGoto); } #line 500 "" yy60: yych = *++YYCURSOR; if (yych != 's') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 241 "push.fg.re" { SEND(kElse); } #line 512 "" yy64: yych = *++YYCURSOR; if (yych != 'r') goto yy39; ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 240 "push.fg.re" { SEND(kFor); } #line 522 "" yy67: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy38; } #line 239 "push.fg.re" { SEND(kIf); } #line 530 "" } #line 261 "push.fg.re" fill: ssize_t unfinishedSize = cursor-start; printf( "scanner needs a refill. Exiting for now with:\n" " saved fill state = %d\n" " unfinished token size = %d\n", state, unfinishedSize ); if(0" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych == '\n') goto yy4; yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x00) goto yy6; if (yych != '\n') goto yy8; yy3: #line 6 "input8.g.re" { return 1; } #line 20 "" yy4: ++YYCURSOR; #line 7 "input8.g.re" { return 2; } #line 25 "" yy6: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x00) goto yy10; if (yych != '\n') goto yy11; yy7: #line 5 "input8.g.re" { return 0; } #line 34 "" yy8: yych = *++YYCURSOR; if (yych <= 0x00) goto yy10; if (yych != '\n') goto yy11; yy9: YYCURSOR = YYMARKER; if (yyaccept <= 0) { goto yy3; } else { goto yy7; } yy10: yych = *++YYCURSOR; if (yych <= 0x00) goto yy12; goto yy7; yy11: yych = *++YYCURSOR; if (yych >= 0x01) goto yy9; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy7; } #line 9 "input8.g.re" re2c-0.13.5/test/bug1472770.re0000775000076500007660000000114011016275331012227 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: /*!re2c [^\n\000]* '\n' { ++n; goto start; } [^\n\000]* '\000' { return n; } */ } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/error10.re0000775000076500007660000000003511016275331012172 00000000000000/*!re2c [\U00900000YY] {} */ re2c-0.13.5/test/ctx.b.c0000775000076500007660000000734511016275331011545 00000000000000/* Generated by re2c */ #line 1 "ctx.b.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 50 "" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\t') { if (yych <= 0x08) goto yy9; goto yy6; } else { if (yych <= '\n') goto yy8; if (yych <= 0x1F) goto yy9; goto yy6; } } else { if (yych <= '9') { if (yych <= '/') goto yy9; goto yy4; } else { if (yych <= '`') goto yy9; if (yych >= 'c') goto yy9; } } YYCTXMARKER = YYCURSOR + 1; ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy3; if (yych == '1') goto yy15; if (yych <= '9') goto yy12; yy3: #line 60 "ctx.b.re" { return UNEXPECTED; } #line 118 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy11; yy5: #line 50 "ctx.b.re" { return NUMBER; } #line 126 "" yy6: ++YYCURSOR; yy7: #line 53 "ctx.b.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 137 "" yy8: yych = *++YYCURSOR; goto yy7; yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy11: if (yybm[0+yych] & 128) { goto yy10; } goto yy5; yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy14; if (yych <= '9') goto yy12; yy14: YYCURSOR = YYCTXMARKER; #line 49 "ctx.b.re" { return KEYWORD; } #line 163 "" yy15: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy16; if (yych <= '9') goto yy12; yy16: YYCURSOR = YYCTXMARKER; #line 48 "ctx.b.re" { return KEYWORD; } #line 172 "" } #line 63 "ctx.b.re" } #define YYMAXFILL 3 int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/scanner.s.re0000775000076500007660000001451511016275331012602 00000000000000/* Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } /*!re2c zero = "\000"; any = [\000-\377]; dot = any \ [\n]; esc = dot \ [\\]; istring = "[" "^" ((esc \ [\]]) | "\\" dot)* "]" ; cstring = "[" ((esc \ [\]]) | "\\" dot)* "]" ; dstring = "\"" ((esc \ ["] ) | "\\" dot)* "\""; sstring = "'" ((esc \ ['] ) | "\\" dot)* "'" ; letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; cname = ":" letter (letter|digit|"_")*; space = [ \t]; eol = ("\r\n" | "\n"); config = "re2c" cname+; value = [^\r\n; \t]* | dstring | sstring; */ int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: /*!re2c "/*!re2c" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } "/*!max:re2c" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } "*" "/" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } "\n" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } zero { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } any { goto echo; } */ } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } /*!re2c "{" { depth = 1; goto code; } "/*" { depth = 1; goto comment; } "*/" { tok = cursor; RETURN(0); } dstring { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } sstring { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } "\"" { fatal("unterminated string constant (missing \")"); } "'" { fatal("unterminated string constant (missing ')"); } istring { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } cstring { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } "[" { fatal("unterminated range (missing ])"); } [()|=;/\\] { RETURN(*tok); } [*+?] { yylval.op = *tok; RETURN(CLOSE); } "{0,}" { yylval.op = '*'; RETURN(CLOSE); } "{" [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } "{" [0-9]+ "," [0-9]+ "}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } "{" [0-9]+ ",}" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } "{" [0-9]* "," { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } config { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } name { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } "." { cur = cursor; yylval.regexp = mkDot(); return RANGE; } space+ { goto scan; } eol { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } any { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } */ code: /*!re2c "}" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } "{" { ++depth; goto code; } "\n" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } dstring | sstring | any { goto code; } */ comment: /*!re2c "*/" { if(--depth == 0) goto scan; else goto comment; } "/*" { ++depth; fatal("ambiguous /* found"); goto comment; } "\n" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } any { if(cursor == eof) RETURN(0); goto comment; } */ config: /*!re2c space+ { goto config; } "=" space* { iscfg = 2; cur = cursor; RETURN('='); } any { fatal("missing '='"); } */ value: /*!re2c number { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } value { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } */ } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/push.c0000775000076500007660000004614311016275331011505 00000000000000/* Generated by re2c */ #line 1 "push.re" /* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize" { YYCTYPE yych; yy0: if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy32; case '\t': case '\v': case '\f': case '\r': case ' ': goto yy30; case '\n': goto yy28; case '(': goto yy16; case ')': goto yy18; case '*': goto yy24; case '+': goto yy22; case '-': goto yy20; case '/': goto yy26; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy12; case '=': goto yy14; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'c': case 'd': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'x': case 'y': case 'z': goto yy10; case 'b': goto yy7; case 'e': goto yy5; case 'f': goto yy4; case 'g': goto yy6; case 'h': goto yy11; case 'i': goto yy2; case 'r': goto yy9; case 'w': goto yy8; default: goto yy34; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'f': goto yy67; default: goto yy39; } yy3: #line 246 "push.re" { SEND(kIdentifier); } #line 328 "" yy4: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy64; default: goto yy39; } yy5: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy60; default: goto yy39; } yy6: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy56; default: goto yy39; } yy7: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy51; default: goto yy39; } yy8: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy46; default: goto yy39; } yy9: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy40; default: goto yy39; } yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 247 "push.re" { SEND(kDecimalConstant);} #line 378 "" yy14: ++YYCURSOR; #line 249 "push.re" { SEND(kEqual); } #line 383 "" yy16: ++YYCURSOR; #line 250 "push.re" { SEND(kLeftParen); } #line 388 "" yy18: ++YYCURSOR; #line 251 "push.re" { SEND(kRightParen); } #line 393 "" yy20: ++YYCURSOR; #line 252 "push.re" { SEND(kMinus); } #line 398 "" yy22: ++YYCURSOR; #line 253 "push.re" { SEND(kPlus); } #line 403 "" yy24: ++YYCURSOR; #line 254 "push.re" { SEND(kStar); } #line 408 "" yy26: ++YYCURSOR; #line 255 "push.re" { SEND(kSlash); } #line 413 "" yy28: ++YYCURSOR; #line 257 "push.re" { SKIP(); } #line 418 "" yy30: ++YYCURSOR; #line 258 "push.re" { SKIP(); } #line 423 "" yy32: ++YYCURSOR; #line 259 "push.re" { send(kEOF); return 1; } #line 428 "" yy34: ++YYCURSOR; #line 260 "push.re" { SEND(kUnknown); } #line 433 "" yy36: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy37: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy36; default: goto yy13; } yy38: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy39: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy3; } yy40: yych = *++YYCURSOR; switch (yych) { case 't': goto yy41; default: goto yy39; } yy41: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy42; default: goto yy39; } yy42: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy43; default: goto yy39; } yy43: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy44; default: goto yy39; } yy44: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy45; } yy45: #line 245 "push.re" { SEND(kReturn); } #line 618 "" yy46: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy47; default: goto yy39; } yy47: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy48; default: goto yy39; } yy48: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy49; default: goto yy39; } yy49: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy50; } yy50: #line 244 "push.re" { SEND(kWhile); } #line 708 "" yy51: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy52; default: goto yy39; } yy52: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy53; default: goto yy39; } yy53: yych = *++YYCURSOR; switch (yych) { case 'k': goto yy54; default: goto yy39; } yy54: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy55; } yy55: #line 243 "push.re" { SEND(kBreak); } #line 798 "" yy56: yych = *++YYCURSOR; switch (yych) { case 't': goto yy57; default: goto yy39; } yy57: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy58; default: goto yy39; } yy58: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy59; } yy59: #line 242 "push.re" { SEND(kGoto); } #line 882 "" yy60: yych = *++YYCURSOR; switch (yych) { case 's': goto yy61; default: goto yy39; } yy61: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy62; default: goto yy39; } yy62: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy63; } yy63: #line 241 "push.re" { SEND(kElse); } #line 966 "" yy64: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy65; default: goto yy39; } yy65: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy66; } yy66: #line 240 "push.re" { SEND(kFor); } #line 1044 "" yy67: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy38; default: goto yy68; } yy68: #line 239 "push.re" { SEND(kIf); } #line 1116 "" } #line 261 "push.re" fill: ssize_t unfinishedSize = cursor-start; printf( "scanner needs a refill. Exiting for now with:\n" " saved fill state = %d\n" " unfinished token size = %d\n", state, unfinishedSize ); if(0" { YYCTYPE yych; static const unsigned char yybm[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '@') { if (yych <= '/') { if (yych == '-') goto yy7; goto yy10; } else { if (yych <= '0') goto yy5; if (yych <= '9') goto yy9; goto yy10; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy4; if (yych <= '`') goto yy10; goto yy4; } else { if (yych <= 'r') goto yy2; if (yych <= 'z') goto yy4; goto yy10; } } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) == 'e') goto yy15; goto yy14; yy3: #line 12 "input11.b.re" { return 1; } #line 72 "" yy4: yych = *++YYCURSOR; goto yy14; yy5: ++YYCURSOR; yy6: #line 13 "input11.b.re" { return 2; } #line 81 "" yy7: ++YYCURSOR; if ((yych = *YYCURSOR) <= '0') goto yy8; if (yych <= '9') goto yy11; yy8: #line 15 "input11.b.re" { return -1; } #line 89 "" yy9: yych = *++YYCURSOR; goto yy12; yy10: yych = *++YYCURSOR; goto yy8; yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy12: if (yybm[0+yych] & 0x20) { goto yy11; } goto yy6; yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: if (yybm[0+yych] & 0x40) { goto yy13; } goto yy3; yy15: yych = *++YYCURSOR; if (yych != '2') goto yy14; yych = *++YYCURSOR; if (yych != 'c') goto yy14; yych = *(YYMARKER = ++YYCURSOR); if (yych != ':') goto yy14; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '@') goto yy19; if (yych <= 'Z') goto yy20; } else { if (yych == '`') goto yy19; if (yych <= 'z') goto yy20; } yy19: YYCURSOR = YYMARKER; goto yy3; yy20: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 0x80) { goto yy20; } #line 11 "input11.b.re" { return 0; } #line 141 "" } #line 17 "input11.b.re" re2c-0.13.5/test/error14.1.re0000775000076500007660000000015411016275331012337 00000000000000/*!re2c "ABC" { return 1; } "ABD" { return 2; } [^] { return 0; } */ /*!max:re2c */ /*!max:re2c */ re2c-0.13.5/test/bug1187785.re0000775000076500007660000000077511016275331012255 00000000000000#include #include #include #define RET(n) printf("%d\n", n); return n #define TAG_EOI 0 #define TAG_A 1 #define TAG_TAG 2 int scan(char *s, int l) { char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) cont: /*!re2c any = [\000-\377]; (["] ([\000-\376]\["])+ ["]) { RET(1); } any { goto cont; } */ } #define do_scan(str) scan(str, strlen(str)) main() { do_scan("0"); } re2c-0.13.5/test/config1.c0000775000076500007660000000474611016275331012057 00000000000000/* Generated by re2c */ #line 1 "config1.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; #line 15 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 13 "config1.re" { return YYCURSOR; } #line 41 "" yy4: ++YYCURSOR; #line 14 "config1.re" { return NULL; } #line 46 "" yy6: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } } #line 15 "config1.re" } char *scan1(char *p) { char *q; #line 74 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy10; default: goto yy12; } yy10: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy11: #line 23 "config1.re" { return YYCURSOR; } #line 99 "" yy12: ++YYCURSOR; #line 24 "config1.re" { return NULL; } #line 104 "" yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy11; } } #line 25 "config1.re" } char *scan(char *p) { char *q; #line 132 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy18; default: goto yy20; } yy18: ++YYCURSOR; yych = *YYCURSOR; goto yy23; yy19: #line 32 "config1.re" { return YYCURSOR; } #line 157 "" yy20: ++YYCURSOR; #line 33 "config1.re" { return NULL; } #line 162 "" yy22: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy23: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy22; default: goto yy19; } } #line 34 "config1.re" } re2c-0.13.5/test/push.fs.c0000775000076500007660000001734611016275331012117 00000000000000/* Generated by re2c */ #line 1 "push.fs.re" uint32_t push() { // The scanner starts here #define YYLIMIT limit #define YYCURSOR cursor #define YYMARKER marker #define YYCTYPE uint8_t #define SKIP(x) { start = cursor; goto yy0; } #define SEND(x) { send(x); SKIP(); } #define YYFILL(n) { goto fill; } #define YYGETSTATE() state #define YYSETSTATE(x) { state = (x); } start: #line 22 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7); yyFillLabel0: yych = *YYCURSOR; if (yych <= '=') { if (yych <= '(') { if (yych <= '\n') { if (yych <= 0x00) goto yy32; if (yych <= 0x08) goto yy34; if (yych <= '\t') goto yy30; goto yy28; } else { if (yych <= 0x1F) { if (yych <= '\r') goto yy30; goto yy34; } else { if (yych <= ' ') goto yy30; if (yych <= '\'') goto yy34; goto yy16; } } } else { if (yych <= '-') { if (yych <= '*') { if (yych <= ')') goto yy18; goto yy24; } else { if (yych <= '+') goto yy22; if (yych <= ',') goto yy34; goto yy20; } } else { if (yych <= '/') { if (yych <= '.') goto yy34; goto yy26; } else { if (yych <= '9') goto yy12; if (yych <= '<') goto yy34; goto yy14; } } } } else { if (yych <= 'e') { if (yych <= '_') { if (yych <= '@') goto yy34; if (yych <= 'Z') goto yy10; if (yych <= '^') goto yy34; goto yy10; } else { if (yych <= 'a') { if (yych <= '`') goto yy34; goto yy10; } else { if (yych <= 'b') goto yy7; if (yych <= 'd') goto yy10; goto yy5; } } } else { if (yych <= 'q') { if (yych <= 'g') { if (yych <= 'f') goto yy4; goto yy6; } else { if (yych <= 'h') goto yy11; if (yych >= 'j') goto yy10; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy9; goto yy10; } else { if (yych <= 'w') goto yy8; if (yych <= 'z') goto yy10; goto yy34; } } } } ++YYCURSOR; if ((yych = *YYCURSOR) == 'f') goto yy67; goto yy39; yy3: #line 35 "push.fs.re" { SEND(kIdentifier); } #line 117 "" yy4: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy39; yy5: yych = *++YYCURSOR; if (yych == 'l') goto yy60; goto yy39; yy6: yych = *++YYCURSOR; if (yych == 'o') goto yy56; goto yy39; yy7: yych = *++YYCURSOR; if (yych == 'r') goto yy51; goto yy39; yy8: yych = *++YYCURSOR; if (yych == 'h') goto yy46; goto yy39; yy9: yych = *++YYCURSOR; if (yych == 'e') goto yy40; goto yy39; yy10: yych = *++YYCURSOR; goto yy39; yy11: yych = *++YYCURSOR; goto yy39; yy12: ++YYCURSOR; yych = *YYCURSOR; goto yy37; yy13: #line 36 "push.fs.re" { SEND(kDecimalConstant);} #line 155 "" yy14: ++YYCURSOR; #line 38 "push.fs.re" { SEND(kEqual); } #line 160 "" yy16: ++YYCURSOR; #line 39 "push.fs.re" { SEND(kLeftParen); } #line 165 "" yy18: ++YYCURSOR; #line 40 "push.fs.re" { SEND(kRightParen); } #line 170 "" yy20: ++YYCURSOR; #line 41 "push.fs.re" { SEND(kMinus); } #line 175 "" yy22: ++YYCURSOR; #line 42 "push.fs.re" { SEND(kPlus); } #line 180 "" yy24: ++YYCURSOR; #line 43 "push.fs.re" { SEND(kStar); } #line 185 "" yy26: ++YYCURSOR; #line 44 "push.fs.re" { SEND(kSlash); } #line 190 "" yy28: ++YYCURSOR; #line 46 "push.fs.re" { SKIP(); } #line 195 "" yy30: ++YYCURSOR; #line 47 "push.fs.re" { SKIP(); } #line 200 "" yy32: ++YYCURSOR; #line 48 "push.fs.re" { send(kEOF); return 1; } #line 205 "" yy34: ++YYCURSOR; #line 49 "push.fs.re" { SEND(kUnknown); } #line 210 "" yy36: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy37: if (yych <= '/') goto yy13; if (yych <= '9') goto yy36; goto yy13; yy38: ++YYCURSOR; YYSETSTATE(2); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel2: yych = *YYCURSOR; yy39: if (yych <= 'Z') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy38; if (yych <= '@') goto yy3; goto yy38; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy38; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy38; goto yy3; } } yy40: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'u') goto yy39; yych = *++YYCURSOR; if (yych != 'r') goto yy39; yych = *++YYCURSOR; if (yych != 'n') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy45; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy45; if (yych <= 'z') goto yy38; } } yy45: #line 34 "push.fs.re" { SEND(kReturn); } #line 268 "" yy46: yych = *++YYCURSOR; if (yych != 'i') goto yy39; yych = *++YYCURSOR; if (yych != 'l') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy50; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy50; if (yych <= 'z') goto yy38; } } yy50: #line 33 "push.fs.re" { SEND(kWhile); } #line 292 "" yy51: yych = *++YYCURSOR; if (yych != 'e') goto yy39; yych = *++YYCURSOR; if (yych != 'a') goto yy39; yych = *++YYCURSOR; if (yych != 'k') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy55; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy55; if (yych <= 'z') goto yy38; } } yy55: #line 32 "push.fs.re" { SEND(kBreak); } #line 316 "" yy56: yych = *++YYCURSOR; if (yych != 't') goto yy39; yych = *++YYCURSOR; if (yych != 'o') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy59; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy59; if (yych <= 'z') goto yy38; } } yy59: #line 31 "push.fs.re" { SEND(kGoto); } #line 338 "" yy60: yych = *++YYCURSOR; if (yych != 's') goto yy39; yych = *++YYCURSOR; if (yych != 'e') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy63; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy63; if (yych <= 'z') goto yy38; } } yy63: #line 30 "push.fs.re" { SEND(kElse); } #line 360 "" yy64: yych = *++YYCURSOR; if (yych != 'r') goto yy39; ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy66; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy66; if (yych <= 'z') goto yy38; } } yy66: #line 29 "push.fs.re" { SEND(kFor); } #line 380 "" yy67: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'Z') { if (yych <= '/') goto yy68; if (yych <= '9') goto yy38; if (yych >= 'A') goto yy38; } else { if (yych <= '_') { if (yych >= '_') goto yy38; } else { if (yych <= '`') goto yy68; if (yych <= 'z') goto yy38; } } yy68: #line 28 "push.fs.re" { SEND(kIf); } #line 398 "" #line 50 "push.fs.re" fill: return 0; } re2c-0.13.5/test/cvsignore.w.re0000775000076500007660000000257011016275331013152 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned short #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/scanner.c0000664000076500007660000005440511016275331012154 00000000000000/* Generated by re2c */ #line 1 "scanner.re" /* Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } #line 95 "scanner.re" int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: #line 96 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy7; case '\n': goto yy5; case '*': goto yy4; case '/': goto yy2; default: goto yy9; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '*': goto yy12; default: goto yy3; } yy3: #line 141 "scanner.re" { goto echo; } #line 120 "" yy4: yych = *++YYCURSOR; switch (yych) { case '/': goto yy10; default: goto yy3; } yy5: ++YYCURSOR; #line 130 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } #line 135 "" yy7: ++YYCURSOR; #line 135 "scanner.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } #line 145 "" yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; #line 121 "scanner.re" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } #line 161 "" yy12: yych = *++YYCURSOR; switch (yych) { case '!': goto yy14; default: goto yy13; } yy13: YYCURSOR = YYMARKER; goto yy3; yy14: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy15; case 'r': goto yy16; default: goto yy13; } yy15: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy21; default: goto yy13; } yy16: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy17; default: goto yy13; } yy17: yych = *++YYCURSOR; switch (yych) { case '2': goto yy18; default: goto yy13; } yy18: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy19; default: goto yy13; } yy19: ++YYCURSOR; #line 110 "scanner.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } #line 210 "" yy21: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy22; default: goto yy13; } yy22: yych = *++YYCURSOR; switch (yych) { case ':': goto yy23; default: goto yy13; } yy23: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy24; default: goto yy13; } yy24: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy25; default: goto yy13; } yy25: yych = *++YYCURSOR; switch (yych) { case '2': goto yy26; default: goto yy13; } yy26: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy27; default: goto yy13; } yy27: ++YYCURSOR; #line 115 "scanner.re" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } #line 256 "" } #line 144 "scanner.re" } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } #line 281 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy50; case '\n': goto yy52; case '\r': goto yy54; case '"': goto yy37; case '\'': goto yy39; case '(': case ')': case ';': case '=': case '\\': case '|': goto yy43; case '*': goto yy35; case '+': case '?': goto yy44; case '.': goto yy48; case '/': goto yy33; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy47; case '[': goto yy41; case 'r': goto yy45; case '{': goto yy31; default: goto yy56; } yy31: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ',': goto yy97; case '0': goto yy94; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy95; default: goto yy32; } yy32: #line 166 "scanner.re" { depth = 1; goto code; } #line 383 "" yy33: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy92; default: goto yy34; } yy34: #line 196 "scanner.re" { RETURN(*tok); } #line 393 "" yy35: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy90; default: goto yy36; } yy36: #line 198 "scanner.re" { yylval.op = *tok; RETURN(CLOSE); } #line 404 "" yy37: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy38; default: goto yy86; } yy38: #line 183 "scanner.re" { fatal("unterminated string constant (missing \")"); } #line 415 "" yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy40; default: goto yy81; } yy40: #line 184 "scanner.re" { fatal("unterminated string constant (missing ')"); } #line 426 "" yy41: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy42; case '^': goto yy72; default: goto yy71; } yy42: #line 194 "scanner.re" { fatal("unterminated range (missing ])"); } #line 438 "" yy43: yych = *++YYCURSOR; goto yy34; yy44: yych = *++YYCURSOR; goto yy36; yy45: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'e': goto yy62; default: goto yy61; } yy46: #line 225 "scanner.re" { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } #line 456 "" yy47: yych = *++YYCURSOR; goto yy61; yy48: ++YYCURSOR; #line 229 "scanner.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } #line 467 "" yy50: ++YYCURSOR; yych = *YYCURSOR; goto yy59; yy51: #line 234 "scanner.re" { goto scan; } #line 475 "" yy52: ++YYCURSOR; yy53: #line 236 "scanner.re" { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } #line 484 "" yy54: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '\n': goto yy57; default: goto yy55; } yy55: #line 241 "scanner.re" { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } #line 499 "" yy56: yych = *++YYCURSOR; goto yy55; yy57: yych = *++YYCURSOR; goto yy53; yy58: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy59: switch (yych) { case '\t': case ' ': goto yy58; default: goto yy51; } yy60: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy61: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy60; default: goto yy46; } yy62: yych = *++YYCURSOR; switch (yych) { case '2': goto yy63; default: goto yy61; } yy63: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy64; default: goto yy61; } yy64: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ':': goto yy65; default: goto yy61; } yy65: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy67; default: goto yy66; } yy66: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy32; case 1: goto yy38; case 2: goto yy40; case 3: goto yy42; case 4: goto yy46; case 5: goto yy69; case 6: goto yy98; } yy67: yyaccept = 5; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy67; case ':': goto yy65; default: goto yy69; } yy69: #line 218 "scanner.re" { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } #line 755 "" yy70: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy71: switch (yych) { case '\n': goto yy66; case '\\': goto yy74; case ']': goto yy75; default: goto yy70; } yy72: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy66; case '\\': goto yy77; case ']': goto yy78; default: goto yy72; } yy74: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy66; default: goto yy70; } yy75: ++YYCURSOR; #line 190 "scanner.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } #line 791 "" yy77: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy66; default: goto yy72; } yy78: ++YYCURSOR; #line 186 "scanner.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } #line 806 "" yy80: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy81: switch (yych) { case '\n': goto yy66; case '\'': goto yy83; case '\\': goto yy82; default: goto yy80; } yy82: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy66; default: goto yy80; } yy83: ++YYCURSOR; #line 179 "scanner.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } #line 832 "" yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy86: switch (yych) { case '\n': goto yy66; case '"': goto yy88; case '\\': goto yy87; default: goto yy85; } yy87: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy66; default: goto yy85; } yy88: ++YYCURSOR; #line 175 "scanner.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } #line 858 "" yy90: ++YYCURSOR; #line 172 "scanner.re" { tok = cursor; RETURN(0); } #line 864 "" yy92: ++YYCURSOR; #line 169 "scanner.re" { depth = 1; goto comment; } #line 870 "" yy94: yych = *++YYCURSOR; switch (yych) { case ',': goto yy108; default: goto yy96; } yy95: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy96: switch (yych) { case ',': goto yy101; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy95; case '}': goto yy99; default: goto yy66; } yy97: ++YYCURSOR; yy98: #line 216 "scanner.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } #line 902 "" yy99: ++YYCURSOR; #line 204 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } #line 909 "" yy101: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy104; case '}': goto yy102; default: goto yy98; } yy102: ++YYCURSOR; #line 212 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } #line 933 "" yy104: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy104; case '}': goto yy106; default: goto yy66; } yy106: ++YYCURSOR; #line 208 "scanner.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } #line 958 "" yy108: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy104; case '}': goto yy109; default: goto yy98; } yy109: ++YYCURSOR; #line 201 "scanner.re" { yylval.op = '*'; RETURN(CLOSE); } #line 981 "" } #line 247 "scanner.re" code: #line 988 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy117; case '"': goto yy121; case '\'': goto yy122; case '{': goto yy115; case '}': goto yy113; default: goto yy119; } yy113: ++YYCURSOR; #line 251 "scanner.re" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } #line 1010 "" yy115: ++YYCURSOR; #line 257 "scanner.re" { ++depth; goto code; } #line 1016 "" yy117: ++YYCURSOR; #line 259 "scanner.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } #line 1024 "" yy119: ++YYCURSOR; yy120: #line 263 "scanner.re" { goto code; } #line 1030 "" yy121: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy120; default: goto yy128; } yy122: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy120; default: goto yy124; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy124: switch (yych) { case '\n': goto yy125; case '\'': goto yy119; case '\\': goto yy126; default: goto yy123; } yy125: YYCURSOR = YYMARKER; goto yy120; yy126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy125; default: goto yy123; } yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy128: switch (yych) { case '\n': goto yy125; case '"': goto yy119; case '\\': goto yy129; default: goto yy127; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy125; default: goto yy127; } } #line 264 "scanner.re" comment: #line 1090 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy135; case '*': goto yy132; case '/': goto yy134; default: goto yy137; } yy132: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy140; default: goto yy133; } yy133: #line 279 "scanner.re" { if(cursor == eof) RETURN(0); goto comment; } #line 1111 "" yy134: yych = *++YYCURSOR; switch (yych) { case '*': goto yy138; default: goto yy133; } yy135: ++YYCURSOR; #line 275 "scanner.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } #line 1125 "" yy137: yych = *++YYCURSOR; goto yy133; yy138: ++YYCURSOR; #line 272 "scanner.re" { ++depth; fatal("ambiguous /* found"); goto comment; } #line 1135 "" yy140: ++YYCURSOR; #line 268 "scanner.re" { if(--depth == 0) goto scan; else goto comment; } #line 1143 "" } #line 281 "scanner.re" config: #line 1150 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy144; case '=': goto yy146; default: goto yy148; } yy144: ++YYCURSOR; yych = *YYCURSOR; goto yy153; yy145: #line 285 "scanner.re" { goto config; } #line 1168 "" yy146: ++YYCURSOR; yych = *YYCURSOR; goto yy151; yy147: #line 286 "scanner.re" { iscfg = 2; cur = cursor; RETURN('='); } #line 1179 "" yy148: ++YYCURSOR; #line 290 "scanner.re" { fatal("missing '='"); } #line 1184 "" yy150: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy151: switch (yych) { case '\t': case ' ': goto yy150; default: goto yy147; } yy152: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy153: switch (yych) { case '\t': case ' ': goto yy152; default: goto yy145; } } #line 291 "scanner.re" value: #line 1211 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\t': case '\n': case '\r': case ' ': case ';': goto yy156; case '"': goto yy164; case '\'': goto yy166; case '-': goto yy159; case '0': goto yy157; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; default: goto yy162; } yy156: #line 300 "scanner.re" { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } #line 1244 "" yy157: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '\t': case '\n': case '\r': case ' ': case ';': goto yy158; default: goto yy162; } yy158: #line 295 "scanner.re" { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } #line 1262 "" yy159: yych = *++YYCURSOR; switch (yych) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; default: goto yy163; } yy160: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\n': case '\r': case ' ': case ';': goto yy158; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy160; default: goto yy162; } yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy163: switch (yych) { case '\t': case '\n': case '\r': case ' ': case ';': goto yy156; default: goto yy162; } yy164: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\r': case ' ': case ';': goto yy174; case '\n': goto yy156; case '"': goto yy162; case '\\': goto yy176; default: goto yy164; } yy166: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\r': case ' ': case ';': goto yy168; case '\n': goto yy156; case '\'': goto yy162; case '\\': goto yy171; default: goto yy166; } yy168: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy170; case '\'': goto yy172; case '\\': goto yy173; default: goto yy168; } yy170: YYCURSOR = YYMARKER; goto yy156; yy171: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\r': case ' ': case ';': goto yy168; case '\n': goto yy156; default: goto yy166; } yy172: yych = *++YYCURSOR; goto yy156; yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy170; default: goto yy168; } yy174: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy170; case '"': goto yy172; case '\\': goto yy177; default: goto yy174; } yy176: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\t': case '\r': case ' ': case ';': goto yy174; case '\n': goto yy156; default: goto yy164; } yy177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy170; default: goto yy174; } } #line 305 "scanner.re" } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/bug1479044.c0000775000076500007660000005740411016275331012062 00000000000000/* Generated by re2c */ #line 1 "bug1479044.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: #line 18 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy16; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; case 'a': goto yy2; case 'b': goto yy4; case 'c': goto yy5; case 'd': goto yy6; case 'e': goto yy7; case 'f': goto yy8; case 'l': goto yy9; case 'p': goto yy10; case 'r': goto yy13; case 'v': goto yy11; case 'x': goto yy12; default: goto yy15; } yy2: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy172; default: goto yy3; } yy3: #line 32 "bug1479044.re" { goto start; } #line 62 "" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy170; default: goto yy3; } yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy168; default: goto yy3; } yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'h': goto yy154; case 'o': goto yy153; case 's': goto yy155; default: goto yy3; } yy7: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy151; default: goto yy3; } yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy149; default: goto yy3; } yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy147; default: goto yy3; } yy10: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'o': goto yy137; case 'p': goto yy136; case 'r': goto yy135; default: goto yy3; } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'd': goto yy133; default: goto yy3; } yy12: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 's': goto yy108; default: goto yy3; } yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'h': goto yy71; default: goto yy3; } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '-': goto yy18; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy20; default: goto yy3; } yy15: yych = *++YYCURSOR; goto yy3; yy16: ++YYCURSOR; #line 37 "bug1479044.re" { return NULL; } #line 163 "" yy18: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy22; default: goto yy19; } yy19: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy3; case 1: goto yy63; case 2: goto yy107; case 3: goto yy132; } yy20: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '-': goto yy18; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy20; default: goto yy19; } yy22: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '-': goto yy24; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy22; default: goto yy19; } yy24: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy25; default: goto yy19; } yy25: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '-': goto yy27; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy25; default: goto yy19; } yy27: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy28; default: goto yy19; } yy28: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; switch (yych) { case '.': goto yy30; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy28; default: goto yy19; } yy30: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy34; case 'd': goto yy31; default: goto yy33; } yy31: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy69; default: goto yy33; } yy32: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy33: switch (yych) { case '\n': goto yy19; case 'm': goto yy35; default: goto yy32; } yy34: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy64; default: goto yy33; } yy35: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case 'm': goto yy35; case 'o': goto yy37; default: goto yy32; } yy37: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case 'd': goto yy38; case 'm': goto yy35; default: goto yy32; } yy38: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case 'e': goto yy39; case 'm': goto yy35; default: goto yy32; } yy39: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case 'm': goto yy40; default: goto yy32; } yy40: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'o': goto yy46; default: goto yy42; } yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; default: goto yy42; } yy44: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'w': goto yy49; default: goto yy42; } yy46: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'd': goto yy47; case 'm': goto yy40; default: goto yy42; } yy47: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'e': goto yy48; case 'm': goto yy40; default: goto yy42; } yy48: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; default: goto yy42; } yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'a': goto yy50; case 'm': goto yy40; default: goto yy42; } yy50: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 's': goto yy51; default: goto yy42; } yy51: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'h': goto yy52; case 'm': goto yy40; default: goto yy42; } yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'i': goto yy53; case 'm': goto yy40; default: goto yy42; } yy53: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'n': goto yy54; default: goto yy42; } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'g': goto yy55; case 'm': goto yy40; default: goto yy42; } yy55: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 't': goto yy56; default: goto yy42; } yy56: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'o': goto yy57; default: goto yy42; } yy57: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'n': goto yy58; default: goto yy42; } yy58: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy59; case 'm': goto yy40; default: goto yy42; } yy59: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'e': goto yy60; case 'm': goto yy40; case 'w': goto yy49; default: goto yy42; } yy60: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'd': goto yy61; case 'm': goto yy40; default: goto yy42; } yy61: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy44; case 'm': goto yy40; case 'u': goto yy62; default: goto yy42; } yy62: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy63; case '.': goto yy44; case 'm': goto yy40; default: goto yy42; } yy63: #line 27 "bug1479044.re" { return "edu"; } #line 580 "" yy64: yych = *++YYCURSOR; switch (yych) { case 't': goto yy65; default: goto yy33; } yy65: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy66; default: goto yy33; } yy66: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy67; default: goto yy33; } yy67: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy68; default: goto yy33; } yy68: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy42; default: goto yy33; } yy69: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy70; default: goto yy33; } yy70: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy42; default: goto yy33; } yy71: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy73; default: goto yy71; } yy73: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy73; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy75; default: goto yy71; } yy75: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy77; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy75; default: goto yy71; } yy77: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy73; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy78; default: goto yy71; } yy78: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy77; case '.': goto yy80; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy78; default: goto yy71; } yy80: yych = *++YYCURSOR; switch (yych) { case '.': goto yy81; default: goto yy82; } yy81: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy82: switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; default: goto yy81; } yy83: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy87; default: goto yy81; } yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'r': goto yy92; default: goto yy81; } yy87: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy89; case '.': goto yy85; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy87; default: goto yy81; } yy89: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy90; default: goto yy81; } yy90: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy89; case '.': goto yy85; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy90; default: goto yy81; } yy92: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'e': goto yy93; default: goto yy81; } yy93: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 's': goto yy94; default: goto yy81; } yy94: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'n': goto yy95; default: goto yy81; } yy95: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'e': goto yy96; default: goto yy81; } yy96: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 't': goto yy97; default: goto yy81; } yy97: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy98; default: goto yy81; } yy98: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'p': goto yy99; case 'r': goto yy92; default: goto yy81; } yy99: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'i': goto yy100; default: goto yy81; } yy100: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 't': goto yy101; default: goto yy81; } yy101: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 't': goto yy102; default: goto yy81; } yy102: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy103; default: goto yy81; } yy103: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'e': goto yy104; case 'r': goto yy92; default: goto yy81; } yy104: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'd': goto yy105; default: goto yy81; } yy105: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '-': goto yy83; case '.': goto yy85; case 'u': goto yy106; default: goto yy81; } yy106: yyaccept = 2; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '-': goto yy83; case '.': goto yy85; default: goto yy81; } yy107: #line 22 "bug1479044.re" { return "resnet"; } #line 987 "" yy108: yych = *++YYCURSOR; switch (yych) { case 't': goto yy109; default: goto yy19; } yy109: yych = *++YYCURSOR; switch (yych) { case 't': goto yy110; default: goto yy19; } yy110: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy111; default: goto yy19; } yy111: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy112; default: goto yy19; } yy112: yych = *++YYCURSOR; switch (yych) { case 's': goto yy113; default: goto yy19; } yy113: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy114: yych = *++YYCURSOR; switch (yych) { case '.': goto yy19; default: goto yy116; } yy115: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy116: switch (yych) { case '-': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': goto yy115; case '.': goto yy117; default: goto yy19; } yy117: yych = *++YYCURSOR; switch (yych) { case '\n': goto yy19; default: goto yy118; } yy118: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; default: goto yy118; } yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 'u': goto yy122; default: goto yy118; } yy122: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 's': goto yy123; default: goto yy118; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 'w': goto yy124; default: goto yy118; } yy124: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 'e': goto yy125; default: goto yy118; } yy125: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 's': goto yy126; default: goto yy118; } yy126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 't': goto yy127; default: goto yy118; } yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy128; default: goto yy118; } yy128: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 'n': goto yy129; case 'u': goto yy122; default: goto yy118; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 'e': goto yy130; default: goto yy118; } yy130: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy19; case '.': goto yy120; case 't': goto yy131; default: goto yy118; } yy131: yyaccept = 3; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy132; case '.': goto yy120; default: goto yy118; } yy132: #line 17 "bug1479044.re" { return "dsl"; } #line 1191 "" yy133: yych = *++YYCURSOR; switch (yych) { case 's': goto yy134; default: goto yy19; } yy134: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy135: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy142; default: goto yy19; } yy136: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy139; default: goto yy19; } yy137: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy138; default: goto yy19; } yy138: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy139: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy140; default: goto yy19; } yy140: yych = *++YYCURSOR; switch (yych) { case 's': goto yy141; default: goto yy19; } yy141: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy142: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy143; default: goto yy19; } yy143: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy144; default: goto yy19; } yy144: yych = *++YYCURSOR; switch (yych) { case 'u': goto yy145; default: goto yy19; } yy145: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy146; default: goto yy19; } yy146: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy114; default: goto yy19; } yy147: yych = *++YYCURSOR; switch (yych) { case 's': goto yy148; default: goto yy19; } yy148: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy149: yych = *++YYCURSOR; switch (yych) { case 's': goto yy150; default: goto yy19; } yy150: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy151: yych = *++YYCURSOR; switch (yych) { case 's': goto yy152; default: goto yy19; } yy152: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy153: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy166; default: goto yy19; } yy154: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy165; default: goto yy19; } yy155: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy156; default: goto yy19; } yy156: yych = *++YYCURSOR; switch (yych) { case 'g': goto yy158; case 'p': goto yy157; default: goto yy19; } yy157: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy164; default: goto yy19; } yy158: yych = *++YYCURSOR; switch (yych) { case 'w': goto yy159; default: goto yy19; } yy159: yych = *++YYCURSOR; switch (yych) { case '4': goto yy160; default: goto yy19; } yy160: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy161; default: goto yy19; } yy161: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy162; default: goto yy19; } yy162: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy163; default: goto yy19; } yy163: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy164: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy114; default: goto yy19; } yy165: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy71; default: goto yy19; } yy166: yych = *++YYCURSOR; switch (yych) { case 'm': goto yy167; default: goto yy19; } yy167: yych = *++YYCURSOR; switch (yych) { case 's': goto yy71; default: goto yy19; } yy168: yych = *++YYCURSOR; switch (yych) { case 's': goto yy169; default: goto yy19; } yy169: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy170: yych = *++YYCURSOR; switch (yych) { case 's': goto yy171; default: goto yy19; } yy171: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy114; default: goto yy19; } yy172: yych = *++YYCURSOR; switch (yych) { case 's': goto yy173; default: goto yy19; } yy173: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy174; default: goto yy19; } yy174: yych = *++YYCURSOR; switch (yych) { case '.': goto yy19; case 'p': goto yy175; default: goto yy116; } yy175: yych = *++YYCURSOR; switch (yych) { case 'p': goto yy176; default: goto yy19; } yy176: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'p': goto yy114; default: goto yy19; } } #line 40 "bug1479044.re" } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/config5.c0000775000076500007660000000176011016275331012054 00000000000000/* Generated by re2c */ #line 1 "config5.re" // ignored #line 7 "config5.re" // code #line 8 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'b': goto yy5; default: goto yy3; } yy3: #line 11 "config5.re" { return 0; } #line 27 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case 'b': goto yy5; case 'c': goto yy8; default: goto yy7; } yy7: YYCURSOR = YYMARKER; goto yy3; yy8: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy9; default: goto yy7; } yy9: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy10; default: goto yy7; } yy10: ++YYCURSOR; #line 10 "config5.re" { return 1; } #line 59 "" } #line 13 "config5.re" // ignored #line 20 "config5.re" // max #define YYMAXFILL 3 #line 26 "config5.re" // eof re2c-0.13.5/test/parse_date.re0000775000076500007660000011454011016275331013016 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c any = [\000-\377]; space = [ ]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-3]; hour24lz = [01][0-9] | "2"[0-3]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = [AaPp] "."? [Mm] "."?; tz = "("? [A-Za-z]{1,4} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [1-9] | "1" [0-2]; daylz = "0" [1-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; daytext = dayfull | dayabbr; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = hour24[:.]minute; timelong24 = hour24[:.]minute[:.]second; iso8601long = hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; gnudateshort = year "-" month "-" day; iso8601date = year4 "-" monthlz "-" daylz; pointeddate = day "." month "." year; datefull = day ([ -.])* monthtext ([ -.])* year; datenoday = monthtext ([ -.])* year4; datenodayrev = year4 ([ -.])* monthtext; datetextual = monthtext ([ -.])* day [,.stndrh ]* year; datenoyear = monthtext ([ -.])* day [,.stndrh ]*; datenoyearrev = day ([ -.])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; isoweek = year4 "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [1-9] [0-9]*; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'next'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'week'|'fortnight'|'forthnight'|'month'|'year') 's'?) | daytext; relnumber = ([+-]?[ ]*[0-9]+); relative = relnumber space? reltextunit; relativetext = reltextnumber space? reltextunit; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetext { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/input8.g.re0000775000076500007660000000020411016275331012352 00000000000000/*!re2c any = [\000-\377]; .{1,3}"\000" { return 0; } . { return 1; } any { return 2; } */ re2c-0.13.5/test/cunroll.re0000664000076500007660000001174311016275331012363 00000000000000#include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; I = L|D; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); X = any\[*/]; */ /*!re2c "/*" { goto comment; } L { RET(ID); } L I { RET(ID); } L I I { RET(ID); } L I I I { RET(ID); } L I I I I { RET(ID); } L I I I I I { RET(ID); } L I I I I I I { RET(ID); } L I I I I I I I { RET(ID); } L I* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } X { goto comment; } X X { goto comment; } X X X { goto comment; } X X X X { goto comment; } X X X X X { goto comment; } X X X X X X { goto comment; } X X X X X X X { goto comment; } X X X X X X X X { goto comment; } any { goto comment; } */ } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/config4a.f.re0000775000076500007660000000037411016275331012624 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:state:abort = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/cvsignore.b.re0000775000076500007660000000255611016275331013131 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/input10.b.re0000775000076500007660000000016611016275331012425 00000000000000/*!re2c a = [aA]; b = [bB]; c = [cC]; d = [dD]; (a|b|c|d|"e"|'f'|[gG]) { return 1; } .|"\n" { return -1; } */ re2c-0.13.5/test/error8.re0000775000076500007660000000002711016275331012122 00000000000000/*!re2c [\090YY] {} */ re2c-0.13.5/test/sample.re0000664000076500007660000000021311016275331012154 00000000000000/*!re2c "print" {return PRINT;} [a-z]+ {return ID;} [0-9]+ {return DEC;} "0x" [0-9a-f]+ {return HEX;} [\000-\377] {return ERR;} */ re2c-0.13.5/test/bug1472770.b.c0000775000076500007660000000452211016275331012272 00000000000000/* Generated by re2c */ #line 1 "bug1472770.b.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: #line 23 "" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; goto yy0; yy1: ++YYCURSOR; yy0: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy1; } if (yych <= 0x00) goto yy5; ++YYCURSOR; #line 21 "bug1472770.b.re" { ++n; goto start; } #line 76 "" yy5: ++YYCURSOR; #line 26 "bug1472770.b.re" { return n; } #line 83 "" } #line 29 "bug1472770.b.re" } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/input6.re0000775000076500007660000000010111016275331012117 00000000000000/*!re2c []/[] { return 0; } [\000-\377] { return 1; } */ re2c-0.13.5/test/bug1479044.b.c0000775000076500007660000006176011016275331012302 00000000000000/* Generated by re2c */ #line 1 "bug1479044.b.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include char *scan281(char *p) { char *q; start: #line 18 "" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { /* table 1 .. 8: 0 */ 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 0, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 210, 12, 170, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 234, 170, 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, /* table 9 .. 10: 256 */ 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych <= 'f') { if (yych <= 'a') { if (yych <= '/') { if (yych <= 0x00) goto yy16; goto yy15; } else { if (yych <= '9') goto yy14; if (yych <= '`') goto yy15; } } else { if (yych <= 'c') { if (yych <= 'b') goto yy4; goto yy5; } else { if (yych <= 'd') goto yy6; if (yych <= 'e') goto yy7; goto yy8; } } } else { if (yych <= 'q') { if (yych <= 'l') { if (yych <= 'k') goto yy15; goto yy9; } else { if (yych == 'p') goto yy10; goto yy15; } } else { if (yych <= 'v') { if (yych <= 'r') goto yy13; if (yych <= 'u') goto yy15; goto yy11; } else { if (yych == 'x') goto yy12; goto yy15; } } } yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy172; yy3: #line 32 "bug1479044.b.re" { goto start; } #line 140 "" yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy170; goto yy3; yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy168; goto yy3; yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'h') goto yy154; goto yy3; } else { if (yych <= 'o') goto yy153; if (yych == 's') goto yy155; goto yy3; } yy7: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy151; goto yy3; yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy149; goto yy3; yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy147; goto yy3; yy10: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'p') { if (yych <= 'n') goto yy3; if (yych <= 'o') goto yy137; goto yy136; } else { if (yych == 'r') goto yy135; goto yy3; } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'd') goto yy133; goto yy3; yy12: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 's') goto yy108; goto yy3; yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'h') goto yy71; goto yy3; yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[256+yych] & 64) { goto yy20; } if (yych == '-') goto yy18; goto yy3; yy15: yych = *++YYCURSOR; goto yy3; yy16: ++YYCURSOR; #line 37 "bug1479044.b.re" { return NULL; } #line 220 "" yy18: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych <= '9') goto yy22; yy19: YYCURSOR = YYMARKER; if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy63; } } else { if (yyaccept <= 2) { goto yy107; } else { goto yy132; } } yy20: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[256+yych] & 64) { goto yy20; } if (yych == '-') goto yy18; goto yy19; yy22: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '-') goto yy24; if (yych <= '/') goto yy19; if (yych <= '9') goto yy22; goto yy19; yy24: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych >= ':') goto yy19; yy25: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '-') goto yy27; if (yych <= '/') goto yy19; if (yych <= '9') goto yy25; goto yy19; yy27: yych = *++YYCURSOR; if (yych <= '/') goto yy19; if (yych >= ':') goto yy19; yy28: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8); yych = *YYCURSOR; if (yych == '.') goto yy30; if (yych <= '/') goto yy19; if (yych <= '9') goto yy28; goto yy19; yy30: yych = *++YYCURSOR; if (yych == 'b') goto yy34; if (yych != 'd') goto yy33; yych = *++YYCURSOR; if (yych == 'h') goto yy69; goto yy33; yy32: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy33: if (yybm[256+yych] & 128) { goto yy32; } if (yych <= 'l') goto yy19; goto yy35; yy34: yych = *++YYCURSOR; if (yych == 'o') goto yy64; goto yy33; yy35: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 1) { goto yy35; } if (yych == '\n') goto yy19; if (yych != 'o') goto yy32; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 1) { goto yy35; } if (yych == '\n') goto yy19; if (yych != 'd') goto yy32; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 1) { goto yy35; } if (yych == '\n') goto yy19; if (yych != 'e') goto yy32; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[256+yych] & 128) { goto yy32; } if (yych <= 'l') goto yy19; yy40: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; } else { if (yych <= 'm') goto yy40; if (yych == 'o') goto yy46; } yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy42; } if (yych <= '-') goto yy19; if (yych >= '/') goto yy40; yy44: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych == 'w') goto yy49; goto yy42; } yy46: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'c') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'd') goto yy47; if (yych == 'm') goto yy40; goto yy42; } yy47: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'd') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'e') goto yy48; if (yych == 'm') goto yy40; goto yy42; } yy48: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy42; } if (yych <= '-') goto yy19; if (yych <= '.') goto yy44; goto yy40; yy49: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= '`') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'a') goto yy50; if (yych == 'm') goto yy40; goto yy42; } yy50: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych != 's') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'g') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'h') goto yy52; if (yych == 'm') goto yy40; goto yy42; } yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'h') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'i') goto yy53; if (yych == 'm') goto yy40; goto yy42; } yy53: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych >= 'o') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'f') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'g') goto yy55; if (yych == 'm') goto yy40; goto yy42; } yy55: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych != 't') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych != 'o') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych >= 'o') goto yy42; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy42; } if (yych <= '-') goto yy19; if (yych >= '/') goto yy40; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'e') { if (yych == '\n') goto yy19; if (yych <= 'd') goto yy42; } else { if (yych <= 'm') { if (yych <= 'l') goto yy42; goto yy40; } else { if (yych == 'w') goto yy49; goto yy42; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'c') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'd') goto yy61; if (yych == 'm') goto yy40; goto yy42; } yy61: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 4) { goto yy44; } if (yych <= 'l') { if (yych == '\n') goto yy19; goto yy42; } else { if (yych <= 'm') goto yy40; if (yych != 'u') goto yy42; } yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 2) { goto yy42; } if (yych <= '-') goto yy63; if (yych <= '.') goto yy44; goto yy40; yy63: #line 27 "bug1479044.b.re" { return "edu"; } #line 606 "" yy64: yych = *++YYCURSOR; if (yych != 't') goto yy33; yych = *++YYCURSOR; if (yych != 'h') goto yy33; yych = *++YYCURSOR; if (yych != 'e') goto yy33; yych = *++YYCURSOR; if (yych != 'l') goto yy33; yych = *++YYCURSOR; if (yych == 'l') goto yy42; goto yy33; yy69: yych = *++YYCURSOR; if (yych != 'c') goto yy33; yych = *++YYCURSOR; if (yych == 'p') goto yy42; goto yy33; yy71: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 8) { goto yy71; } if (yych <= ',') goto yy19; yy73: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy73; } if (yych == '\n') goto yy19; if (yych <= '/') goto yy71; if (yych >= ':') goto yy71; yy75: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ',') { if (yych == '\n') goto yy19; goto yy71; } else { if (yych <= '-') goto yy77; if (yych <= '/') goto yy71; if (yych <= '9') goto yy75; goto yy71; } yy77: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy73; } if (yych == '\n') goto yy19; if (yych <= '/') goto yy71; if (yych >= ':') goto yy71; yy78: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy71; goto yy77; } else { if (yych <= '.') goto yy80; if (yych <= '/') goto yy71; if (yych <= '9') goto yy78; goto yy71; } yy80: yych = *++YYCURSOR; if (yych != '.') goto yy82; yy81: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy82: if (yybm[0+yych] & 32) { goto yy81; } if (yych <= ',') goto yy19; if (yych >= '.') goto yy85; yy83: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy87; goto yy81; } yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych == 'r') goto yy92; goto yy81; } yy87: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy87; goto yy81; } yy89: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych >= ':') goto yy81; } yy90: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy89; } else { if (yych <= '.') goto yy85; if (yych <= '/') goto yy81; if (yych <= '9') goto yy90; goto yy81; } yy92: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'e') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 's') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'n') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'e') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy81; } if (yych <= ',') goto yy19; if (yych <= '-') goto yy83; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych <= '\n') { if (yych <= '\t') goto yy81; goto yy19; } else { if (yych <= ',') goto yy81; if (yych <= '-') goto yy83; goto yy85; } } else { if (yych <= 'p') { if (yych <= 'o') goto yy81; } else { if (yych == 'r') goto yy92; goto yy81; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'i') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 't') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy81; } if (yych <= ',') goto yy19; if (yych <= '-') goto yy83; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych <= '\n') { if (yych <= '\t') goto yy81; goto yy19; } else { if (yych <= ',') goto yy81; if (yych <= '-') goto yy83; goto yy85; } } else { if (yych <= 'e') { if (yych <= 'd') goto yy81; } else { if (yych == 'r') goto yy92; goto yy81; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'd') goto yy81; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; if (yych <= ',') goto yy81; goto yy83; } else { if (yych <= '.') goto yy85; if (yych != 'u') goto yy81; } yyaccept = 2; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy81; } if (yych <= ',') goto yy107; if (yych <= '-') goto yy83; goto yy85; yy107: #line 22 "bug1479044.b.re" { return "resnet"; } #line 942 "" yy108: yych = *++YYCURSOR; if (yych != 't') goto yy19; yych = *++YYCURSOR; if (yych != 't') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych != 'd') goto yy19; yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yy114: yych = *++YYCURSOR; if (yych == '.') goto yy19; goto yy116; yy115: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy116: if (yybm[0+yych] & 64) { goto yy115; } if (yych != '.') goto yy19; yych = *++YYCURSOR; if (yych == '\n') goto yy19; yy118: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy118; } if (yych <= '-') goto yy19; yy120: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'u') goto yy118; } yy122: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 's') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'w') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'e') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 's') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 't') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy118; } if (yych <= '-') goto yy19; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '.') { if (yych == '\n') goto yy19; if (yych <= '-') goto yy118; goto yy120; } else { if (yych <= 'n') { if (yych <= 'm') goto yy118; } else { if (yych == 'u') goto yy122; goto yy118; } } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 'e') goto yy118; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '-') { if (yych == '\n') goto yy19; goto yy118; } else { if (yych <= '.') goto yy120; if (yych != 't') goto yy118; } yyaccept = 3; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy118; } if (yych >= '.') goto yy120; yy132: #line 17 "bug1479044.b.re" { return "dsl"; } #line 1096 "" yy133: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy135: yych = *++YYCURSOR; if (yych == 'e') goto yy142; goto yy19; yy136: yych = *++YYCURSOR; if (yych == 'p') goto yy139; goto yy19; yy137: yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy139: yych = *++YYCURSOR; if (yych != 'd') goto yy19; yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy142: yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych != 'i') goto yy19; yych = *++YYCURSOR; if (yych != 'u') goto yy19; yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych == 'C') goto yy114; goto yy19; yy147: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy149: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy151: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy153: yych = *++YYCURSOR; if (yych == 'r') goto yy166; goto yy19; yy154: yych = *++YYCURSOR; if (yych == 'c') goto yy165; goto yy19; yy155: yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych == 'g') goto yy158; if (yych != 'p') goto yy19; yych = *++YYCURSOR; if (yych == 'p') goto yy164; goto yy19; yy158: yych = *++YYCURSOR; if (yych != 'w') goto yy19; yych = *++YYCURSOR; if (yych != '4') goto yy19; yych = *++YYCURSOR; if (yych != 'p') goto yy19; yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych != 'o') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy164: yych = *++YYCURSOR; if (yych == 'p') goto yy114; goto yy19; yy165: yych = *++YYCURSOR; if (yych == 'p') goto yy71; goto yy19; yy166: yych = *++YYCURSOR; if (yych != 'm') goto yy19; yych = *++YYCURSOR; if (yych == 's') goto yy71; goto yy19; yy168: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy170: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych == 'l') goto yy114; goto yy19; yy172: yych = *++YYCURSOR; if (yych != 's') goto yy19; yych = *++YYCURSOR; if (yych != 'l') goto yy19; yych = *++YYCURSOR; if (yych == '.') goto yy19; if (yych != 'p') goto yy116; yych = *++YYCURSOR; if (yych != 'p') goto yy19; ++YYCURSOR; if ((yych = *YYCURSOR) == 'p') goto yy114; goto yy19; } #line 40 "bug1479044.b.re" } int main(int argc, char **argv) { int n = 0; char *largv[2]; if (argc < 2) { argc = 2; argv = largv; argv[1] = "D-128-208-46-51.dhcp4.washington.edu"; } while(++n < argc) { char *res = scan281(argv[n]); printf("%s\n", res ? res : ""); } return 0; } re2c-0.13.5/test/error3.c0000775000076500007660000000007211016275331011731 00000000000000re2c: error: line 18, column 5: unexpected character: ']' re2c-0.13.5/test/config3.re0000775000076500007660000000121011016275331012224 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan0(char *p) { char *q; /*!re2c re2c:startlabel = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan1(char *p) { char *q; /*!re2c re2c:startlabel = 1; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan2(char *p) { char *q; /*!re2c re2c:startlabel = "startLabel"; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } char *scan(char *p) { char *q; /*!re2c re2c:startlabel = ; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/bug1472770.f.c0000775000076500007660000000223511016275331012275 00000000000000/* Generated by re2c */ #line 1 "bug1472770.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) YYCTYPE yych; int yySavedState; #define YYGETSTATE() yySavedState #define YYSETSTATE(n) yySavedState = n; #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: #line 29 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; } goto yy0; yy1: ++YYCURSOR; yy0: YYSETSTATE(0); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case 0x00: goto yy5; case '\n': goto yy3; default: goto yy1; } yy3: ++YYCURSOR; #line 27 "bug1472770.f.re" { ++n; goto start; } #line 55 "" yy5: ++YYCURSOR; #line 32 "bug1472770.f.re" { return n; } #line 62 "" #line 35 "bug1472770.f.re" } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/simple.re0000664000076500007660000000033611016275331012172 00000000000000#define NULL ((char*) 0) char *scan(char *p){ char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) /*!re2c [0-9]+ {return YYCURSOR;} [\000-\377] {return NULL;} */ } re2c-0.13.5/test/bug1054496.re0000775000076500007660000000104611016275331012235 00000000000000#include #include #include #define RET(n) printf("%d\n", n); return n #define TAG_EOI 0 #define TAG_A 1 #define TAG_TAG 2 int scan(char *s, int l) { char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) cont: /*!re2c any = [\001-\377]; ' #include #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int unint; typedef unsigned char uchar; #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { uchar *tok, *ptr, *cur, *pos, *lim, *eof; unint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unint cnt = s->lim - s->tok; uchar *buf = malloc((cnt + 1)*sizeof(uchar)); memcpy(buf, s->tok, cnt); cursor = &buf[cursor - s->tok]; s->pos = &buf[s->pos - s->tok]; s->ptr = &buf[s->ptr - s->tok]; s->lim = &buf[cnt]; s->eof = s->lim; *(s->eof)++ = '\n'; s->tok = buf; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; /*!re2c any = [\000-\377]; O = [0-7]; D = [0-9]; L = [a-zA-Z_]; H = [a-fA-F0-9]; E = [Ee] [+-]? D+; FS = [fFlL]; IS = [uUlL]*; ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+); */ /*!re2c "/*" { goto comment; } "auto" { RET(AUTO); } "break" { RET(BREAK); } "case" { RET(CASE); } "char" { RET(CHAR); } "const" { RET(CONST); } "continue" { RET(CONTINUE); } "default" { RET(DEFAULT); } "do" { RET(DO); } "double" { RET(DOUBLE); } "else" { RET(ELSE); } "enum" { RET(ENUM); } "extern" { RET(EXTERN); } "float" { RET(FLOAT); } "for" { RET(FOR); } "goto" { RET(GOTO); } "if" { RET(IF); } "int" { RET(INT); } "long" { RET(LONG); } "register" { RET(REGISTER); } "return" { RET(RETURN); } "short" { RET(SHORT); } "signed" { RET(SIGNED); } "sizeof" { RET(SIZEOF); } "static" { RET(STATIC); } "struct" { RET(STRUCT); } "switch" { RET(SWITCH); } "typedef" { RET(TYPEDEF); } "union" { RET(UNION); } "unsigned" { RET(UNSIGNED); } "void" { RET(VOID); } "volatile" { RET(VOLATILE); } "while" { RET(WHILE); } L (L|D)* { RET(ID); } ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) | (['] (ESC|any\[\n\\'])* [']) { RET(ICON); } (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?) { RET(FCON); } (["] (ESC|any\[\n\\"])* ["]) { RET(SCON); } "..." { RET(ELLIPSIS); } ">>=" { RET(RSHIFTEQ); } "<<=" { RET(LSHIFTEQ); } "+=" { RET(ADDEQ); } "-=" { RET(SUBEQ); } "*=" { RET(MULEQ); } "/=" { RET(DIVEQ); } "%=" { RET(MODEQ); } "&=" { RET(ANDEQ); } "^=" { RET(XOREQ); } "|=" { RET(OREQ); } ">>" { RET(RSHIFT); } "<<" { RET(LSHIFT); } "++" { RET(INCR); } "--" { RET(DECR); } "->" { RET(DEREF); } "&&" { RET(ANDAND); } "||" { RET(OROR); } "<=" { RET(LEQ); } ">=" { RET(GEQ); } "==" { RET(EQL); } "!=" { RET(NEQ); } ";" { RET(';'); } "{" { RET('{'); } "}" { RET('}'); } "," { RET(','); } ":" { RET(':'); } "=" { RET('='); } "(" { RET('('); } ")" { RET(')'); } "[" { RET('['); } "]" { RET(']'); } "." { RET('.'); } "&" { RET('&'); } "!" { RET('!'); } "~" { RET('~'); } "-" { RET('-'); } "+" { RET('+'); } "*" { RET('*'); } "/" { RET('/'); } "%" { RET('%'); } "<" { RET('<'); } ">" { RET('>'); } "^" { RET('^'); } "|" { RET('|'); } "?" { RET('?'); } [ \t\v\f]+ { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*/" { goto std; } "\n" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } #ifndef MAP_NORESERVE #define MAP_NORESERVE 0 #endif main(){ Scanner in; struct stat statbuf; uchar *buf; fstat(0, &statbuf); buf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED|MAP_NORESERVE, 0, 0); if(buf != (uchar*)(-1)){ int t; in.lim = &(in.cur = buf)[statbuf.st_size]; in.pos = NULL; in.eof = NULL; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } munmap(buf, statbuf.st_size); } } re2c-0.13.5/test/cnokw.c0000664000076500007660000005252111016275331011641 00000000000000/* Generated by re2c */ #line 1 "cnokw.re" #include #include #include #define ADDEQ 257 #define ANDAND 258 #define ANDEQ 259 #define ARRAY 260 #define ASM 261 #define AUTO 262 #define BREAK 263 #define CASE 264 #define CHAR 265 #define CONST 266 #define CONTINUE 267 #define DECR 268 #define DEFAULT 269 #define DEREF 270 #define DIVEQ 271 #define DO 272 #define DOUBLE 273 #define ELLIPSIS 274 #define ELSE 275 #define ENUM 276 #define EQL 277 #define EXTERN 278 #define FCON 279 #define FLOAT 280 #define FOR 281 #define FUNCTION 282 #define GEQ 283 #define GOTO 284 #define ICON 285 #define ID 286 #define IF 287 #define INCR 288 #define INT 289 #define LEQ 290 #define LONG 291 #define LSHIFT 292 #define LSHIFTEQ 293 #define MODEQ 294 #define MULEQ 295 #define NEQ 296 #define OREQ 297 #define OROR 298 #define POINTER 299 #define REGISTER 300 #define RETURN 301 #define RSHIFT 302 #define RSHIFTEQ 303 #define SCON 304 #define SHORT 305 #define SIGNED 306 #define SIZEOF 307 #define STATIC 308 #define STRUCT 309 #define SUBEQ 310 #define SWITCH 311 #define TYPEDEF 312 #define UNION 313 #define UNSIGNED 314 #define VOID 315 #define VOLATILE 316 #define WHILE 317 #define XOREQ 318 #define EOI 319 typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) {cursor = fill(s, cursor);} #define RET(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; std: s->tok = cursor; #line 133 "cnokw.re" #line 130 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy58; case '\n': goto yy60; case '!': goto yy34; case '"': goto yy13; case '%': goto yy24; case '&': goto yy26; case '\'': goto yy9; case '(': goto yy46; case ')': goto yy48; case '*': goto yy22; case '+': goto yy18; case ',': goto yy42; case '-': goto yy20; case '.': goto yy11; case '/': goto yy2; case '0': goto yy6; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy8; case ':': goto yy44; case ';': goto yy36; case '<': goto yy16; case '=': goto yy32; case '>': goto yy14; case '?': goto yy56; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy4; case '[': goto yy50; case ']': goto yy52; case '^': goto yy28; case '{': goto yy38; case '|': goto yy30; case '}': goto yy40; case '~': goto yy54; default: goto yy62; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '*': goto yy168; case '=': goto yy166; default: goto yy3; } yy3: #line 189 "cnokw.re" { RET('/'); } #line 244 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy165; yy5: #line 138 "cnokw.re" { RET(ID); } #line 252 "" yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy140; case 'X': case 'x': goto yy157; default: goto yy156; } yy7: #line 142 "cnokw.re" { RET(ICON); } #line 268 "" yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); goto yy138; yy9: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; default: goto yy128; } yy10: #line 208 "cnokw.re" { printf("unexpected character: %c\n", *s->tok); goto std; } #line 286 "" yy11: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '.': goto yy116; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy117; default: goto yy12; } yy12: #line 182 "cnokw.re" { RET('.'); } #line 307 "" yy13: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case '\n': goto yy10; default: goto yy106; } yy14: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy99; case '>': goto yy101; default: goto yy15; } yy15: #line 192 "cnokw.re" { RET('>'); } #line 325 "" yy16: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '<': goto yy95; case '=': goto yy93; default: goto yy17; } yy17: #line 191 "cnokw.re" { RET('<'); } #line 336 "" yy18: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '+': goto yy89; case '=': goto yy91; default: goto yy19; } yy19: #line 187 "cnokw.re" { RET('+'); } #line 347 "" yy20: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '-': goto yy85; case '=': goto yy87; case '>': goto yy83; default: goto yy21; } yy21: #line 186 "cnokw.re" { RET('-'); } #line 359 "" yy22: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy81; default: goto yy23; } yy23: #line 188 "cnokw.re" { RET('*'); } #line 369 "" yy24: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy79; default: goto yy25; } yy25: #line 190 "cnokw.re" { RET('%'); } #line 379 "" yy26: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '&': goto yy75; case '=': goto yy77; default: goto yy27; } yy27: #line 183 "cnokw.re" { RET('&'); } #line 390 "" yy28: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy73; default: goto yy29; } yy29: #line 193 "cnokw.re" { RET('^'); } #line 400 "" yy30: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy71; case '|': goto yy69; default: goto yy31; } yy31: #line 194 "cnokw.re" { RET('|'); } #line 411 "" yy32: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy67; default: goto yy33; } yy33: #line 177 "cnokw.re" { RET('='); } #line 421 "" yy34: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy65; default: goto yy35; } yy35: #line 184 "cnokw.re" { RET('!'); } #line 431 "" yy36: ++YYCURSOR; #line 172 "cnokw.re" { RET(';'); } #line 436 "" yy38: ++YYCURSOR; #line 173 "cnokw.re" { RET('{'); } #line 441 "" yy40: ++YYCURSOR; #line 174 "cnokw.re" { RET('}'); } #line 446 "" yy42: ++YYCURSOR; #line 175 "cnokw.re" { RET(','); } #line 451 "" yy44: ++YYCURSOR; #line 176 "cnokw.re" { RET(':'); } #line 456 "" yy46: ++YYCURSOR; #line 178 "cnokw.re" { RET('('); } #line 461 "" yy48: ++YYCURSOR; #line 179 "cnokw.re" { RET(')'); } #line 466 "" yy50: ++YYCURSOR; #line 180 "cnokw.re" { RET('['); } #line 471 "" yy52: ++YYCURSOR; #line 181 "cnokw.re" { RET(']'); } #line 476 "" yy54: ++YYCURSOR; #line 185 "cnokw.re" { RET('~'); } #line 481 "" yy56: ++YYCURSOR; #line 195 "cnokw.re" { RET('?'); } #line 486 "" yy58: ++YYCURSOR; yych = *YYCURSOR; goto yy64; yy59: #line 198 "cnokw.re" { goto std; } #line 494 "" yy60: ++YYCURSOR; #line 201 "cnokw.re" { if(cursor == s->eof) RET(EOI); s->pos = cursor; s->line++; goto std; } #line 503 "" yy62: yych = *++YYCURSOR; goto yy10; yy63: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy64: switch (yych) { case '\t': case '\v': case '\f': case ' ': goto yy63; default: goto yy59; } yy65: ++YYCURSOR; #line 171 "cnokw.re" { RET(NEQ); } #line 523 "" yy67: ++YYCURSOR; #line 170 "cnokw.re" { RET(EQL); } #line 528 "" yy69: ++YYCURSOR; #line 167 "cnokw.re" { RET(OROR); } #line 533 "" yy71: ++YYCURSOR; #line 160 "cnokw.re" { RET(OREQ); } #line 538 "" yy73: ++YYCURSOR; #line 159 "cnokw.re" { RET(XOREQ); } #line 543 "" yy75: ++YYCURSOR; #line 166 "cnokw.re" { RET(ANDAND); } #line 548 "" yy77: ++YYCURSOR; #line 158 "cnokw.re" { RET(ANDEQ); } #line 553 "" yy79: ++YYCURSOR; #line 157 "cnokw.re" { RET(MODEQ); } #line 558 "" yy81: ++YYCURSOR; #line 155 "cnokw.re" { RET(MULEQ); } #line 563 "" yy83: ++YYCURSOR; #line 165 "cnokw.re" { RET(DEREF); } #line 568 "" yy85: ++YYCURSOR; #line 164 "cnokw.re" { RET(DECR); } #line 573 "" yy87: ++YYCURSOR; #line 154 "cnokw.re" { RET(SUBEQ); } #line 578 "" yy89: ++YYCURSOR; #line 163 "cnokw.re" { RET(INCR); } #line 583 "" yy91: ++YYCURSOR; #line 153 "cnokw.re" { RET(ADDEQ); } #line 588 "" yy93: ++YYCURSOR; #line 168 "cnokw.re" { RET(LEQ); } #line 593 "" yy95: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy97; default: goto yy96; } yy96: #line 162 "cnokw.re" { RET(LSHIFT); } #line 603 "" yy97: ++YYCURSOR; #line 152 "cnokw.re" { RET(LSHIFTEQ); } #line 608 "" yy99: ++YYCURSOR; #line 169 "cnokw.re" { RET(GEQ); } #line 613 "" yy101: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '=': goto yy103; default: goto yy102; } yy102: #line 161 "cnokw.re" { RET(RSHIFT); } #line 623 "" yy103: ++YYCURSOR; #line 151 "cnokw.re" { RET(RSHIFTEQ); } #line 628 "" yy105: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy106: switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '\\': goto yy108; default: goto yy105; } yy107: YYCURSOR = YYMARKER; switch (yyaccept) { case 0: goto yy7; case 1: goto yy10; case 2: goto yy12; case 3: goto yy119; } yy108: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy105; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy112; case 'x': goto yy111; default: goto yy107; } yy109: ++YYCURSOR; #line 148 "cnokw.re" { RET(SCON); } #line 679 "" yy111: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy114; default: goto yy107; } yy112: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy112; case '\\': goto yy108; default: goto yy105; } yy114: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '"': goto yy109; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy114; case '\\': goto yy108; default: goto yy105; } yy116: yych = *++YYCURSOR; switch (yych) { case '.': goto yy125; default: goto yy107; } yy117: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy117; case 'E': case 'e': goto yy120; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy119: #line 145 "cnokw.re" { RET(FCON); } #line 792 "" yy120: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy122; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; default: goto yy107; } yy121: yych = *++YYCURSOR; goto yy119; yy122: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; default: goto yy107; } yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy123; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy125: ++YYCURSOR; #line 150 "cnokw.re" { RET(ELLIPSIS); } #line 853 "" yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy128: switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '\\': goto yy129; default: goto yy127; } yy129: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '"': case '\'': case '?': case '\\': case 'a': case 'b': case 'f': case 'n': case 'r': case 't': case 'v': goto yy127; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy132; case 'x': goto yy131; default: goto yy107; } yy130: yych = *++YYCURSOR; goto yy7; yy131: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy134; default: goto yy107; } yy132: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': goto yy132; case '\\': goto yy129; default: goto yy127; } yy134: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy107; case '\'': goto yy130; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy134; case '\\': goto yy129; default: goto yy127; } yy136: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'E': case 'e': goto yy147; default: goto yy146; } yy137: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy138: switch (yych) { case '.': goto yy136; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy137; case 'E': case 'e': goto yy139; case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } yy139: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy142; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; default: goto yy107; } yy140: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy140; default: goto yy7; } yy142: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; default: goto yy107; } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy143; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy145: yyaccept = 3; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; yy146: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy145; case 'E': case 'e': goto yy151; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy147: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy148; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; default: goto yy107; } yy148: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; default: goto yy107; } yy149: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy149; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy151: yych = *++YYCURSOR; switch (yych) { case '+': case '-': goto yy152; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; default: goto yy107; } yy152: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; default: goto yy107; } yy153: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy153; case 'F': case 'L': case 'f': case 'l': goto yy121; default: goto yy119; } yy155: yyaccept = 0; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy156: switch (yych) { case '.': goto yy136; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy155; case 'E': case 'e': goto yy139; case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } yy157: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy158; default: goto yy107; } yy158: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': goto yy158; case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } yy160: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy160; default: goto yy7; } yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'L': case 'U': case 'l': case 'u': goto yy162; default: goto yy7; } yy164: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy165: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy164; default: goto yy5; } yy166: ++YYCURSOR; #line 156 "cnokw.re" { RET(DIVEQ); } #line 1386 "" yy168: ++YYCURSOR; #line 136 "cnokw.re" { goto comment; } #line 1391 "" } #line 212 "cnokw.re" comment: #line 1398 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\n': goto yy174; case '*': goto yy172; default: goto yy176; } yy172: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '/': goto yy177; default: goto yy173; } yy173: #line 223 "cnokw.re" { goto comment; } #line 1417 "" yy174: ++YYCURSOR; #line 218 "cnokw.re" { if(cursor == s->eof) RET(EOI); s->tok = s->pos = cursor; s->line++; goto comment; } #line 1426 "" yy176: yych = *++YYCURSOR; goto yy173; yy177: ++YYCURSOR; #line 216 "cnokw.re" { goto std; } #line 1434 "" } #line 224 "cnokw.re" } main(){ Scanner in; int t; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while((t = scan(&in)) != EOI){ /* printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok); printf("%d\n", t); */ } close(in.fd); } re2c-0.13.5/test/input3.c0000664000076500007660000000104411016275331011734 00000000000000/* Generated by re2c */ #line 1 "input3.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } yy5: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy6; default: goto yy2; } yy6: ++YYCURSOR; #line 3 "input3.re" { return 1; } #line 35 "" } #line 5 "input3.re" re2c-0.13.5/test/input11.s.re0000775000076500007660000000040611016275331012444 00000000000000/*!re2c letter = [a-zA-Z]; digit = [0-9]; number = "0" | ("-"? [1-9] digit*); name = letter (letter|digit)*; config = "re2c:" (letter|"_") (letter|digit|"_"|":")*; config { return 0; } name { return 1; } number { return 2; } .|"\n" { return -1; } */ re2c-0.13.5/test/input7.c0000775000076500007660000000056111016275331011746 00000000000000/* Generated by re2c */ #line 1 "input7.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy4; default: goto yy2; } yy2: ++YYCURSOR; #line 5 "input7.re" { return 0; } #line 19 "" yy4: ++YYCURSOR; #line 6 "input7.re" { return 1; } #line 24 "" } #line 8 "input7.re" re2c-0.13.5/test/error10.c0000775000076500007660000000014011016275331012003 00000000000000re2c: error: line 2, column 6: Illegal unicode character, eight hexadecimal digits are required re2c-0.13.5/test/scanner.s.c0000775000076500007660000005270711016275331012423 00000000000000/* Generated by re2c */ #line 1 "scanner.s.re" /* Id: scanner.re,v 1.37 2006/02/25 12:41:41 helly Exp */ #include #include #include #include #include "scanner.h" #include "parser.h" #include "y.tab.h" #include "globals.h" #include "dfa.h" extern YYSTYPE yylval; #ifndef MAX #define MAX(a,b) (((a)>(b))?(a):(b)) #endif #define BSIZE 8192 #define YYCTYPE char #define YYCURSOR cursor #define YYLIMIT lim #define YYMARKER ptr #define YYFILL(n) {cursor = fill(cursor);} #define RETURN(i) {cur = cursor; return i;} namespace re2c { Scanner::Scanner(std::istream& i, std::ostream& o) : in(i) , out(o) , bot(NULL), tok(NULL), ptr(NULL), cur(NULL), pos(NULL), lim(NULL) , top(NULL), eof(NULL), tchar(0), tline(0), cline(1), iscfg(0) { ; } char *Scanner::fill(char *cursor) { if(!eof) { uint cnt = tok - bot; if(cnt) { memcpy(bot, tok, lim - tok); tok = bot; ptr -= cnt; cursor -= cnt; pos -= cnt; lim -= cnt; } if((top - lim) < BSIZE) { char *buf = new char[(lim - bot) + BSIZE]; memcpy(buf, tok, lim - tok); tok = buf; ptr = &buf[ptr - bot]; cursor = &buf[cursor - bot]; pos = &buf[pos - bot]; lim = &buf[lim - bot]; top = &lim[BSIZE]; delete [] bot; bot = buf; } in.read(lim, BSIZE); if ((cnt = in.gcount()) != BSIZE ) { eof = &lim[cnt]; *eof++ = '\0'; } lim += cnt; } return cursor; } #line 95 "scanner.s.re" int Scanner::echo() { char *cursor = cur; bool ignore_eoc = false; if (eof && cursor == eof) // Catch EOF { return 0; } tok = cursor; echo: #line 96 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych <= ')') { if (yych <= 0x00) goto yy7; if (yych == '\n') goto yy5; goto yy9; } else { if (yych <= '*') goto yy4; if (yych != '/') goto yy9; } yych = *(YYMARKER = ++YYCURSOR); if (yych == '*') goto yy12; yy3: #line 141 "scanner.s.re" { goto echo; } #line 117 "" yy4: yych = *++YYCURSOR; if (yych == '/') goto yy10; goto yy3; yy5: ++YYCURSOR; #line 130 "scanner.s.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); tok = pos = cursor; cline++; goto echo; } #line 130 "" yy7: ++YYCURSOR; #line 135 "scanner.s.re" { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok) - 1); // -1 so we don't write out the \0 if(cursor == eof) { RETURN(0); } } #line 140 "" yy9: yych = *++YYCURSOR; goto yy3; yy10: ++YYCURSOR; #line 121 "scanner.s.re" { if (ignore_eoc) { ignore_eoc = false; } else { out.write((const char*)(tok), (const char*)(cursor) - (const char*)(tok)); } tok = pos = cursor; goto echo; } #line 156 "" yy12: yych = *++YYCURSOR; if (yych == '!') goto yy14; yy13: YYCURSOR = YYMARKER; goto yy3; yy14: yych = *++YYCURSOR; if (yych == 'm') goto yy15; if (yych == 'r') goto yy16; goto yy13; yy15: yych = *++YYCURSOR; if (yych == 'a') goto yy21; goto yy13; yy16: yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 110 "scanner.s.re" { out.write((const char*)(tok), (const char*)(&cursor[-7]) - (const char*)(tok)); tok = cursor; RETURN(1); } #line 186 "" yy21: yych = *++YYCURSOR; if (yych != 'x') goto yy13; yych = *++YYCURSOR; if (yych != ':') goto yy13; yych = *++YYCURSOR; if (yych != 'r') goto yy13; yych = *++YYCURSOR; if (yych != 'e') goto yy13; yych = *++YYCURSOR; if (yych != '2') goto yy13; yych = *++YYCURSOR; if (yych != 'c') goto yy13; ++YYCURSOR; #line 115 "scanner.s.re" { out << "#define YYMAXFILL " << maxFill << std::endl; tok = pos = cursor; ignore_eoc = true; goto echo; } #line 208 "" } #line 144 "scanner.s.re" } int Scanner::scan() { char *cursor = cur; uint depth; scan: tchar = cursor - pos; tline = cline; tok = cursor; if (iscfg == 1) { goto config; } else if (iscfg == 2) { goto value; } #line 233 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; if (yych <= '/') { if (yych <= '!') { if (yych <= '\f') { if (yych <= 0x08) goto yy56; if (yych <= '\t') goto yy50; if (yych <= '\n') goto yy52; goto yy56; } else { if (yych <= '\r') goto yy54; if (yych == ' ') goto yy50; goto yy56; } } else { if (yych <= ')') { if (yych <= '"') goto yy37; if (yych <= '&') goto yy56; if (yych <= '\'') goto yy39; goto yy43; } else { if (yych <= '+') { if (yych <= '*') goto yy35; goto yy44; } else { if (yych <= '-') goto yy56; if (yych <= '.') goto yy48; goto yy33; } } } } else { if (yych <= 'Z') { if (yych <= '=') { if (yych == ';') goto yy43; if (yych <= '<') goto yy56; goto yy43; } else { if (yych == '?') goto yy44; if (yych <= '@') goto yy56; goto yy47; } } else { if (yych <= 'q') { if (yych <= '[') goto yy41; if (yych <= '\\') goto yy43; if (yych <= '`') goto yy56; goto yy47; } else { if (yych <= 'z') { if (yych <= 'r') goto yy45; goto yy47; } else { if (yych <= '{') goto yy31; if (yych <= '|') goto yy43; goto yy56; } } } } yy31: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ',') goto yy97; } else { if (yych <= '0') goto yy94; if (yych <= '9') goto yy95; } yy32: #line 166 "scanner.s.re" { depth = 1; goto code; } #line 311 "" yy33: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy92; yy34: #line 196 "scanner.s.re" { RETURN(*tok); } #line 318 "" yy35: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy90; yy36: #line 198 "scanner.s.re" { yylval.op = *tok; RETURN(CLOSE); } #line 326 "" yy37: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy86; yy38: #line 183 "scanner.s.re" { fatal("unterminated string constant (missing \")"); } #line 334 "" yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych != '\n') goto yy81; yy40: #line 184 "scanner.s.re" { fatal("unterminated string constant (missing ')"); } #line 342 "" yy41: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy42; if (yych == '^') goto yy72; goto yy71; yy42: #line 194 "scanner.s.re" { fatal("unterminated range (missing ])"); } #line 352 "" yy43: yych = *++YYCURSOR; goto yy34; yy44: yych = *++YYCURSOR; goto yy36; yy45: ++YYCURSOR; if ((yych = *YYCURSOR) == 'e') goto yy62; goto yy61; yy46: #line 225 "scanner.s.re" { cur = cursor; yylval.symbol = Symbol::find(token()); return ID; } #line 368 "" yy47: yych = *++YYCURSOR; goto yy61; yy48: ++YYCURSOR; #line 229 "scanner.s.re" { cur = cursor; yylval.regexp = mkDot(); return RANGE; } #line 379 "" yy50: ++YYCURSOR; yych = *YYCURSOR; goto yy59; yy51: #line 234 "scanner.s.re" { goto scan; } #line 387 "" yy52: ++YYCURSOR; yy53: #line 236 "scanner.s.re" { if(cursor == eof) RETURN(0); pos = cursor; cline++; goto scan; } #line 396 "" yy54: ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy57; yy55: #line 241 "scanner.s.re" { std::ostringstream msg; msg << "unexpected character: "; prtChOrHex(msg, *tok); fatal(msg.str().c_str()); goto scan; } #line 408 "" yy56: yych = *++YYCURSOR; goto yy55; yy57: yych = *++YYCURSOR; goto yy53; yy58: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy59: if (yych == '\t') goto yy58; if (yych == ' ') goto yy58; goto yy51; yy60: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy61: if (yych <= '@') { if (yych <= '/') goto yy46; if (yych <= '9') goto yy60; goto yy46; } else { if (yych <= 'Z') goto yy60; if (yych <= '`') goto yy46; if (yych <= 'z') goto yy60; goto yy46; } yy62: yych = *++YYCURSOR; if (yych != '2') goto yy61; yych = *++YYCURSOR; if (yych != 'c') goto yy61; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych != ':') goto yy61; yy65: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy66; if (yych <= 'Z') goto yy67; if (yych <= '`') goto yy66; if (yych <= 'z') goto yy67; yy66: YYCURSOR = YYMARKER; if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy32; } else { goto yy38; } } else { if (yyaccept <= 2) { goto yy40; } else { goto yy42; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy46; } else { goto yy69; } } else { goto yy98; } } yy67: yyaccept = 5; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 'Z') { if (yych <= '9') { if (yych >= '0') goto yy67; } else { if (yych <= ':') goto yy65; if (yych >= 'A') goto yy67; } } else { if (yych <= '_') { if (yych >= '_') goto yy67; } else { if (yych <= '`') goto yy69; if (yych <= 'z') goto yy67; } } yy69: #line 218 "scanner.s.re" { cur = cursor; tok+= 5; /* skip "re2c:" */ iscfg = 1; yylval.str = new Str(token()); return CONFIG; } #line 509 "" yy70: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy71: if (yych <= '[') { if (yych == '\n') goto yy66; goto yy70; } else { if (yych <= '\\') goto yy74; if (yych <= ']') goto yy75; goto yy70; } yy72: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '[') { if (yych == '\n') goto yy66; goto yy72; } else { if (yych <= '\\') goto yy77; if (yych <= ']') goto yy78; goto yy72; } yy74: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy70; yy75: ++YYCURSOR; #line 190 "scanner.s.re" { cur = cursor; yylval.regexp = ranToRE(token()); return RANGE; } #line 547 "" yy77: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy72; yy78: ++YYCURSOR; #line 186 "scanner.s.re" { cur = cursor; yylval.regexp = invToRE(token()); return RANGE; } #line 560 "" yy80: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy81: if (yych <= '&') { if (yych == '\n') goto yy66; goto yy80; } else { if (yych <= '\'') goto yy83; if (yych != '\\') goto yy80; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy80; yy83: ++YYCURSOR; #line 179 "scanner.s.re" { cur = cursor; yylval.regexp = strToCaseInsensitiveRE(token()); return STRING; } #line 584 "" yy85: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy86: if (yych <= '!') { if (yych == '\n') goto yy66; goto yy85; } else { if (yych <= '"') goto yy88; if (yych != '\\') goto yy85; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy66; goto yy85; yy88: ++YYCURSOR; #line 175 "scanner.s.re" { cur = cursor; yylval.regexp = strToRE(token()); return STRING; } #line 608 "" yy90: ++YYCURSOR; #line 172 "scanner.s.re" { tok = cursor; RETURN(0); } #line 614 "" yy92: ++YYCURSOR; #line 169 "scanner.s.re" { depth = 1; goto comment; } #line 620 "" yy94: yych = *++YYCURSOR; if (yych == ',') goto yy108; goto yy96; yy95: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; yy96: if (yych <= '/') { if (yych == ',') goto yy101; goto yy66; } else { if (yych <= '9') goto yy95; if (yych == '}') goto yy99; goto yy66; } yy97: ++YYCURSOR; yy98: #line 216 "scanner.s.re" { fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers"); } #line 643 "" yy99: ++YYCURSOR; #line 204 "scanner.s.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = atoi((char *)tok+1); RETURN(CLOSESIZE); } #line 650 "" yy101: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 212 "scanner.s.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = -1; RETURN(CLOSESIZE); } #line 662 "" yy104: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy66; if (yych <= '9') goto yy104; if (yych != '}') goto yy66; ++YYCURSOR; #line 208 "scanner.s.re" { yylval.extop.minsize = atoi((char *)tok+1); yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1)); RETURN(CLOSESIZE); } #line 675 "" yy108: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy98; if (yych <= '9') goto yy104; if (yych != '}') goto yy98; ++YYCURSOR; #line 201 "scanner.s.re" { yylval.op = '*'; RETURN(CLOSE); } #line 686 "" } #line 247 "scanner.s.re" code: #line 693 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\n') { if (yych <= '\t') goto yy119; goto yy117; } else { if (yych == '"') goto yy121; goto yy119; } } else { if (yych <= '{') { if (yych <= '\'') goto yy122; if (yych <= 'z') goto yy119; goto yy115; } else { if (yych != '}') goto yy119; } } ++YYCURSOR; #line 251 "scanner.s.re" { if(--depth == 0){ cur = cursor; yylval.token = new Token(token(), tline); return CODE; } goto code; } #line 723 "" yy115: ++YYCURSOR; #line 257 "scanner.s.re" { ++depth; goto code; } #line 729 "" yy117: ++YYCURSOR; #line 259 "scanner.s.re" { if(cursor == eof) fatal("missing '}'"); pos = cursor; cline++; goto code; } #line 737 "" yy119: ++YYCURSOR; yy120: #line 263 "scanner.s.re" { goto code; } #line 743 "" yy121: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy128; yy122: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy120; goto yy124; yy123: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy124: if (yych <= '&') { if (yych != '\n') goto yy123; } else { if (yych <= '\'') goto yy119; if (yych == '\\') goto yy126; goto yy123; } yy125: YYCURSOR = YYMARKER; goto yy120; yy126: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy123; yy127: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy128: if (yych <= '!') { if (yych == '\n') goto yy125; goto yy127; } else { if (yych <= '"') goto yy119; if (yych != '\\') goto yy127; } ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy125; goto yy127; } #line 264 "scanner.s.re" comment: #line 796 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ')') { if (yych == '\n') goto yy135; goto yy137; } else { if (yych <= '*') goto yy132; if (yych == '/') goto yy134; goto yy137; } yy132: ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy140; yy133: #line 279 "scanner.s.re" { if(cursor == eof) RETURN(0); goto comment; } #line 816 "" yy134: yych = *++YYCURSOR; if (yych == '*') goto yy138; goto yy133; yy135: ++YYCURSOR; #line 275 "scanner.s.re" { if(cursor == eof) RETURN(0); tok = pos = cursor; cline++; goto comment; } #line 828 "" yy137: yych = *++YYCURSOR; goto yy133; yy138: ++YYCURSOR; #line 272 "scanner.s.re" { ++depth; fatal("ambiguous /* found"); goto comment; } #line 838 "" yy140: ++YYCURSOR; #line 268 "scanner.s.re" { if(--depth == 0) goto scan; else goto comment; } #line 846 "" } #line 281 "scanner.s.re" config: #line 853 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych != '\t') goto yy148; } else { if (yych <= ' ') goto yy144; if (yych == '=') goto yy146; goto yy148; } yy144: ++YYCURSOR; yych = *YYCURSOR; goto yy153; yy145: #line 285 "scanner.s.re" { goto config; } #line 872 "" yy146: ++YYCURSOR; yych = *YYCURSOR; goto yy151; yy147: #line 286 "scanner.s.re" { iscfg = 2; cur = cursor; RETURN('='); } #line 883 "" yy148: ++YYCURSOR; #line 290 "scanner.s.re" { fatal("missing '='"); } #line 888 "" yy150: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy151: if (yych == '\t') goto yy150; if (yych == ' ') goto yy150; goto yy147; yy152: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy153: if (yych == '\t') goto yy152; if (yych == ' ') goto yy152; goto yy145; } #line 291 "scanner.s.re" value: #line 911 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '&') { if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych == '"') goto yy164; goto yy162; } } } else { if (yych <= '/') { if (yych <= '\'') goto yy166; if (yych == '-') goto yy159; goto yy162; } else { if (yych <= '9') { if (yych <= '0') goto yy157; goto yy160; } else { if (yych != ';') goto yy162; } } } yy156: #line 300 "scanner.s.re" { cur = cursor; yylval.str = new Str(token()); iscfg = 0; return VALUE; } #line 950 "" yy157: ++YYCURSOR; if ((yych = *YYCURSOR) <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy158; if (yych <= '\f') goto yy162; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; } else { if (yych != ';') goto yy162; } } yy158: #line 295 "scanner.s.re" { cur = cursor; yylval.number = atoi(token().to_string().c_str()); iscfg = 0; return NUMBER; } #line 971 "" yy159: yych = *++YYCURSOR; if (yych <= '0') goto yy163; if (yych >= ':') goto yy163; yy160: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= 0x1F) { if (yych <= '\n') { if (yych >= '\t') goto yy158; } else { if (yych == '\r') goto yy158; } } else { if (yych <= '9') { if (yych <= ' ') goto yy158; if (yych >= '0') goto yy160; } else { if (yych == ';') goto yy158; } } yy162: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy163: if (yych <= '\r') { if (yych <= 0x08) goto yy162; if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy162; goto yy156; } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy162; goto yy156; } else { if (yych == ';') goto yy156; goto yy162; } } yy164: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy164; if (yych <= '\t') goto yy174; goto yy156; } else { if (yych == '\r') goto yy174; if (yych <= 0x1F) goto yy164; goto yy174; } } else { if (yych <= ':') { if (yych == '"') goto yy162; goto yy164; } else { if (yych <= ';') goto yy174; if (yych == '\\') goto yy176; goto yy164; } } yy166: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= ' ') { if (yych <= '\n') { if (yych <= 0x08) goto yy166; if (yych >= '\n') goto yy156; } else { if (yych == '\r') goto yy168; if (yych <= 0x1F) goto yy166; } } else { if (yych <= ':') { if (yych == '\'') goto yy162; goto yy166; } else { if (yych <= ';') goto yy168; if (yych == '\\') goto yy171; goto yy166; } } yy168: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '&') { if (yych != '\n') goto yy168; } else { if (yych <= '\'') goto yy172; if (yych == '\\') goto yy173; goto yy168; } yy170: YYCURSOR = YYMARKER; goto yy156; yy171: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy166; goto yy168; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy166; goto yy168; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy166; goto yy168; } else { if (yych == ';') goto yy168; goto yy166; } } yy172: yych = *++YYCURSOR; goto yy156; yy173: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy168; yy174: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '!') { if (yych == '\n') goto yy170; goto yy174; } else { if (yych <= '"') goto yy172; if (yych == '\\') goto yy177; goto yy174; } yy176: YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy164; goto yy174; } else { if (yych <= '\n') goto yy156; if (yych <= '\f') goto yy164; goto yy174; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy164; goto yy174; } else { if (yych == ';') goto yy174; goto yy164; } } yy177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '\n') goto yy170; goto yy174; } #line 305 "scanner.s.re" } void Scanner::fatal(uint ofs, const char *msg) const { out.flush(); std::cerr << "re2c: error: " << "line " << tline << ", column " << (tchar + ofs + 1) << ": " << msg << std::endl; exit(1); } } // end namespace re2c re2c-0.13.5/test/input8.b.re0000775000076500007660000000020411016275331012345 00000000000000/*!re2c any = [\000-\377]; .{1,3}"\000" { return 0; } . { return 1; } any { return 2; } */ re2c-0.13.5/test/parse_date.g.c0000775000076500007660000172032011016275331013057 00000000000000/* Generated by re2c */ #line 1 "parse_date.g.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 845 "parse_date.g.re" #line 743 "" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 192, 64, 192, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 160, 32, 32, 32, 160, 32, 32, 32, 32, 32, 160, 32, 32, 32, 160, 160, 160, 32, 32, 32, 32, 32, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy48, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy48, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy45, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy42, &&yy50, &&yy50, &&yy41, &&yy47, &&yy41, &&yy47, &&yy50, &&yy13, &&yy14, &&yy15, &&yy16, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy11, &&yy25, &&yy43, &&yy43, &&yy31, &&yy35, &&yy23, &&yy43, &&yy43, &&yy18, &&yy21, &&yy43, &&yy37, &&yy7, &&yy5, &&yy29, &&yy39, &&yy43, &&yy43, &&yy27, &&yy9, &&yy43, &&yy19, &&yy33, &&yy20, &&yy2, &&yy43, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy26, &&yy44, &&yy44, &&yy32, &&yy36, &&yy24, &&yy44, &&yy44, &&yy44, &&yy22, &&yy44, &&yy38, &&yy8, &&yy6, &&yy30, &&yy40, &&yy44, &&yy44, &&yy28, &&yy10, &&yy44, &&yy44, &&yy34, &&yy44, &&yy4, &&yy44, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50, &&yy50 }; goto *yytarget[yych]; } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych >= 'a') goto yy136; } else { if (yych <= 'e') goto yy1311; if (yych <= 'z') goto yy136; } } yy3: #line 1340 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 851 "" yy4: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1302; if (yych <= 'z') goto yy133; goto yy3; } } yy5: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1273, &&yy133, &&yy133, &&yy133, &&yy1274, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1272, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1289, &&yy136, &&yy136, &&yy136, &&yy1290, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1288, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy6: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1273, &&yy133, &&yy133, &&yy133, &&yy1274, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1272, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1273, &&yy133, &&yy133, &&yy133, &&yy1274, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1272, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy7: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy1244, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1245, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1246, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy1258, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1259, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1260, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy8: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy1244, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1245, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1246, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy1244, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1245, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1246, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy9: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1180, &&yy133, &&yy133, &&yy1181, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1182, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1183, &&yy133, &&yy1184, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1213, &&yy136, &&yy136, &&yy1214, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1215, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy1216, &&yy136, &&yy1217, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy10: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1180, &&yy133, &&yy133, &&yy1181, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1182, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1183, &&yy133, &&yy1184, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1180, &&yy133, &&yy133, &&yy1181, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1182, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy1183, &&yy133, &&yy1184, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1176; if (yych <= '0') goto yy12; if (yych <= '9') goto yy1177; yy12: #line 1406 "parse_date.g.re" { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } #line 1121 "" yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy615, &&yy1142, &&yy614, &&yy1175, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1174, &&yy1143, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy1140, &&yy12, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy1140, &&yy1140, &&yy12, &&yy12, &&yy1140, &&yy1140, &&yy1140, &&yy12, &&yy12, &&yy12, &&yy1140, &&yy1140, &&yy12, &&yy1140, &&yy1140, &&yy1140, &&yy1140, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy1140, &&yy12, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy12, &&yy12, &&yy1140, &&yy612, &&yy1140, &&yy12, &&yy12, &&yy613, &&yy606, &&yy610, &&yy12, &&yy12, &&yy1140, &&yy12, &&yy1140, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12 }; goto *yytarget[yych]; } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy615, &&yy618, &&yy614, &&yy1174, &&yy1174, &&yy1174, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy627, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy612, &&yy604, &&yy604, &&yy12, &&yy613, &&yy606, &&yy610, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12 }; goto *yytarget[yych]; } yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy615, &&yy618, &&yy614, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1138, &&yy1138, &&yy1138, &&yy1138, &&yy1138, &&yy1138, &&yy627, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy612, &&yy604, &&yy604, &&yy12, &&yy613, &&yy606, &&yy610, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12 }; goto *yytarget[yych]; } yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy615, &&yy618, &&yy614, &&yy1138, &&yy1138, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy627, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy612, &&yy604, &&yy604, &&yy12, &&yy613, &&yy606, &&yy610, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12 }; goto *yytarget[yych]; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy604, &&yy615, &&yy618, &&yy614, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy611, &&yy627, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy604, &&yy604, &&yy12, &&yy604, &&yy604, &&yy604, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy604, &&yy612, &&yy604, &&yy604, &&yy12, &&yy613, &&yy606, &&yy610, &&yy12, &&yy12, &&yy604, &&yy12, &&yy604, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12, &&yy12 }; goto *yytarget[yych]; } yy18: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy602, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy601, &&yy133, &&yy601, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy19: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy599; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy20: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy597; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy21: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy589; } else { if (yych == 'u') goto yy588; if (yych <= 'z') goto yy136; goto yy3; } } yy22: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy580; } else { if (yych == 'u') goto yy579; if (yych <= 'z') goto yy133; goto yy3; } } yy23: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy541, &&yy133, &&yy133, &&yy133, &&yy542, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy543, &&yy133, &&yy133, &&yy544, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy136, &&yy136, &&yy136, &&yy136, &&yy560, &&yy136, &&yy136, &&yy136, &&yy561, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy562, &&yy136, &&yy136, &&yy563, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy24: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy541, &&yy133, &&yy133, &&yy133, &&yy542, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy543, &&yy133, &&yy133, &&yy544, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy541, &&yy133, &&yy133, &&yy133, &&yy542, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy543, &&yy133, &&yy133, &&yy544, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy25: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy524, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy523, &&yy133, &&yy133, &&yy133, &&yy133, &&yy522, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy534, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy533, &&yy136, &&yy136, &&yy136, &&yy136, &&yy532, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy26: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy524, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy523, &&yy133, &&yy133, &&yy133, &&yy133, &&yy522, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy524, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy523, &&yy133, &&yy133, &&yy133, &&yy133, &&yy522, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy27: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy469, &&yy133, &&yy133, &&yy133, &&yy468, &&yy133, &&yy133, &&yy133, &&yy470, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy471, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy496, &&yy136, &&yy136, &&yy136, &&yy495, &&yy136, &&yy136, &&yy136, &&yy497, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy498, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy28: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy469, &&yy133, &&yy133, &&yy133, &&yy468, &&yy133, &&yy133, &&yy133, &&yy470, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy471, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy469, &&yy133, &&yy133, &&yy133, &&yy468, &&yy133, &&yy133, &&yy133, &&yy470, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy471, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy29: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'c') goto yy463; if (yych <= 'z') goto yy136; goto yy3; } } yy30: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'c') goto yy458; if (yych <= 'z') goto yy133; goto yy3; } } yy31: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy451; if (yych <= 'z') goto yy136; goto yy3; } } yy32: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy356; if (yych <= 'z') goto yy133; goto yy3; } } yy33: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy348; if (yych <= 'z') goto yy136; goto yy3; } } yy34: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy339; if (yych <= 'z') goto yy133; goto yy3; } } yy35: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy136; goto yy330; } else { if (yych == 'l') goto yy331; if (yych <= 'z') goto yy136; goto yy3; } } yy36: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy133; goto yy321; } else { if (yych == 'l') goto yy322; if (yych <= 'z') goto yy133; goto yy3; } } yy37: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy318; if (yych <= 'z') goto yy136; goto yy3; } } yy38: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy315; if (yych <= 'z') goto yy133; goto yy3; } } yy39: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'r') goto yy235; if (yych <= 'z') goto yy136; goto yy3; } } yy40: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'r') goto yy153; if (yych <= 'z') goto yy133; goto yy3; } } yy41: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy12; if (yych <= '1') goto yy146; if (yych <= '2') goto yy147; if (yych <= '9') goto yy148; goto yy12; yy42: yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy145; if (yych <= '`') goto yy12; if (yych <= 'z') goto yy145; goto yy12; yy43: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } yy44: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy45: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy46; if (yych <= '9') goto yy51; yy46: #line 1395 "parse_date.g.re" { goto std; } #line 1995 "" yy47: yych = *++YYCURSOR; goto yy46; yy48: ++YYCURSOR; #line 1400 "parse_date.g.re" { s->pos = cursor; s->line++; goto std; } #line 2006 "" yy50: yych = *++YYCURSOR; goto yy12; yy51: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy56, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy61, &&yy53, &&yy63, &&yy53, &&yy60, &&yy53, &&yy53, &&yy53, &&yy53, &&yy59, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy58, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy61, &&yy53, &&yy63, &&yy53, &&yy60, &&yy53, &&yy53, &&yy53, &&yy53, &&yy59, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy58, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy53: YYCURSOR = YYMARKER; { static void *yytarget[27] = { &&yy12, &&yy3, &&yy46, &&yy69, &&yy172, &&yy341, &&yy363, &&yy385, &&yy420, &&yy526, &&yy620, &&yy634, &&yy775, &&yy784, &&yy880, &&yy916, &&yy943, &&yy889, &&yy1043, &&yy937, &&yy1146, &&yy1154, &&yy1200, &&yy1203, &&yy1279, &&yy1287, &&yy1310, }; goto *yytarget[yyaccept]; } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy54; } if (yych <= '/') goto yy53; if (yych <= '9') goto yy51; goto yy53; yy56: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy57: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy56, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy61, &&yy53, &&yy63, &&yy53, &&yy60, &&yy53, &&yy53, &&yy53, &&yy53, &&yy59, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy58, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy61, &&yy53, &&yy63, &&yy53, &&yy60, &&yy53, &&yy53, &&yy53, &&yy53, &&yy59, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy58, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy58: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy120; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy120; if (yych == 'u') goto yy118; goto yy53; } } yy59: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy110; } else { if (yych == 'o') goto yy109; goto yy53; } } yy60: yych = *++YYCURSOR; if (yych == 'O') goto yy107; if (yych == 'o') goto yy107; goto yy53; yy61: yych = *++YYCURSOR; if (yych == 'A') goto yy106; if (yych == 'a') goto yy106; goto yy53; yy62: yych = *++YYCURSOR; if (yych == 'E') goto yy98; if (yych == 'e') goto yy98; goto yy53; yy63: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy83; } else { if (yych == 'r') goto yy82; goto yy53; } } yy64: yych = *++YYCURSOR; if (yych == 'E') goto yy79; if (yych == 'e') goto yy79; goto yy53; yy65: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy67; goto yy53; } } yy66: yych = *++YYCURSOR; if (yych == 'U') goto yy74; if (yych == 'u') goto yy74; goto yy53; yy67: yych = *++YYCURSOR; if (yych == 'E') goto yy68; if (yych != 'e') goto yy53; yy68: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy70; if (yych == 's') goto yy70; yy69: #line 1379 "parse_date.g.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 2252 "" yy70: yych = *++YYCURSOR; if (yych == 'D') goto yy71; if (yych != 'd') goto yy53; yy71: yych = *++YYCURSOR; if (yych == 'A') goto yy72; if (yych != 'a') goto yy53; yy72: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych != 'y') goto yy53; yy73: yych = *++YYCURSOR; goto yy69; yy74: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy75; if (yych != 'r') goto yy69; yy75: yych = *++YYCURSOR; if (yych == 'S') goto yy76; if (yych != 's') goto yy53; yy76: yych = *++YYCURSOR; if (yych == 'D') goto yy77; if (yych != 'd') goto yy53; yy77: yych = *++YYCURSOR; if (yych == 'A') goto yy78; if (yych != 'a') goto yy53; yy78: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy79: yych = *++YYCURSOR; if (yych == 'A') goto yy80; if (yych != 'a') goto yy53; yy80: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych != 'r') goto yy53; yy81: yych = *++YYCURSOR; if (yych == 'S') goto yy73; if (yych == 's') goto yy73; goto yy69; yy82: yych = *++YYCURSOR; if (yych == 'I') goto yy95; if (yych == 'i') goto yy95; goto yy53; yy83: yych = *++YYCURSOR; if (yych == 'R') goto yy84; if (yych != 'r') goto yy53; yy84: yych = *++YYCURSOR; if (yych == 'T') goto yy85; if (yych != 't') goto yy53; yy85: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy87; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy87; } else { if (yych != 'n') goto yy53; } } yych = *++YYCURSOR; if (yych == 'I') goto yy92; if (yych == 'i') goto yy92; goto yy53; yy87: yych = *++YYCURSOR; if (yych == 'N') goto yy88; if (yych != 'n') goto yy53; yy88: yych = *++YYCURSOR; if (yych == 'I') goto yy89; if (yych != 'i') goto yy53; yy89: yych = *++YYCURSOR; if (yych == 'G') goto yy90; if (yych != 'g') goto yy53; yy90: yych = *++YYCURSOR; if (yych == 'H') goto yy91; if (yych != 'h') goto yy53; yy91: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy92: yych = *++YYCURSOR; if (yych == 'G') goto yy93; if (yych != 'g') goto yy53; yy93: yych = *++YYCURSOR; if (yych == 'H') goto yy94; if (yych != 'h') goto yy53; yy94: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy95: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy96; if (yych != 'd') goto yy69; yy96: yych = *++YYCURSOR; if (yych == 'A') goto yy97; if (yych != 'a') goto yy53; yy97: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy98: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy100; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy100; if (yych >= 'f') goto yy53; } yych = *++YYCURSOR; if (yych == 'K') goto yy81; if (yych == 'k') goto yy81; goto yy53; yy100: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy101; if (yych != 'n') goto yy69; yy101: yych = *++YYCURSOR; if (yych == 'E') goto yy102; if (yych != 'e') goto yy53; yy102: yych = *++YYCURSOR; if (yych == 'S') goto yy103; if (yych != 's') goto yy53; yy103: yych = *++YYCURSOR; if (yych == 'D') goto yy104; if (yych != 'd') goto yy53; yy104: yych = *++YYCURSOR; if (yych == 'A') goto yy105; if (yych != 'a') goto yy53; yy105: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy106: yych = *++YYCURSOR; if (yych == 'Y') goto yy81; if (yych == 'y') goto yy81; goto yy53; yy107: yych = *++YYCURSOR; if (yych == 'U') goto yy108; if (yych != 'u') goto yy53; yy108: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych == 'r') goto yy81; goto yy53; yy109: yych = *++YYCURSOR; if (yych == 'N') goto yy114; if (yych == 'n') goto yy114; goto yy53; yy110: yych = *++YYCURSOR; if (yych == 'N') goto yy111; if (yych != 'n') goto yy53; yy111: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy73; if (yych <= 'T') goto yy69; } else { if (yych <= 's') { if (yych <= 'r') goto yy69; goto yy73; } else { if (yych != 'u') goto yy69; } } yych = *++YYCURSOR; if (yych == 'T') goto yy113; if (yych != 't') goto yy53; yy113: yych = *++YYCURSOR; if (yych == 'E') goto yy81; if (yych == 'e') goto yy81; goto yy53; yy114: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy115; if (yych <= 'S') goto yy69; goto yy116; } else { if (yych <= 'd') { if (yych <= 'c') goto yy69; } else { if (yych == 't') goto yy116; goto yy69; } } yy115: yych = *++YYCURSOR; if (yych == 'A') goto yy117; if (yych == 'a') goto yy117; goto yy53; yy116: yych = *++YYCURSOR; if (yych == 'H') goto yy81; if (yych == 'h') goto yy81; goto yy53; yy117: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy118: yych = *++YYCURSOR; if (yych == 'N') goto yy129; if (yych == 'n') goto yy129; goto yy53; yy119: yych = *++YYCURSOR; if (yych == 'T') goto yy124; if (yych == 't') goto yy124; goto yy53; yy120: yych = *++YYCURSOR; if (yych == 'C') goto yy121; if (yych != 'c') goto yy53; yy121: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy122; if (yych <= 'R') goto yy69; goto yy73; } else { if (yych <= 'o') { if (yych <= 'n') goto yy69; } else { if (yych == 's') goto yy73; goto yy69; } } yy122: yych = *++YYCURSOR; if (yych == 'N') goto yy123; if (yych != 'n') goto yy53; yy123: yych = *++YYCURSOR; if (yych == 'D') goto yy81; if (yych == 'd') goto yy81; goto yy53; yy124: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy125; if (yych != 'u') goto yy69; yy125: yych = *++YYCURSOR; if (yych == 'R') goto yy126; if (yych != 'r') goto yy53; yy126: yych = *++YYCURSOR; if (yych == 'D') goto yy127; if (yych != 'd') goto yy53; yy127: yych = *++YYCURSOR; if (yych == 'A') goto yy128; if (yych != 'a') goto yy53; yy128: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy129: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy130; if (yych != 'd') goto yy69; yy130: yych = *++YYCURSOR; if (yych == 'A') goto yy131; if (yych != 'a') goto yy53; yy131: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy132: yych = *++YYCURSOR; goto yy3; yy133: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy134: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy135: yych = *++YYCURSOR; if (yych == ')') goto yy132; goto yy3; yy136: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy137: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych != '/') goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy140; } goto yy53; yy140: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 32) { goto yy140; } if (yych == '/') goto yy138; if (yych == '_') goto yy138; goto yy3; yy142: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy144: if (yych <= '^') { if (yych == '/') goto yy138; goto yy53; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy143; goto yy53; } yy145: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy146: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy149, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy147: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy148, &&yy148, &&yy148, &&yy148, &&yy150, &&yy150, &&yy151, &&yy151, &&yy151, &&yy151, &&yy149, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy148: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy150, &&yy150, &&yy150, &&yy150, &&yy150, &&yy150, &&yy151, &&yy151, &&yy151, &&yy151, &&yy149, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy149: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy152; if (yych <= '9') goto yy132; goto yy3; yy150: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy151, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy151: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy57, &&yy57, &&yy3, &&yy3, &&yy57, &&yy3, &&yy57, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy152: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy132; goto yy3; yy153: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy154; if (yych <= 'z') goto yy134; goto yy3; } } yy154: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy155; if (yych <= 'z') goto yy135; goto yy3; } } yy155: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy156; if (yych != 'i') goto yy3; } yy156: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy53; yy157: yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy53; yy158: yych = *++YYCURSOR; if (yych == 'S') goto yy159; if (yych != 's') goto yy53; yy159: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy160: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy159, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy164, &&yy53, &&yy166, &&yy53, &&yy163, &&yy53, &&yy53, &&yy53, &&yy53, &&yy162, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy161, &&yy168, &&yy53, &&yy53, &&yy165, &&yy53, &&yy167, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy164, &&yy53, &&yy166, &&yy53, &&yy163, &&yy53, &&yy53, &&yy53, &&yy53, &&yy162, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy161, &&yy168, &&yy53, &&yy53, &&yy165, &&yy53, &&yy167, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy161: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy53; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy53; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy222; goto yy53; } else { if (yych <= 'e') goto yy223; if (yych == 'u') goto yy221; goto yy53; } } yy162: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy53; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy213; } else { if (yych == 'o') goto yy212; goto yy53; } } yy163: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy210; goto yy53; yy164: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy209; goto yy53; yy165: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy201; goto yy53; yy166: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy53; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy186; } else { if (yych == 'r') goto yy185; goto yy53; } } yy167: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy182; goto yy53; yy168: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy53; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy170; goto yy53; } } yy169: yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy177; goto yy53; yy170: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy53; yy171: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy173; if (yych == 's') goto yy173; yy172: #line 1323 "parse_date.g.re" { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3136 "" yy173: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy53; yy174: yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy53; yy175: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy53; yy176: yych = *++YYCURSOR; goto yy172; yy177: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy178; if (yych != 'r') goto yy172; yy178: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy53; yy179: yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy53; yy180: yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy53; yy181: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy182: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy53; yy183: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy53; yy184: yych = *++YYCURSOR; if (yych == 'S') goto yy176; if (yych == 's') goto yy176; goto yy172; yy185: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych == 'i') goto yy198; goto yy53; yy186: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych != 'r') goto yy53; yy187: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy53; yy188: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy190; } else { if (yych != 'n') goto yy53; } } yy189: yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy195; goto yy53; yy190: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy53; yy191: yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy53; yy192: yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy53; yy193: yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy53; yy194: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy195: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy53; yy196: yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy53; yy197: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy198: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy199; if (yych != 'd') goto yy172; yy199: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy53; yy200: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy201: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy203; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy203; if (yych >= 'f') goto yy53; } yy202: yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy184; goto yy53; yy203: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy204; if (yych != 'n') goto yy172; yy204: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy53; yy205: yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy53; yy206: yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy53; yy207: yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy53; yy208: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy209: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy184; goto yy53; yy210: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy53; yy211: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy184; goto yy53; yy212: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych == 'n') goto yy217; goto yy53; yy213: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych != 'n') goto yy53; yy214: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy176; if (yych <= 'T') goto yy172; } else { if (yych <= 's') { if (yych <= 'r') goto yy172; goto yy176; } else { if (yych != 'u') goto yy172; } } yy215: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy53; yy216: yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy184; goto yy53; yy217: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy218; if (yych <= 'S') goto yy172; goto yy219; } else { if (yych <= 'd') { if (yych <= 'c') goto yy172; } else { if (yych == 't') goto yy219; goto yy172; } } yy218: yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy220; goto yy53; yy219: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy184; goto yy53; yy220: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy221: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych == 'n') goto yy232; goto yy53; yy222: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy227; goto yy53; yy223: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych != 'c') goto yy53; yy224: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy225; if (yych <= 'R') goto yy172; goto yy176; } else { if (yych <= 'o') { if (yych <= 'n') goto yy172; } else { if (yych == 's') goto yy176; goto yy172; } } yy225: yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy53; yy226: yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy184; goto yy53; yy227: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy228; if (yych != 'u') goto yy172; yy228: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy53; yy229: yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy53; yy230: yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy53; yy231: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy232: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy233; if (yych != 'd') goto yy172; yy233: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy53; yy234: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy235: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy154; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy236; if (yych <= 'z') goto yy137; goto yy3; } } yy236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy155; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy237; if (yych <= 'z') goto yy142; goto yy3; } } yy237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy156; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy238; if (yych <= 'z') goto yy143; goto yy3; } } yy238: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'S') goto yy159; goto yy53; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 's') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy241: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy138, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy138, &&yy160, &&yy143, &&yy143, &&yy143, &&yy245, &&yy143, &&yy247, &&yy143, &&yy244, &&yy143, &&yy143, &&yy143, &&yy143, &&yy243, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy242, &&yy249, &&yy143, &&yy143, &&yy246, &&yy143, &&yy248, &&yy143, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160 }; goto *yytarget[yych]; } yy242: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy144; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy144; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy301; goto yy144; } else { if (yych <= 'e') goto yy302; if (yych == 'u') goto yy303; goto yy144; } } yy243: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy144; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy144; goto yy292; } else { if (yych == 'o') goto yy293; goto yy144; } } yy244: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy290; goto yy144; yy245: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy289; goto yy144; yy246: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy281; goto yy144; yy247: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy144; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy144; goto yy265; } else { if (yych == 'r') goto yy266; goto yy144; } } yy248: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy262; goto yy144; yy249: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy144; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; } else { if (yych == 'u') goto yy251; goto yy144; } } yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy257; goto yy144; yy251: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy173; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy253; if (yych <= 'z') goto yy143; goto yy172; } } yy253: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy144; yy256: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'z') goto yy143; goto yy172; } yy257: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'R') goto yy178; goto yy172; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'r') goto yy258; if (yych <= 'z') goto yy143; goto yy172; } } yy258: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy262: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy144; yy264: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yy265: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych == 'r') goto yy270; goto yy144; yy266: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych != 'i') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy199; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy268; if (yych <= 'z') goto yy143; goto yy172; } } yy268: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy270: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy144; goto yy189; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; goto yy273; } else { if (yych != 'n') goto yy144; } } yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy278; goto yy144; yy273: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy144; yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy278: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy281: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy144; if (yych <= 'D') goto yy203; goto yy202; } else { if (yych <= 'c') goto yy144; if (yych <= 'd') goto yy283; if (yych >= 'f') goto yy144; } yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy264; goto yy144; yy283: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'N') goto yy204; goto yy172; } } else { if (yych <= 'm') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'n') goto yy284; if (yych <= 'z') goto yy143; goto yy172; } } yy284: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy289: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy264; goto yy144; yy290: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy264; goto yy144; yy292: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych == 'n') goto yy298; goto yy144; yy293: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'C') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'D') goto yy218; if (yych == 'T') goto yy219; goto yy172; } } else { if (yych <= 'd') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'c') goto yy143; } else { if (yych == 't') goto yy296; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy297; goto yy144; yy296: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy264; goto yy144; yy297: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy298: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'R') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'S') goto yy176; if (yych == 'U') goto yy215; goto yy172; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'r') goto yy143; goto yy256; } else { if (yych == 'u') goto yy299; if (yych <= 'z') goto yy143; goto yy172; } } yy299: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy264; goto yy144; yy301: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy310; goto yy144; yy302: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych == 'c') goto yy307; goto yy144; yy303: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy233; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy305; if (yych <= 'z') goto yy143; goto yy172; } } yy305: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy307: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'N') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'O') goto yy225; if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'o') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'n') goto yy143; } else { if (yych == 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy264; goto yy144; yy310: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'U') goto yy228; goto yy172; } } else { if (yych <= 't') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'u') goto yy311; if (yych <= 'z') goto yy143; goto yy172; } } yy311: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy315: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy316; if (yych <= 'z') goto yy134; goto yy3; } } yy316: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy317: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy160, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy160, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy318: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy316; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy319; if (yych <= 'z') goto yy137; goto yy3; } } yy319: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy320: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy160, &&yy160, &&yy3, &&yy3, &&yy160, &&yy3, &&yy160, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy143, &&yy143, &&yy143, &&yy245, &&yy143, &&yy247, &&yy143, &&yy244, &&yy143, &&yy143, &&yy143, &&yy143, &&yy243, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy242, &&yy249, &&yy143, &&yy143, &&yy246, &&yy143, &&yy248, &&yy143, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy321: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy328; if (yych <= 'z') goto yy134; goto yy3; } } yy322: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy323; if (yych <= 'z') goto yy134; goto yy3; } } yy323: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy324; if (yych <= 'z') goto yy135; goto yy3; } } yy324: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy325; if (yych != 'e') goto yy3; } yy325: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy53; yy326: yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy53; yy327: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy328: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'h') goto yy329; if (yych <= 'z') goto yy135; goto yy3; } } yy329: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy330: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy337; if (yych <= 'z') goto yy137; goto yy3; } } yy331: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy323; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy332; if (yych <= 'z') goto yy137; goto yy3; } } yy332: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy324; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy333; if (yych <= 'z') goto yy142; goto yy3; } } yy333: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy325; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy334; if (yych <= 'z') goto yy143; goto yy3; } } yy334: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy337: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; goto yy329; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy338; if (yych <= 'z') goto yy142; goto yy3; } } yy338: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy339: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy340; if (yych <= 'z') goto yy134; goto yy3; } } yy340: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych >= 'a') goto yy135; } else { if (yych <= 'n') goto yy342; if (yych <= 'z') goto yy135; } } yy341: #line 1307 "parse_date.g.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 4646 "" yy342: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy343; if (yych != 'e') goto yy3; } yy343: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy53; yy344: yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy53; yy345: yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy53; yy346: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy53; yy347: yych = *++YYCURSOR; goto yy341; yy348: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy340; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy349; if (yych <= 'z') goto yy137; goto yy3; } } yy349: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'n') goto yy350; if (yych <= 'z') goto yy142; goto yy341; } } yy350: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy343; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy351; if (yych <= 'z') goto yy143; goto yy3; } } yy351: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy144; yy355: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy341; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy341; if (yych <= 'z') goto yy143; goto yy341; } yy356: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'c') goto yy357; if (yych <= 'z') goto yy134; goto yy3; } } yy357: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy366, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy366, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy358: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); yych = *YYCURSOR; yy359: if (yybm[0+yych] & 64) { goto yy358; } if (yych <= '/') goto yy53; if (yych <= '2') goto yy362; if (yych <= '3') goto yy364; if (yych <= '9') goto yy365; goto yy53; yy360: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy3; if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; yy361: yych = *++YYCURSOR; if (yych <= '/') goto yy359; if (yych <= '0') goto yy440; if (yych <= '2') goto yy441; if (yych <= '3') goto yy442; goto yy359; yy362: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy439; if (yych <= '9') goto yy422; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy363: #line 1126 "parse_date.g.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 4894 "" yy364: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy365: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy370; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy366: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy367; if (yych != 'm') goto yy3; } yy367: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy53; yy368: yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy53; yy369: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy370: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy421; if (yych <= ':') goto yy383; goto yy363; } yy371: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy421; if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy372: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy373: yych = *++YYCURSOR; goto yy378; yy374: yych = *++YYCURSOR; goto yy378; yy375: yych = *++YYCURSOR; goto yy378; yy376: yych = *++YYCURSOR; goto yy378; yy377: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); yych = *YYCURSOR; yy378: if (yybm[0+yych] & 128) { goto yy377; } if (yych <= '/') goto yy363; if (yych <= '1') goto yy379; if (yych <= '2') goto yy380; if (yych <= '9') goto yy381; goto yy363; yy379: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy417; if (yych <= ':') goto yy383; goto yy363; } yy380: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy417; if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy381: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy382: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych <= '9') goto yy415; goto yy363; yy383: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy384; if (yych <= '9') goto yy386; goto yy53; yy384: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; } else { if (yych <= '9') goto yy386; if (yych <= ':') goto yy387; } yy385: #line 1351 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 5103 "" yy386: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy387; if (yych != ':') goto yy385; yy387: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy388; if (yych <= '6') goto yy389; if (yych <= '9') goto yy390; goto yy53; yy388: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy391; goto yy385; yy389: yych = *++YYCURSOR; if (yych == '0') goto yy391; goto yy385; yy390: yych = *++YYCURSOR; goto yy385; yy391: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '+') { if (yych <= '\'') { if (yych != ' ') goto yy385; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy385; goto yy394; } } else { if (yych <= '@') { if (yych == '-') goto yy394; goto yy385; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy397; goto yy385; } } yy392: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '+') { if (yych <= '\'') { if (yych == ' ') goto yy392; goto yy53; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy53; } } else { if (yych <= '@') { if (yych != '-') goto yy53; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; } } yy394: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy410; if (yych <= '2') goto yy411; if (yych <= '9') goto yy412; goto yy53; yy395: yych = *++YYCURSOR; if (yych <= '@') goto yy53; if (yych <= 'Z') goto yy397; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; yy396: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy401; goto yy385; } yy397: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy398: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy399; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy399: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy400; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy400: yych = *++YYCURSOR; if (yych == ')') goto yy390; goto yy385; yy401: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych == '/') goto yy403; goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy399; if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych != '/') goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy400; if (yych <= '^') goto yy385; } else { if (yych <= '`') goto yy385; if (yych <= 'z') goto yy407; goto yy385; } } yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy53; if (yych >= '{') goto yy53; yy405: yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy385; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy405; goto yy385; } yy407: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy390; if (yych <= '.') goto yy385; goto yy403; } else { if (yych <= '_') { if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yy408: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy53; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy408; goto yy53; } yy410: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy412; if (yych <= ':') goto yy413; goto yy385; yy411: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy385; if (yych >= '4') goto yy414; } else { if (yych <= '9') goto yy390; if (yych <= ':') goto yy413; goto yy385; } yy412: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; if (yych >= ';') goto yy385; yy413: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; goto yy385; yy414: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy390; goto yy385; yy415: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy416: yych = *++YYCURSOR; goto yy363; yy417: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy363; } yy418: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy419: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy420; if (yych <= '9') goto yy416; yy420: #line 1100 "parse_date.g.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 5397 "" yy421: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy419; if (yych <= ':') goto yy383; goto yy363; } yy422: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych != '.') goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy423: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy378; if (yych <= '1') goto yy429; goto yy430; } else { if (yych <= '5') goto yy431; if (yych <= '9') goto yy432; goto yy378; } yy424: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy428; if (yych <= ':') goto yy383; goto yy363; } yy425: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy428; if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy426: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy427: yych = *++YYCURSOR; if (yych <= '/') goto yy420; if (yych <= '9') goto yy415; goto yy420; yy428: yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy420; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy420; } yy429: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy438; if (yych <= ':') goto yy433; goto yy363; } yy430: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '3') goto yy438; if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy431: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy432: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy363; } else { if (yych <= '9') goto yy382; if (yych >= ';') goto yy363; } yy433: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy434; if (yych <= '6') goto yy435; if (yych <= '9') goto yy386; goto yy53; yy434: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '9') goto yy436; if (yych <= ':') goto yy387; goto yy385; } yy435: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '0') goto yy391; if (yych == ':') goto yy387; goto yy385; } yy436: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy392, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy395, &&yy385, &&yy385, &&yy394, &&yy385, &&yy394, &&yy387, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy387, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy397, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385, &&yy385 }; goto *yytarget[yych]; } yy437: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy387; goto yy363; } yy438: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy433; goto yy363; } yy439: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych == '.') goto yy423; goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy440: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; if (yych <= '0') goto yy422; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy441: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy442: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy443: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych >= '.') goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy444: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy446; if (yych <= '9') goto yy447; yy446: #line 1238 "parse_date.g.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 5762 "" yy447: yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; goto yy446; yy450: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych <= '-') goto yy444; goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy451: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; goto yy357; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'c') goto yy452; if (yych <= 'z') goto yy137; goto yy3; } } yy452: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy366, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy453, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy453: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy367; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy454; if (yych <= 'z') goto yy143; goto yy3; } } yy454: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy457: yych = *++YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy138; goto yy359; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy359; if (yych <= 'z') goto yy143; goto yy359; } yy458: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy459; if (yych <= 'z') goto yy134; goto yy3; } } yy459: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy460, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy460, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy460: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'B') goto yy461; if (yych != 'b') goto yy3; } yy461: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy53; yy462: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy463: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy459; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy464; if (yych <= 'z') goto yy137; goto yy3; } } yy464: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy460, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy465, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy465: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'A') goto yy3; goto yy461; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy466; if (yych <= 'z') goto yy143; goto yy3; } } yy466: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy468: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy483, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy482, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy484, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy483, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy482, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy484, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy469: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy477; if (yych <= 'z') goto yy134; goto yy3; } } yy470: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy475; if (yych <= 'z') goto yy134; goto yy3; } } yy471: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy472; if (yych <= 'z') goto yy134; goto yy3; } } yy472: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy473; if (yych <= 'z') goto yy135; goto yy341; } } yy473: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy474; if (yych != 'a') goto yy3; } yy474: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy475: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy476; if (yych <= 'z') goto yy135; goto yy3; } } yy476: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy477: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'u') goto yy478; if (yych <= 'z') goto yy135; goto yy341; } } yy478: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy479; if (yych != 'r') goto yy3; } yy479: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy53; yy480: yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy53; yy481: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy482: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy490, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy490, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy483: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy488; if (yych <= 'z') goto yy135; goto yy3; } } yy484: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy485; if (yych <= 'z') goto yy135; goto yy3; } } yy485: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy486; if (yych != 'n') goto yy3; } yy486: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy53; yy487: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy488: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy489; if (yych != 'n') goto yy3; } yy489: yych = *++YYCURSOR; if (yych == 'D') goto yy159; if (yych == 'd') goto yy159; goto yy53; yy490: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= 'D') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'E') goto yy491; if (yych != 'e') goto yy3; } } yy491: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy53; yy492: yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy53; yy493: yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy53; yy494: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy495: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy483, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy482, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy484, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy510, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy509, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy511, &&yy137, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy496: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy504; if (yych <= 'z') goto yy137; goto yy3; } } yy497: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy502; if (yych <= 'z') goto yy137; goto yy3; } } yy498: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy472; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy499; if (yych <= 'z') goto yy137; goto yy3; } } yy499: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy473; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy500; if (yych <= 'z') goto yy142; goto yy341; } } yy500: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy474; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy501; if (yych <= 'z') goto yy143; goto yy3; } } yy501: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy502: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy476; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy503; if (yych <= 'z') goto yy142; goto yy3; } } yy503: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy504: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; goto yy478; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'u') goto yy505; if (yych <= 'z') goto yy142; goto yy341; } } yy505: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy479; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy506; if (yych <= 'z') goto yy143; goto yy3; } } yy506: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy509: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy490, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy517, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy510: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy515; if (yych <= 'z') goto yy142; goto yy3; } } yy511: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; goto yy485; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy512; if (yych <= 'z') goto yy142; goto yy3; } } yy512: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy486; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy513; if (yych <= 'z') goto yy143; goto yy3; } } yy513: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy515: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy489; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy516; if (yych <= 'z') goto yy143; goto yy3; } } yy516: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'D') goto yy159; goto yy53; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy517: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy491, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy143, &&yy143, &&yy143, &&yy143, &&yy518, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy143, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy518: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy144; yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy522: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy529; if (yych <= 'z') goto yy134; goto yy3; } } yy523: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'r') goto yy527; if (yych <= 'z') goto yy134; goto yy3; } } yy524: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'o') goto yy525; if (yych <= 'z') goto yy134; goto yy3; } } yy525: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy526; if (yych <= 'z') goto yy135; } yy526: #line 1292 "parse_date.g.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } #line 7086 "" yy527: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy528, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy528, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy528: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'L') goto yy358; if (yych == 'l') goto yy358; goto yy3; } yy529: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy530, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy530, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy530: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy531; if (yych != 's') goto yy3; } yy531: yych = *++YYCURSOR; if (yych == 'T') goto yy358; if (yych == 't') goto yy358; goto yy53; yy532: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy538; if (yych <= 'z') goto yy137; goto yy3; } } yy533: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy536; if (yych <= 'z') goto yy137; goto yy3; } } yy534: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; goto yy525; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy535; if (yych <= 'z') goto yy137; goto yy3; } } yy535: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy526; goto yy132; } else { if (yych == '/') goto yy138; goto yy526; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy526; goto yy138; } else { if (yych <= '`') goto yy526; if (yych <= 'z') goto yy142; goto yy526; } } yy536: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy528, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy537, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy537: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'K') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy538: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy530, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy539, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy539: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy531; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy540; if (yych <= 'z') goto yy143; goto yy3; } } yy540: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'T') goto yy358; goto yy53; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 't') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy541: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'b') goto yy555; if (yych <= 'z') goto yy134; goto yy3; } } yy542: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'F') goto yy552; if (yych <= 'Q') goto yy134; goto yy551; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy134; goto yy552; } else { if (yych == 'r') goto yy551; if (yych <= 'z') goto yy134; goto yy3; } } yy543: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'u') goto yy548; if (yych <= 'z') goto yy134; goto yy3; } } yy544: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'i') goto yy545; if (yych <= 'z') goto yy134; goto yy3; } } yy545: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy546; if (yych <= 'z') goto yy135; goto yy341; } } yy546: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy547; if (yych != 'a') goto yy3; } yy547: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy548: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy549; if (yych <= 'z') goto yy135; goto yy3; } } yy549: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy550; if (yych != 't') goto yy3; } yy550: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy551: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 's') goto yy554; if (yych <= 'z') goto yy135; goto yy3; } } yy552: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy553; if (yych <= 'z') goto yy135; goto yy3; } } yy553: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy554: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy555: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy556, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy556, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy556: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy557; if (yych != 'u') goto yy3; } yy557: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy53; yy558: yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy53; yy559: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy560: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy574; if (yych <= 'z') goto yy137; goto yy3; } } yy561: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy552, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy551, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy571, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy570, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy562: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy567; if (yych <= 'z') goto yy137; goto yy3; } } yy563: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy545; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy564; if (yych <= 'z') goto yy137; goto yy3; } } yy564: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy565; if (yych <= 'z') goto yy142; goto yy341; } } yy565: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy547; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy566; if (yych <= 'z') goto yy143; goto yy3; } } yy566: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy567: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; goto yy549; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy568; if (yych <= 'z') goto yy142; goto yy3; } } yy568: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy550; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy569; if (yych <= 'z') goto yy143; goto yy3; } } yy569: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy570: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy573; if (yych <= 'z') goto yy142; goto yy3; } } yy571: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy553; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy572; if (yych <= 'z') goto yy142; goto yy3; } } yy572: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy573: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy574: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy556, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy575, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy575: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'T') goto yy3; goto yy557; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy576; if (yych <= 'z') goto yy143; goto yy3; } } yy576: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy579: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'L') goto yy586; if (yych <= 'M') goto yy134; goto yy585; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy134; goto yy586; } else { if (yych == 'n') goto yy585; if (yych <= 'z') goto yy134; goto yy3; } } yy580: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy581; if (yych <= 'z') goto yy134; goto yy3; } } yy581: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy582, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy582, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy582: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy583; if (yych != 'a') goto yy3; } yy583: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy53; yy584: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy585: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy586: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy587: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } yy588: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy586, &&yy134, &&yy585, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy595, &&yy137, &&yy594, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy589: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy581; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy590; if (yych <= 'z') goto yy137; goto yy3; } } yy590: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy582, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy591, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy591: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy583; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy592; if (yych <= 'z') goto yy143; goto yy3; } } yy592: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy594: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy596, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy595: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy587, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy596, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy596: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '_') { if (yych <= '9') goto yy359; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } yy597: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy598: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy599: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy601: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy602: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy598; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy603: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy604: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy603, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy624, &&yy53, &&yy53, &&yy608, &&yy53, &&yy609, &&yy53, &&yy60, &&yy619, &&yy623, &&yy53, &&yy53, &&yy607, &&yy626, &&yy625, &&yy628, &&yy53, &&yy53, &&yy605, &&yy65, &&yy53, &&yy621, &&yy62, &&yy622, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy624, &&yy53, &&yy53, &&yy608, &&yy53, &&yy609, &&yy53, &&yy60, &&yy53, &&yy623, &&yy53, &&yy53, &&yy607, &&yy626, &&yy625, &&yy628, &&yy53, &&yy53, &&yy605, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy605: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy1137; if (yych == 'u') goto yy118; goto yy53; } } yy606: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych == 'U') goto yy118; goto yy53; } } else { if (yych <= 'e') { if (yych <= 'a') goto yy119; if (yych <= 'd') goto yy53; goto yy1137; } else { if (yych <= 's') goto yy53; if (yych <= 't') goto yy843; if (yych <= 'u') goto yy118; goto yy53; } } yy607: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy715; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy715; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy608: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy702; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy702; goto yy53; } } yy609: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy718; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy718; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy610: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy1136; } else { if (yych == 'u') goto yy67; goto yy53; } } yy611: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy851; goto yy57; yy612: yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy655; goto yy53; } else { if (yych <= 'd') goto yy843; if (yych == 'o') goto yy655; goto yy53; } yy613: yych = *++YYCURSOR; if (yych == 'd') goto yy843; goto yy53; yy614: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy783, &&yy783, &&yy783, &&yy785, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy790, &&yy53, &&yy53, &&yy794, &&yy53, &&yy788, &&yy53, &&yy53, &&yy53, &&yy787, &&yy53, &&yy53, &&yy789, &&yy793, &&yy792, &&yy53, &&yy53, &&yy53, &&yy791, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy790, &&yy53, &&yy53, &&yy794, &&yy53, &&yy788, &&yy53, &&yy53, &&yy53, &&yy787, &&yy53, &&yy53, &&yy789, &&yy793, &&yy792, &&yy53, &&yy53, &&yy53, &&yy791, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy615: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy734, &&yy735, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy740, &&yy617, &&yy617, &&yy744, &&yy617, &&yy738, &&yy617, &&yy617, &&yy617, &&yy737, &&yy617, &&yy617, &&yy739, &&yy743, &&yy742, &&yy617, &&yy617, &&yy617, &&yy741, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy740, &&yy617, &&yy617, &&yy744, &&yy617, &&yy738, &&yy617, &&yy617, &&yy617, &&yy737, &&yy617, &&yy617, &&yy739, &&yy743, &&yy742, &&yy617, &&yy617, &&yy617, &&yy741, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617, &&yy617 }; goto *yytarget[yych]; } yy616: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy617: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy699, &&yy53, &&yy53, &&yy701, &&yy53, &&yy697, &&yy53, &&yy53, &&yy619, &&yy623, &&yy53, &&yy53, &&yy698, &&yy626, &&yy625, &&yy53, &&yy53, &&yy53, &&yy700, &&yy53, &&yy53, &&yy621, &&yy53, &&yy622, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy699, &&yy53, &&yy53, &&yy701, &&yy53, &&yy697, &&yy53, &&yy53, &&yy53, &&yy623, &&yy53, &&yy53, &&yy698, &&yy626, &&yy625, &&yy53, &&yy53, &&yy53, &&yy700, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy618: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy693; goto yy694; } else { if (yych <= '5') goto yy695; if (yych <= '9') goto yy696; goto yy617; } yy619: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych >= ' ') goto yy657; } else { if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; } } else { if (yych <= 'V') { if (yych <= 'I') goto yy692; if (yych >= 'V') goto yy665; } else { if (yych == 'X') goto yy665; } } yy620: #line 1139 "parse_date.g.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 9057 "" yy621: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy690; goto yy620; } yy622: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy689; goto yy620; } yy623: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy682; if (yych <= 'T') goto yy53; goto yy681; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy682; } else { if (yych == 'u') goto yy681; goto yy53; } } yy624: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { if (yych == '.') goto yy629; goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'P') goto yy675; goto yy53; } } else { if (yych <= 'o') { if (yych <= 'U') goto yy674; if (yych == 'm') goto yy630; goto yy53; } else { if (yych <= 'p') goto yy675; if (yych == 'u') goto yy674; goto yy53; } } yy625: yych = *++YYCURSOR; if (yych == 'C') goto yy669; if (yych == 'c') goto yy669; goto yy53; yy626: yych = *++YYCURSOR; if (yych == 'O') goto yy655; if (yych == 'o') goto yy655; goto yy53; yy627: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy633; if (yych <= '9') goto yy635; goto yy53; yy628: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'm') goto yy630; goto yy53; } yy629: yych = *++YYCURSOR; if (yych == 'M') goto yy630; if (yych != 'm') goto yy53; yy630: ++YYCURSOR; if ((yych = *YYCURSOR) == '.') goto yy632; yy631: #line 929 "parse_date.g.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 9168 "" yy632: yych = *++YYCURSOR; goto yy631; yy633: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy636; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; } yy634: #line 946 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 9205 "" yy635: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy636; if (yych != ':') goto yy634; yy636: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy637; if (yych <= '6') goto yy638; if (yych <= '9') goto yy639; goto yy53; yy637: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy643; goto yy634; yy638: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy643; goto yy634; yy639: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy634; yy640: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy641: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy634; if (yych <= '9') goto yy641; goto yy634; yy643: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '@') goto yy634; goto yy646; } } else { if (yych <= '`') { if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy644: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy644; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy646; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy646: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy648; if (yych == 'm') goto yy648; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy648; if (yych != 'm') goto yy53; yy648: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy649: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy636; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy650: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy650; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy652; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy652: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy654; if (yych == 'm') goto yy654; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy654; if (yych != 'm') goto yy53; yy654: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy655: yych = *++YYCURSOR; if (yych == 'V') goto yy656; if (yych != 'v') goto yy53; yy656: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy657: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy658: if (yych <= 0x1F) goto yy53; if (yych <= '.') goto yy657; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy659: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy660; if (yych <= '9') goto yy666; yy660: #line 1073 "parse_date.g.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 9407 "" yy661: yych = *++YYCURSOR; if (yych == 'M') goto yy662; if (yych != 'm') goto yy53; yy662: yych = *++YYCURSOR; if (yych == 'B') goto yy663; if (yych != 'b') goto yy53; yy663: yych = *++YYCURSOR; if (yych == 'E') goto yy664; if (yych != 'e') goto yy53; yy664: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych != 'r') goto yy53; yy665: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; yy666: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yy667: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yych = *++YYCURSOR; goto yy660; yy669: yych = *++YYCURSOR; if (yych == 'T') goto yy670; if (yych != 't') goto yy53; yy670: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'O') { if (yych <= 'N') goto yy620; } else { if (yych != 'o') goto yy620; } } yy671: yych = *++YYCURSOR; if (yych == 'B') goto yy672; if (yych != 'b') goto yy53; yy672: yych = *++YYCURSOR; if (yych == 'E') goto yy673; if (yych != 'e') goto yy53; yy673: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy674: yych = *++YYCURSOR; if (yych == 'G') goto yy678; if (yych == 'g') goto yy678; goto yy53; yy675: yych = *++YYCURSOR; if (yych == 'R') goto yy676; if (yych != 'r') goto yy53; yy676: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'I') { if (yych <= 'H') goto yy620; } else { if (yych != 'i') goto yy620; } } yy677: yych = *++YYCURSOR; if (yych == 'L') goto yy665; if (yych == 'l') goto yy665; goto yy53; yy678: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy679: yych = *++YYCURSOR; if (yych == 'S') goto yy680; if (yych != 's') goto yy53; yy680: yych = *++YYCURSOR; if (yych == 'T') goto yy665; if (yych == 't') goto yy665; goto yy53; yy681: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy688; if (yych <= 'M') goto yy53; goto yy687; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy688; } else { if (yych == 'n') goto yy687; goto yy53; } } yy682: yych = *++YYCURSOR; if (yych == 'N') goto yy683; if (yych != 'n') goto yy53; yy683: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy684: yych = *++YYCURSOR; if (yych == 'A') goto yy685; if (yych != 'a') goto yy53; yy685: yych = *++YYCURSOR; if (yych == 'R') goto yy686; if (yych != 'r') goto yy53; yy686: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy687: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy688: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'Y') { if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy689: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy690: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych != 'I') goto yy620; } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy692: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy693: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy733; if (yych <= ':') goto yy636; goto yy634; } yy694: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '2') goto yy733; if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy695: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy696: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych == ':') goto yy636; goto yy634; yy697: yych = *++YYCURSOR; if (yych == 'E') goto yy718; if (yych == 'e') goto yy718; goto yy53; yy698: yych = *++YYCURSOR; if (yych == 'A') goto yy715; if (yych == 'a') goto yy715; goto yy53; yy699: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy675; if (yych <= 'T') goto yy53; goto yy674; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy675; } else { if (yych == 'u') goto yy674; goto yy53; } } yy700: yych = *++YYCURSOR; if (yych == 'E') goto yy708; if (yych == 'e') goto yy708; goto yy53; yy701: yych = *++YYCURSOR; if (yych == 'E') goto yy702; if (yych != 'e') goto yy53; yy702: yych = *++YYCURSOR; if (yych == 'C') goto yy703; if (yych != 'c') goto yy53; yy703: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy704: yych = *++YYCURSOR; if (yych == 'M') goto yy705; if (yych != 'm') goto yy53; yy705: yych = *++YYCURSOR; if (yych == 'B') goto yy706; if (yych != 'b') goto yy53; yy706: yych = *++YYCURSOR; if (yych == 'E') goto yy707; if (yych != 'e') goto yy53; yy707: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy708: yych = *++YYCURSOR; if (yych == 'P') goto yy709; if (yych != 'p') goto yy53; yy709: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'T') { if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy711: yych = *++YYCURSOR; if (yych == 'M') goto yy712; if (yych != 'm') goto yy53; yy712: yych = *++YYCURSOR; if (yych == 'B') goto yy713; if (yych != 'b') goto yy53; yy713: yych = *++YYCURSOR; if (yych == 'E') goto yy714; if (yych != 'e') goto yy53; yy714: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy715: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy716; if (yych <= 'X') goto yy53; goto yy665; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy665; goto yy53; } } yy716: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'C') { if (yych <= 'B') goto yy620; } else { if (yych != 'c') goto yy620; } } yy717: yych = *++YYCURSOR; if (yych == 'H') goto yy665; if (yych == 'h') goto yy665; goto yy53; yy718: yych = *++YYCURSOR; if (yych == 'B') goto yy719; if (yych != 'b') goto yy53; yy719: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'R') { if (yych <= 'Q') goto yy620; } else { if (yych != 'r') goto yy620; } } yy720: yych = *++YYCURSOR; if (yych == 'U') goto yy721; if (yych != 'u') goto yy53; yy721: yych = *++YYCURSOR; if (yych == 'A') goto yy722; if (yych != 'a') goto yy53; yy722: yych = *++YYCURSOR; if (yych == 'R') goto yy723; if (yych != 'r') goto yy53; yy723: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy724: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy725; if (yych <= '6') goto yy726; if (yych <= '9') goto yy727; goto yy53; yy725: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy732; goto yy634; yy726: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy732; if (yych <= '9') goto yy728; goto yy634; } yy727: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych >= ':') goto yy634; yy728: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy729; if (yych <= '9') goto yy730; yy729: #line 1087 "parse_date.g.re" { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 9932 "" yy730: yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych >= ':') goto yy729; yych = *++YYCURSOR; goto yy729; yy732: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy644; goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy646; if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy733: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy650; goto yy634; } else { if (yych <= '.') goto yy724; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy734: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych <= '9') goto yy736; goto yy53; yy735: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy736: yych = *++YYCURSOR; if (yych == '-') goto yy773; goto yy53; yy737: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy769; if (yych <= 'T') goto yy53; goto yy768; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy769; } else { if (yych == 'u') goto yy768; goto yy53; } } yy738: yych = *++YYCURSOR; if (yych == 'E') goto yy766; if (yych == 'e') goto yy766; goto yy53; yy739: yych = *++YYCURSOR; if (yych == 'A') goto yy763; if (yych == 'a') goto yy763; goto yy53; yy740: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy760; if (yych <= 'T') goto yy53; goto yy759; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy760; } else { if (yych == 'u') goto yy759; goto yy53; } } yy741: yych = *++YYCURSOR; if (yych == 'E') goto yy756; if (yych == 'e') goto yy756; goto yy53; yy742: yych = *++YYCURSOR; if (yych == 'C') goto yy754; if (yych == 'c') goto yy754; goto yy53; yy743: yych = *++YYCURSOR; if (yych == 'O') goto yy752; if (yych == 'o') goto yy752; goto yy53; yy744: yych = *++YYCURSOR; if (yych == 'E') goto yy745; if (yych != 'e') goto yy53; yy745: yych = *++YYCURSOR; if (yych == 'C') goto yy746; if (yych != 'c') goto yy53; yy746: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy704; } else { if (yych == 'e') goto yy704; goto yy620; } } yy747: yych = *++YYCURSOR; if (yych <= '/') goto yy658; if (yych <= '0') goto yy748; if (yych <= '2') goto yy749; if (yych <= '3') goto yy750; goto yy658; yy748: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '0') goto yy666; if (yych <= '9') goto yy751; goto yy660; yy749: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy751; goto yy660; yy750: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '1') goto yy751; if (yych <= '9') goto yy666; goto yy660; yy751: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy667; goto yy660; yy752: yych = *++YYCURSOR; if (yych == 'V') goto yy753; if (yych != 'v') goto yy53; yy753: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy754: yych = *++YYCURSOR; if (yych == 'T') goto yy755; if (yych != 't') goto yy53; yy755: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'O') { if (yych <= '9') goto yy659; if (yych <= 'N') goto yy620; goto yy671; } else { if (yych == 'o') goto yy671; goto yy620; } } yy756: yych = *++YYCURSOR; if (yych == 'P') goto yy757; if (yych != 'p') goto yy53; yy757: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'T') { if (yych <= '9') goto yy659; if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy711; } else { if (yych == 'e') goto yy711; goto yy620; } } yy759: yych = *++YYCURSOR; if (yych == 'G') goto yy762; if (yych == 'g') goto yy762; goto yy53; yy760: yych = *++YYCURSOR; if (yych == 'R') goto yy761; if (yych != 'r') goto yy53; yy761: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'I') { if (yych <= '9') goto yy659; if (yych <= 'H') goto yy620; goto yy677; } else { if (yych == 'i') goto yy677; goto yy620; } } yy762: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy679; } else { if (yych == 'u') goto yy679; goto yy620; } } yy763: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy764; if (yych <= 'X') goto yy53; goto yy765; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy765; goto yy53; } } yy764: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'C') { if (yych <= '9') goto yy659; if (yych <= 'B') goto yy620; goto yy717; } else { if (yych == 'c') goto yy717; goto yy620; } } yy765: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) goto yy620; if (yych <= ',') goto yy657; goto yy747; } else { if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; } yy766: yych = *++YYCURSOR; if (yych == 'B') goto yy767; if (yych != 'b') goto yy53; yy767: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'R') { if (yych <= '9') goto yy659; if (yych <= 'Q') goto yy620; goto yy720; } else { if (yych == 'r') goto yy720; goto yy620; } } yy768: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy772; if (yych <= 'M') goto yy53; goto yy771; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy772; } else { if (yych == 'n') goto yy771; goto yy53; } } yy769: yych = *++YYCURSOR; if (yych == 'N') goto yy770; if (yych != 'n') goto yy53; yy770: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy684; } else { if (yych == 'u') goto yy684; goto yy620; } } yy771: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy772: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'Y') { if (yych <= '9') goto yy659; if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy773: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy774; if (yych <= '3') goto yy776; if (yych <= '9') goto yy777; goto yy53; yy774: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '9') goto yy777; if (yych >= 'n') goto yy779; } else { if (yych <= 'r') { if (yych >= 'r') goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; } } yy775: #line 1060 "parse_date.g.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 10460 "" yy776: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '1') goto yy777; if (yych <= 'm') goto yy775; goto yy779; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } } yy777: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy779; goto yy775; } else { if (yych <= 'r') goto yy780; if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } yy778: yych = *++YYCURSOR; if (yych == 't') goto yy782; goto yy53; yy779: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy780: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy781: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy782: yych = *++YYCURSOR; goto yy775; yy783: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych >= '/') goto yy837; } else { if (yych <= '9') goto yy786; if (yych >= 'n') goto yy834; } } else { if (yych <= 'r') { if (yych >= 'r') goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; } } yy784: #line 1033 "parse_date.g.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 10542 "" yy785: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych <= '.') goto yy784; goto yy837; } else { if (yych <= '1') goto yy786; if (yych <= 'm') goto yy784; goto yy834; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy786: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy837; if (yych <= 'm') goto yy784; goto yy834; } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy787: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy832; if (yych <= 'T') goto yy53; goto yy831; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy832; } else { if (yych == 'u') goto yy831; goto yy53; } } yy788: yych = *++YYCURSOR; if (yych == 'E') goto yy830; if (yych == 'e') goto yy830; goto yy53; yy789: yych = *++YYCURSOR; if (yych == 'A') goto yy829; if (yych == 'a') goto yy829; goto yy53; yy790: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy828; if (yych <= 'T') goto yy53; goto yy827; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy828; } else { if (yych == 'u') goto yy827; goto yy53; } } yy791: yych = *++YYCURSOR; if (yych == 'E') goto yy825; if (yych == 'e') goto yy825; goto yy53; yy792: yych = *++YYCURSOR; if (yych == 'C') goto yy824; if (yych == 'c') goto yy824; goto yy53; yy793: yych = *++YYCURSOR; if (yych == 'O') goto yy823; if (yych == 'o') goto yy823; goto yy53; yy794: yych = *++YYCURSOR; if (yych == 'E') goto yy795; if (yych != 'e') goto yy53; yy795: yych = *++YYCURSOR; if (yych == 'C') goto yy796; if (yych != 'c') goto yy53; yy796: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy797: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy803; if (yych <= '2') goto yy804; goto yy53; yy803: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy805; goto yy53; yy804: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy805: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy810; if (yych <= '6') goto yy811; goto yy53; yy810: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy812; goto yy53; yy811: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy812: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yy813: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '*') { if (yych == ' ') goto yy813; goto yy53; } else { if (yych == ',') goto yy53; if (yych >= '.') goto yy53; } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy816; if (yych <= '2') goto yy818; if (yych <= '9') goto yy819; goto yy53; yy816: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy817; if (yych <= '9') goto yy819; if (yych <= ':') goto yy820; yy817: #line 1264 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } #line 10745 "" yy818: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy817; if (yych >= '4') goto yy821; } else { if (yych <= '9') goto yy822; if (yych <= ':') goto yy820; goto yy817; } yy819: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; if (yych >= ';') goto yy817; yy820: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; goto yy817; yy821: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych >= ':') goto yy817; yy822: yych = *++YYCURSOR; goto yy817; yy823: yych = *++YYCURSOR; if (yych == 'V') goto yy796; if (yych == 'v') goto yy796; goto yy53; yy824: yych = *++YYCURSOR; if (yych == 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; yy825: yych = *++YYCURSOR; if (yych == 'P') goto yy826; if (yych != 'p') goto yy53; yy826: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy797; goto yy53; } else { if (yych <= 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; } yy827: yych = *++YYCURSOR; if (yych == 'G') goto yy796; if (yych == 'g') goto yy796; goto yy53; yy828: yych = *++YYCURSOR; if (yych == 'R') goto yy796; if (yych == 'r') goto yy796; goto yy53; yy829: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy796; if (yych <= 'X') goto yy53; goto yy796; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy796; } else { if (yych == 'y') goto yy796; goto yy53; } } yy830: yych = *++YYCURSOR; if (yych == 'B') goto yy796; if (yych == 'b') goto yy796; goto yy53; yy831: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy796; if (yych <= 'M') goto yy53; goto yy796; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy796; } else { if (yych == 'n') goto yy796; goto yy53; } } yy832: yych = *++YYCURSOR; if (yych == 'N') goto yy796; if (yych == 'n') goto yy796; goto yy53; yy833: yych = *++YYCURSOR; if (yych == 't') goto yy842; goto yy53; yy834: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy835: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy836: yych = *++YYCURSOR; if (yych == 'h') goto yy842; goto yy53; yy837: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; goto yy784; yy842: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy837; goto yy784; yy843: yych = *++YYCURSOR; if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych >= '0') goto yy617; yy844: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy790, &&yy53, &&yy53, &&yy794, &&yy53, &&yy788, &&yy53, &&yy53, &&yy53, &&yy787, &&yy53, &&yy53, &&yy789, &&yy793, &&yy792, &&yy53, &&yy53, &&yy53, &&yy791, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy790, &&yy53, &&yy53, &&yy794, &&yy53, &&yy788, &&yy53, &&yy53, &&yy53, &&yy787, &&yy53, &&yy53, &&yy789, &&yy793, &&yy792, &&yy53, &&yy53, &&yy53, &&yy791, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy845: yych = *++YYCURSOR; if (yych <= '/') goto yy617; if (yych <= '0') goto yy846; if (yych <= '1') goto yy847; if (yych <= '9') goto yy848; goto yy617; yy846: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych <= '9') goto yy848; goto yy53; yy847: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy848: yych = *++YYCURSOR; if (yych != '.') goto yy53; yy849: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych <= '9') goto yy728; goto yy729; yy851: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy879; goto yy57; yy852: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy734, &&yy735, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy856, &&yy53, &&yy53, &&yy860, &&yy53, &&yy854, &&yy53, &&yy53, &&yy53, &&yy853, &&yy53, &&yy53, &&yy855, &&yy859, &&yy858, &&yy53, &&yy53, &&yy53, &&yy857, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy856, &&yy53, &&yy53, &&yy860, &&yy53, &&yy854, &&yy53, &&yy53, &&yy53, &&yy853, &&yy53, &&yy53, &&yy855, &&yy859, &&yy858, &&yy53, &&yy53, &&yy53, &&yy857, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy853: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy878; if (yych <= 'T') goto yy53; goto yy877; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy878; } else { if (yych == 'u') goto yy877; goto yy53; } } yy854: yych = *++YYCURSOR; if (yych == 'E') goto yy876; if (yych == 'e') goto yy876; goto yy53; yy855: yych = *++YYCURSOR; if (yych == 'A') goto yy875; if (yych == 'a') goto yy875; goto yy53; yy856: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy874; if (yych <= 'T') goto yy53; goto yy873; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy874; } else { if (yych == 'u') goto yy873; goto yy53; } } yy857: yych = *++YYCURSOR; if (yych == 'E') goto yy871; if (yych == 'e') goto yy871; goto yy53; yy858: yych = *++YYCURSOR; if (yych == 'C') goto yy870; if (yych == 'c') goto yy870; goto yy53; yy859: yych = *++YYCURSOR; if (yych == 'O') goto yy869; if (yych == 'o') goto yy869; goto yy53; yy860: yych = *++YYCURSOR; if (yych == 'E') goto yy861; if (yych != 'e') goto yy53; yy861: yych = *++YYCURSOR; if (yych == 'C') goto yy862; if (yych != 'c') goto yy53; yy862: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy863: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy864; if (yych <= '2') goto yy865; if (yych <= '3') goto yy866; goto yy53; yy864: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy865: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy866: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy867: ++YYCURSOR; #line 1251 "parse_date.g.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 11104 "" yy869: yych = *++YYCURSOR; if (yych == 'V') goto yy862; if (yych == 'v') goto yy862; goto yy53; yy870: yych = *++YYCURSOR; if (yych == 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; yy871: yych = *++YYCURSOR; if (yych == 'P') goto yy872; if (yych != 'p') goto yy53; yy872: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy863; goto yy53; } else { if (yych <= 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; } yy873: yych = *++YYCURSOR; if (yych == 'G') goto yy862; if (yych == 'g') goto yy862; goto yy53; yy874: yych = *++YYCURSOR; if (yych == 'R') goto yy862; if (yych == 'r') goto yy862; goto yy53; yy875: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy862; if (yych <= 'X') goto yy53; goto yy862; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy862; } else { if (yych == 'y') goto yy862; goto yy53; } } yy876: yych = *++YYCURSOR; if (yych == 'B') goto yy862; if (yych == 'b') goto yy862; goto yy53; yy877: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy862; if (yych <= 'M') goto yy53; goto yy862; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy862; } else { if (yych == 'n') goto yy862; goto yy53; } } yy878: yych = *++YYCURSOR; if (yych == 'N') goto yy862; if (yych == 'n') goto yy862; goto yy53; yy879: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy881, &&yy887, &&yy882, &&yy900, &&yy901, &&yy903, &&yy904, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy902, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy884, &&yy880, &&yy880, &&yy884, &&yy880, &&yy884, &&yy880, &&yy884, &&yy884, &&yy884, &&yy880, &&yy880, &&yy884, &&yy884, &&yy884, &&yy880, &&yy880, &&yy880, &&yy884, &&yy884, &&yy880, &&yy884, &&yy905, &&yy884, &&yy884, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy884, &&yy880, &&yy880, &&yy884, &&yy880, &&yy884, &&yy880, &&yy884, &&yy880, &&yy884, &&yy880, &&yy880, &&yy884, &&yy884, &&yy884, &&yy880, &&yy880, &&yy880, &&yy884, &&yy884, &&yy880, &&yy880, &&yy884, &&yy880, &&yy884, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880, &&yy880 }; goto *yytarget[yych]; } yy880: #line 1283 "parse_date.g.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 11228 "" yy881: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy1065, &&yy1066, &&yy1067, &&yy1067, &&yy1067, &&yy1067, &&yy1067, &&yy1067, &&yy1067, &&yy1067, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy1060, &&yy886, &&yy886, &&yy1064, &&yy886, &&yy1058, &&yy886, &&yy886, &&yy886, &&yy1057, &&yy886, &&yy886, &&yy1059, &&yy1063, &&yy1062, &&yy886, &&yy886, &&yy886, &&yy1061, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy1060, &&yy886, &&yy886, &&yy1064, &&yy886, &&yy1058, &&yy886, &&yy886, &&yy886, &&yy1057, &&yy886, &&yy886, &&yy1059, &&yy1063, &&yy1062, &&yy886, &&yy886, &&yy886, &&yy1061, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886, &&yy886 }; goto *yytarget[yych]; } yy882: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1038; if (yych <= '1') goto yy1039; if (yych <= '9') goto yy1040; goto yy53; yy883: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy884: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy883, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy895, &&yy53, &&yy53, &&yy899, &&yy53, &&yy893, &&yy53, &&yy60, &&yy888, &&yy892, &&yy53, &&yy53, &&yy894, &&yy898, &&yy897, &&yy53, &&yy53, &&yy53, &&yy896, &&yy65, &&yy53, &&yy890, &&yy62, &&yy891, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy895, &&yy53, &&yy53, &&yy899, &&yy53, &&yy893, &&yy53, &&yy60, &&yy53, &&yy892, &&yy53, &&yy53, &&yy894, &&yy898, &&yy897, &&yy53, &&yy53, &&yy53, &&yy896, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy885: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy886: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy885, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy895, &&yy53, &&yy53, &&yy1030, &&yy53, &&yy1027, &&yy53, &&yy53, &&yy888, &&yy892, &&yy53, &&yy53, &&yy1028, &&yy898, &&yy897, &&yy53, &&yy53, &&yy53, &&yy1029, &&yy53, &&yy53, &&yy890, &&yy53, &&yy891, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy895, &&yy53, &&yy53, &&yy1030, &&yy53, &&yy1027, &&yy53, &&yy53, &&yy53, &&yy892, &&yy53, &&yy53, &&yy1028, &&yy898, &&yy897, &&yy53, &&yy53, &&yy53, &&yy1029, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy887: yych = *++YYCURSOR; if (yych <= '/') goto yy886; if (yych <= '0') goto yy1024; if (yych <= '2') goto yy1025; if (yych <= '3') goto yy1026; goto yy886; yy888: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy1023; } else { if (yych == 'W') goto yy889; if (yych <= 'X') goto yy977; } yy889: #line 1113 "parse_date.g.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 11387 "" yy890: yych = *++YYCURSOR; if (yych == 'I') goto yy1021; goto yy889; yy891: yych = *++YYCURSOR; if (yych == 'I') goto yy1020; goto yy889; yy892: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1013; if (yych <= 'T') goto yy53; goto yy1012; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1013; } else { if (yych == 'u') goto yy1012; goto yy53; } } yy893: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy1006; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy1006; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy894: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy1003; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy1003; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy895: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy997; if (yych <= 'T') goto yy53; goto yy996; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy997; } else { if (yych == 'u') goto yy996; goto yy53; } } yy896: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy989; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy989; if (yych == 'u') goto yy118; goto yy53; } } yy897: yych = *++YYCURSOR; if (yych == 'C') goto yy984; if (yych == 'c') goto yy984; goto yy53; yy898: yych = *++YYCURSOR; if (yych == 'O') goto yy978; if (yych == 'o') goto yy978; goto yy53; yy899: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy971; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy971; goto yy53; } } yy900: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy969; if (yych <= '9') goto yy970; goto yy57; yy901: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy938; if (yych <= '9') goto yy917; goto yy57; yy902: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy918; if (yych <= '1') goto yy919; goto yy53; yy903: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy917; goto yy57; yy904: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy913; if (yych <= '6') goto yy914; if (yych <= '9') goto yy51; goto yy57; yy905: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '0') goto yy906; if (yych <= '4') goto yy907; goto yy908; } else { if (yych <= 'E') { if (yych <= 'D') goto yy53; goto yy98; } else { if (yych == 'e') goto yy98; goto yy53; } } yy906: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy907: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy908: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy909: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy910; if (yych <= '7') goto yy911; yy910: #line 1219 "parse_date.g.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11597 "" yy911: ++YYCURSOR; #line 1200 "parse_date.g.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11618 "" yy913: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy914: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '6') goto yy915; if (yych <= '9') goto yy51; goto yy57; yy915: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916 }; goto *yytarget[yych]; } yy916: #line 1187 "parse_date.g.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 11683 "" yy917: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy918: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy920; goto yy53; yy919: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy920: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy922; if (yych <= '2') goto yy923; if (yych <= '3') goto yy924; goto yy53; yy922: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy923: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy924: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy925: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy927; if (yych <= '2') goto yy928; goto yy53; yy927: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy929; goto yy53; yy928: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy929: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy934; if (yych <= '6') goto yy935; goto yy53; yy934: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy935: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy936: ++YYCURSOR; yy937: #line 1163 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 11788 "" yy938: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych >= '1') goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy939: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy51, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916 }; goto *yytarget[yych]; } yy940: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy942, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916 }; goto *yytarget[yych]; } yy941: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy942, &&yy942, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy57, &&yy57, &&yy916, &&yy916, &&yy57, &&yy916, &&yy57, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916, &&yy916 }; goto *yytarget[yych]; } yy942: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy56, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy61, &&yy943, &&yy63, &&yy943, &&yy60, &&yy943, &&yy943, &&yy943, &&yy943, &&yy59, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy58, &&yy944, &&yy943, &&yy943, &&yy62, &&yy943, &&yy64, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy61, &&yy943, &&yy63, &&yy943, &&yy60, &&yy943, &&yy943, &&yy943, &&yy943, &&yy59, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy58, &&yy945, &&yy943, &&yy943, &&yy62, &&yy943, &&yy64, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943, &&yy943 }; goto *yytarget[yych]; } yy943: #line 1151 "parse_date.g.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 11971 "" yy944: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych <= '1') goto yy959; goto yy960; } else { if (yych <= '9') goto yy961; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yy945: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '2') goto yy947; } else { if (yych <= '9') goto yy948; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy953; if (yych <= '9') goto yy948; goto yy53; yy947: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy953; if (yych <= '5') goto yy949; goto yy53; yy948: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yy949: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy950: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy951: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy952: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy953: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; goto yy53; yy954: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy955; if (yych <= '6') goto yy956; if (yych <= '9') goto yy950; goto yy53; yy955: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy957; if (yych <= '6') goto yy958; if (yych <= '9') goto yy936; goto yy53; yy956: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy957; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy957: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy958: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy959: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy968; if (yych <= '9') goto yy961; if (yych <= ':') goto yy962; goto yy53; yy960: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '3') goto yy968; goto yy949; } else { if (yych == ':') goto yy962; goto yy53; } yy961: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy949; if (yych != ':') goto yy53; yy962: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy966; if (yych <= '6') goto yy967; goto yy53; yy966: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy967: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy968: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; if (yych <= ':') goto yy962; goto yy53; yy969: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy51; if (yych <= '9') goto yy915; goto yy57; yy970: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych <= '0') goto yy939; goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy971: yych = *++YYCURSOR; if (yych == 'C') goto yy972; if (yych != 'c') goto yy53; yy972: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy973; if (yych != 'e') goto yy889; yy973: yych = *++YYCURSOR; if (yych == 'M') goto yy974; if (yych != 'm') goto yy53; yy974: yych = *++YYCURSOR; if (yych == 'B') goto yy975; if (yych != 'b') goto yy53; yy975: yych = *++YYCURSOR; if (yych == 'E') goto yy976; if (yych != 'e') goto yy53; yy976: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych != 'r') goto yy53; yy977: yych = *++YYCURSOR; goto yy889; yy978: yych = *++YYCURSOR; if (yych == 'V') goto yy979; if (yych != 'v') goto yy53; yy979: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy980; if (yych != 'e') goto yy889; yy980: yych = *++YYCURSOR; if (yych == 'M') goto yy981; if (yych != 'm') goto yy53; yy981: yych = *++YYCURSOR; if (yych == 'B') goto yy982; if (yych != 'b') goto yy53; yy982: yych = *++YYCURSOR; if (yych == 'E') goto yy983; if (yych != 'e') goto yy53; yy983: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy984: yych = *++YYCURSOR; if (yych == 'T') goto yy985; if (yych != 't') goto yy53; yy985: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy986; if (yych != 'o') goto yy889; yy986: yych = *++YYCURSOR; if (yych == 'B') goto yy987; if (yych != 'b') goto yy53; yy987: yych = *++YYCURSOR; if (yych == 'E') goto yy988; if (yych != 'e') goto yy53; yy988: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy989: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych != 'p') goto yy53; } } yy990: yych = *++YYCURSOR; if (yych == 'T') goto yy991; if (yych != 't') goto yy889; yy991: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy992; if (yych != 'e') goto yy889; yy992: yych = *++YYCURSOR; if (yych == 'M') goto yy993; if (yych != 'm') goto yy53; yy993: yych = *++YYCURSOR; if (yych == 'B') goto yy994; if (yych != 'b') goto yy53; yy994: yych = *++YYCURSOR; if (yych == 'E') goto yy995; if (yych != 'e') goto yy53; yy995: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy996: yych = *++YYCURSOR; if (yych == 'G') goto yy1000; if (yych == 'g') goto yy1000; goto yy53; yy997: yych = *++YYCURSOR; if (yych == 'R') goto yy998; if (yych != 'r') goto yy53; yy998: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy999; if (yych != 'i') goto yy889; yy999: yych = *++YYCURSOR; if (yych == 'L') goto yy977; if (yych == 'l') goto yy977; goto yy53; yy1000: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1001; if (yych != 'u') goto yy889; yy1001: yych = *++YYCURSOR; if (yych == 'S') goto yy1002; if (yych != 's') goto yy53; yy1002: yych = *++YYCURSOR; if (yych == 'T') goto yy977; if (yych == 't') goto yy977; goto yy53; yy1003: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1004; if (yych <= 'X') goto yy53; goto yy977; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy977; goto yy53; } } yy1004: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1005; if (yych != 'c') goto yy889; yy1005: yych = *++YYCURSOR; if (yych == 'H') goto yy977; if (yych == 'h') goto yy977; goto yy53; yy1006: yych = *++YYCURSOR; if (yych == 'B') goto yy1007; if (yych != 'b') goto yy53; yy1007: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1008; if (yych != 'r') goto yy889; yy1008: yych = *++YYCURSOR; if (yych == 'U') goto yy1009; if (yych != 'u') goto yy53; yy1009: yych = *++YYCURSOR; if (yych == 'A') goto yy1010; if (yych != 'a') goto yy53; yy1010: yych = *++YYCURSOR; if (yych == 'R') goto yy1011; if (yych != 'r') goto yy53; yy1011: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1012: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1019; if (yych <= 'M') goto yy53; goto yy1018; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1019; } else { if (yych == 'n') goto yy1018; goto yy53; } } yy1013: yych = *++YYCURSOR; if (yych == 'N') goto yy1014; if (yych != 'n') goto yy53; yy1014: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1015; if (yych != 'u') goto yy889; yy1015: yych = *++YYCURSOR; if (yych == 'A') goto yy1016; if (yych != 'a') goto yy53; yy1016: yych = *++YYCURSOR; if (yych == 'R') goto yy1017; if (yych != 'r') goto yy53; yy1017: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1018: yych = *++YYCURSOR; if (yych == 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; yy1019: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; yy1020: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1021: yych = *++YYCURSOR; if (yych != 'I') goto yy889; yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1023: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1024: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1037; if (yych <= '9') goto yy1036; goto yy53; yy1025: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1035; goto yy53; yy1026: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1033; if (yych <= '6') goto yy1032; goto yy53; yy1027: yych = *++YYCURSOR; if (yych == 'E') goto yy1006; if (yych == 'e') goto yy1006; goto yy53; yy1028: yych = *++YYCURSOR; if (yych == 'A') goto yy1003; if (yych == 'a') goto yy1003; goto yy53; yy1029: yych = *++YYCURSOR; if (yych == 'E') goto yy1031; if (yych == 'e') goto yy1031; goto yy53; yy1030: yych = *++YYCURSOR; if (yych == 'E') goto yy971; if (yych == 'e') goto yy971; goto yy53; yy1031: yych = *++YYCURSOR; if (yych == 'P') goto yy990; if (yych == 'p') goto yy990; goto yy53; yy1032: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '6') goto yy1034; goto yy53; yy1033: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1034: yych = *++YYCURSOR; goto yy916; yy1035: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1036: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1037: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1038: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '0') goto yy1040; if (yych <= '9') goto yy1051; goto yy53; yy1039: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '2') goto yy1051; goto yy53; yy1040: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy1041: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1042; if (yych <= '3') goto yy1044; if (yych <= '9') goto yy1045; goto yy53; yy1042: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1045; if (yych >= 'n') goto yy1047; } else { if (yych <= 'r') { if (yych >= 'r') goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; } } yy1043: #line 1048 "parse_date.g.re" { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 12532 "" yy1044: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1045; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1045: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1047; goto yy1043; } else { if (yych <= 'r') goto yy1048; if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } yy1046: yych = *++YYCURSOR; if (yych == 't') goto yy1050; goto yy53; yy1047: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1048: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1049: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy1050: yych = *++YYCURSOR; goto yy1043; yy1051: yych = *++YYCURSOR; if (yych != '/') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1054; } else { if (yych <= '3') goto yy1055; if (yych <= '9') goto yy1045; goto yy53; } yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '0') { if (yych <= '/') goto yy1043; goto yy1045; } else { if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1054: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1055: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1056: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy1050; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1057: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1132; if (yych <= 'T') goto yy53; goto yy1131; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1132; } else { if (yych == 'u') goto yy1131; goto yy53; } } yy1058: yych = *++YYCURSOR; if (yych == 'E') goto yy1129; if (yych == 'e') goto yy1129; goto yy53; yy1059: yych = *++YYCURSOR; if (yych == 'A') goto yy1126; if (yych == 'a') goto yy1126; goto yy53; yy1060: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1123; if (yych <= 'T') goto yy53; goto yy1122; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy1123; } else { if (yych == 'u') goto yy1122; goto yy53; } } yy1061: yych = *++YYCURSOR; if (yych == 'E') goto yy1119; if (yych == 'e') goto yy1119; goto yy53; yy1062: yych = *++YYCURSOR; if (yych == 'C') goto yy1117; if (yych == 'c') goto yy1117; goto yy53; yy1063: yych = *++YYCURSOR; if (yych == 'O') goto yy1115; if (yych == 'o') goto yy1115; goto yy53; yy1064: yych = *++YYCURSOR; if (yych == 'E') goto yy1113; if (yych == 'e') goto yy1113; goto yy53; yy1065: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '-') goto yy1068; goto yy53; } else { if (yych <= '0') goto yy1067; if (yych <= '9') goto yy1087; goto yy53; } yy1066: yych = *++YYCURSOR; if (yych == '-') goto yy1068; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1087; goto yy53; yy1067: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy1068: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1069; if (yych <= '3') goto yy1070; if (yych <= '9') goto yy1071; goto yy53; yy1069: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1071; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1070: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1071: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1076; if (yych <= 'm') goto yy775; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1072: yych = *++YYCURSOR; if (yych == 't') goto yy1086; goto yy53; yy1073: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1074: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1075: yych = *++YYCURSOR; if (yych == 'h') goto yy1086; goto yy53; yy1076: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1077; if (yych <= '2') goto yy1078; if (yych <= '9') goto yy1079; goto yy53; yy1077: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1079; if (yych <= ':') goto yy1080; goto yy53; yy1078: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1079; if (yych == ':') goto yy1080; goto yy53; yy1079: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1080: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1081; if (yych <= '9') goto yy1082; goto yy53; yy1081: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1082; if (yych <= ':') goto yy1083; goto yy53; yy1082: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1083: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1084; if (yych <= '6') goto yy1085; if (yych <= '9') goto yy936; goto yy53; yy1084: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1085: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy1086: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1076; goto yy775; yy1087: yych = *++YYCURSOR; if (yych != '-') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1090; } else { if (yych <= '3') goto yy1091; if (yych <= '9') goto yy1071; goto yy53; } yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; if (yych <= '0') goto yy1071; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1090: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1091: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1092: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1093; if (yych <= 'm') goto yy1043; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy1043; } } yy1093: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1094; if (yych <= '2') goto yy1095; if (yych <= '9') goto yy1079; goto yy53; yy1094: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1096; if (yych <= ':') goto yy1080; goto yy53; yy1095: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1096; if (yych == ':') goto yy1080; goto yy53; yy1096: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1098; if (yych <= '9') goto yy1082; goto yy53; yy1098: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1099; if (yych <= ':') goto yy1083; goto yy53; yy1099: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1101; if (yych <= '6') goto yy1102; if (yych <= '9') goto yy936; goto yy53; yy1101: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1103; goto yy937; yy1102: yych = *++YYCURSOR; if (yych != '0') goto yy937; yy1103: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy937; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1105: yyaccept = 19; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= ',') { if (yych != '+') goto yy937; } else { if (yych <= '-') goto yy1107; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1105; goto yy937; } yy1107: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1108; if (yych <= '2') goto yy1109; if (yych <= '9') goto yy1110; goto yy53; yy1108: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1110; if (yych <= ':') goto yy1111; goto yy937; yy1109: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy937; if (yych >= '4') goto yy1112; } else { if (yych <= '9') goto yy936; if (yych <= ':') goto yy1111; goto yy937; } yy1110: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; if (yych >= ';') goto yy937; yy1111: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; goto yy937; yy1112: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1113: yych = *++YYCURSOR; if (yych == 'C') goto yy1114; if (yych != 'c') goto yy53; yy1114: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy973; if (yych == 'e') goto yy973; goto yy889; } yy1115: yych = *++YYCURSOR; if (yych == 'V') goto yy1116; if (yych != 'v') goto yy53; yy1116: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy980; if (yych == 'e') goto yy980; goto yy889; } yy1117: yych = *++YYCURSOR; if (yych == 'T') goto yy1118; if (yych != 't') goto yy53; yy1118: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'O') goto yy986; if (yych == 'o') goto yy986; goto yy889; } yy1119: yych = *++YYCURSOR; if (yych == 'P') goto yy1120; if (yych != 'p') goto yy53; yy1120: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'T') goto yy1121; if (yych != 't') goto yy889; } yy1121: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy992; if (yych == 'e') goto yy992; goto yy889; } yy1122: yych = *++YYCURSOR; if (yych == 'G') goto yy1125; if (yych == 'g') goto yy1125; goto yy53; yy1123: yych = *++YYCURSOR; if (yych == 'R') goto yy1124; if (yych != 'r') goto yy53; yy1124: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'I') goto yy999; if (yych == 'i') goto yy999; goto yy889; } yy1125: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1001; if (yych == 'u') goto yy1001; goto yy889; } yy1126: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1127; if (yych <= 'X') goto yy53; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy1128; goto yy53; } } yy1127: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'C') goto yy1005; if (yych == 'c') goto yy1005; goto yy889; } yy1128: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy863; goto yy889; yy1129: yych = *++YYCURSOR; if (yych == 'B') goto yy1130; if (yych != 'b') goto yy53; yy1130: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'R') goto yy1008; if (yych == 'r') goto yy1008; goto yy889; } yy1131: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1135; if (yych <= 'M') goto yy53; goto yy1134; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1135; } else { if (yych == 'n') goto yy1134; goto yy53; } } yy1132: yych = *++YYCURSOR; if (yych == 'N') goto yy1133; if (yych != 'n') goto yy53; yy1133: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1015; if (yych == 'u') goto yy1015; goto yy889; } yy1134: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; } yy1135: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; } yy1136: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych <= '/') goto yy844; goto yy617; } else { if (yych <= 'U') goto yy74; if (yych == 'u') goto yy74; goto yy617; } yy1137: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; goto yy709; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych == 'p') goto yy709; goto yy53; } } yy1138: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy845; } else { if (yych <= '/') goto yy844; if (yych <= '9') goto yy851; goto yy1140; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy612; if (yych <= 'q') goto yy1140; goto yy613; } else { if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1139: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1140: { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy1139, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy616, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy699, &&yy53, &&yy53, &&yy608, &&yy53, &&yy609, &&yy53, &&yy60, &&yy619, &&yy623, &&yy53, &&yy53, &&yy607, &&yy626, &&yy625, &&yy53, &&yy53, &&yy53, &&yy605, &&yy65, &&yy53, &&yy621, &&yy62, &&yy622, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy699, &&yy53, &&yy53, &&yy608, &&yy53, &&yy609, &&yy53, &&yy60, &&yy53, &&yy623, &&yy53, &&yy53, &&yy607, &&yy626, &&yy625, &&yy53, &&yy53, &&yy53, &&yy605, &&yy65, &&yy53, &&yy53, &&yy62, &&yy53, &&yy64, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[yych]; } yy1141: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; } else { if (yych <= '/') goto yy844; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1142: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy1166; goto yy1167; } else { if (yych <= '5') goto yy1168; if (yych <= '9') goto yy1169; goto yy617; } yy1143: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1161; if (yych <= '9') goto yy1162; goto yy53; yy1144: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych >= ':') goto yy57; yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy884, &&yy881, &&yy887, &&yy882, &&yy1147, &&yy1148, &&yy1149, &&yy1150, &&yy1151, &&yy1151, &&yy1152, &&yy51, &&yy51, &&yy51, &&yy902, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy884, &&yy1146, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy884, &&yy884, &&yy1146, &&yy1146, &&yy884, &&yy884, &&yy884, &&yy1146, &&yy1146, &&yy1146, &&yy884, &&yy884, &&yy1146, &&yy884, &&yy905, &&yy884, &&yy884, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy884, &&yy1146, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy1146, &&yy1146, &&yy884, &&yy884, &&yy884, &&yy1146, &&yy1146, &&yy1146, &&yy884, &&yy884, &&yy1146, &&yy1146, &&yy884, &&yy1146, &&yy884, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146 }; goto *yytarget[yych]; } yy1146: #line 970 "parse_date.g.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 13487 "" yy1147: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1159; if (yych <= '9') goto yy1160; goto yy57; yy1148: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy1158; if (yych <= '9') goto yy1157; goto yy57; yy1149: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1157; goto yy57; yy1150: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy1155; if (yych <= '6') goto yy1156; if (yych <= '9') goto yy1153; goto yy57; yy1151: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1153; goto yy57; yy1152: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1153; if (yych <= '9') goto yy51; goto yy57; yy1153: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy51, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1154: #line 1015 "parse_date.g.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 13581 "" yy1155: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1156: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy51, &&yy51, &&yy51, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1157: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1158: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy939, &&yy940, &&yy940, &&yy941, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1159: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy51, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1160: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy939, &&yy940, &&yy940, &&yy941, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy915, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy57, &&yy57, &&yy1154, &&yy1154, &&yy57, &&yy1154, &&yy57, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154, &&yy1154 }; goto *yytarget[yych]; } yy1161: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1163; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1162: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1163; if (yych != ':') goto yy634; yy1163: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1164; if (yych <= '6') goto yy1165; if (yych <= '9') goto yy639; goto yy53; yy1164: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy639; goto yy634; yy1165: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy639; goto yy634; yy1166: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1169; if (yych <= ':') goto yy1163; goto yy634; } yy1167: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '2') goto yy1169; if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1168: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1169: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1170; if (yych == ':') goto yy1163; goto yy634; yy1170: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1171; if (yych <= '6') goto yy1172; if (yych <= '9') goto yy727; goto yy53; yy1171: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy1173; goto yy634; yy1172: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy1173; if (yych <= '9') goto yy728; goto yy634; } yy1173: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; yy1174: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy604; if (yych <= '-') goto yy615; goto yy618; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy627; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy604; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy604; } } yy1175: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy1142; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1176: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych >= ':') goto yy53; yy1177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy1179; if (yych <= '9') goto yy1177; yy1179: #line 905 "parse_date.g.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14012 "" yy1180: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1211; if (yych <= 'z') goto yy134; goto yy3; } } yy1181: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy1205; if (yych <= 'T') goto yy134; goto yy1204; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy134; goto yy1205; } else { if (yych == 'u') goto yy1204; if (yych <= 'z') goto yy134; goto yy3; } } yy1182: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'D') goto yy1193; if (yych <= 'L') goto yy134; goto yy1194; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy134; goto yy1193; } else { if (yych == 'm') goto yy1194; if (yych <= 'z') goto yy134; goto yy3; } } yy1183: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1189; if (yych <= 'z') goto yy134; goto yy3; } } yy1184: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1185; if (yych <= 'z') goto yy134; goto yy3; } } yy1185: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'l') goto yy1186; if (yych <= 'z') goto yy135; goto yy3; } } yy1186: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'F') goto yy1187; if (yych != 'f') goto yy3; } yy1187: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy53; yy1188: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy1189: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 's') goto yy1190; if (yych <= 'z') goto yy135; goto yy341; } } yy1190: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy1191; if (yych != 'd') goto yy3; } yy1191: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy53; yy1192: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1193: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1201; } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= 'a') goto yy1201; if (yych <= 'z') goto yy135; goto yy3; } } yy1194: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy1195; if (yych <= 'z') goto yy135; goto yy3; } } yy1195: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy1196; if (yych != 'r') goto yy3; } yy1196: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy53; yy1197: yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy53; yy1198: yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy53; yy1199: ++YYCURSOR; yy1200: #line 893 "parse_date.g.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14277 "" yy1201: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy1202; if (yych != 'y') goto yy3; } yy1202: ++YYCURSOR; yy1203: #line 883 "parse_date.g.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14299 "" yy1204: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'r') goto yy1207; if (yych <= 'z') goto yy135; goto yy341; } } yy1205: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Q') goto yy135; if (yych >= 'S') goto yy317; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy1206; if (yych <= 's') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1206: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy159; if (yych == 'd') goto yy159; goto yy3; } yy1207: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy1208; if (yych != 's') goto yy3; } yy1208: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy53; yy1209: yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy53; yy1210: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1211: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1212; if (yych <= 'z') goto yy135; goto yy3; } } yy1212: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1213: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1242; if (yych <= 'z') goto yy137; goto yy3; } } yy1214: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1205, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1204, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1236, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1235, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1215: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy1193, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1194, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy1226, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1227, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1216: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1222; if (yych <= 'z') goto yy137; goto yy3; } } yy1217: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1185; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1218; if (yych <= 'z') goto yy137; goto yy3; } } yy1218: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; goto yy1186; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy1219; if (yych <= 'z') goto yy142; goto yy3; } } yy1219: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'E') goto yy3; goto yy1187; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'f') goto yy1220; if (yych <= 'z') goto yy143; goto yy3; } } yy1220: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy1222: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; goto yy1190; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 's') goto yy1223; if (yych <= 'z') goto yy142; goto yy341; } } yy1223: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy1191; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1224; if (yych <= 'z') goto yy143; goto yy3; } } yy1224: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1226: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1201; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1233; if (yych <= 'z') goto yy142; goto yy3; } } yy1227: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy1195; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy1228; if (yych <= 'z') goto yy142; goto yy3; } } yy1228: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy1196; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy1229; if (yych <= 'z') goto yy143; goto yy3; } } yy1229: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy144; yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1200; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1200; if (yych <= 'z') goto yy143; goto yy1200; } yy1233: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'X') goto yy3; goto yy1202; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'y') goto yy1234; if (yych <= 'z') goto yy143; goto yy3; } } yy1234: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1203; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1203; if (yych <= 'z') goto yy143; goto yy1203; } yy1235: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'r') goto yy1238; if (yych <= 'z') goto yy142; goto yy341; } } yy1236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy1206, &&yy317, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy1237, &&yy320, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1238: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy1208; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1239; if (yych <= 'z') goto yy143; goto yy3; } } yy1239: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1242: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1212; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1243; if (yych <= 'z') goto yy142; goto yy3; } } yy1243: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1244: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'R') goto yy1255; if (yych <= 'X') goto yy134; goto yy1256; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy134; goto yy1255; } else { if (yych == 'y') goto yy1256; if (yych <= 'z') goto yy134; goto yy3; } } yy1245: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy1250; if (yych <= 'z') goto yy134; goto yy3; } } yy1246: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1247; if (yych <= 'z') goto yy134; goto yy3; } } yy1247: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy1248; if (yych <= 'z') goto yy135; goto yy341; } } yy1248: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy1249; if (yych != 'a') goto yy3; } yy1249: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1250: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1251; if (yych <= 'z') goto yy135; goto yy3; } } yy1251: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy1252; if (yych != 'i') goto yy3; } yy1252: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy53; yy1253: yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy53; yy1254: yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1202; goto yy53; yy1255: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy1257, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy1257, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1256: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= '@') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy1257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy358; if (yych == 'h') goto yy358; goto yy3; } yy1258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1255, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1256, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1269, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1270, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1259: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1264; if (yych <= 'z') goto yy137; goto yy3; } } yy1260: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1247; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1261; if (yych <= 'z') goto yy137; goto yy3; } } yy1261: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy1248; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy1262; if (yych <= 'z') goto yy142; goto yy341; } } yy1262: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1249; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy1263; if (yych <= 'z') goto yy143; goto yy3; } } yy1263: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1264: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1251; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1265; if (yych <= 'z') goto yy142; goto yy3; } } yy1265: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy1252; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy1266; if (yych <= 'z') goto yy143; goto yy3; } } yy1266: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1234; goto yy144; yy1269: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy1257, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy1271, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1270: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '^') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy1271: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy1272: yych = *++YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1280, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1281, &&yy1278, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1280, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1281, &&yy1278, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1273: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy1277; if (yych <= 'z') goto yy134; goto yy3; } } yy1274: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1275; if (yych <= 'z') goto yy134; goto yy3; } } yy1275: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1276; if (yych <= 'z') goto yy135; goto yy3; } } yy1276: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1277: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1278: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy135; } yy1279: #line 862 "parse_date.g.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15635 "" yy1280: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1286; if (yych <= 'z') goto yy135; goto yy3; } } yy1281: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy1282, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy1282, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1282: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy1283; if (yych != 'm') goto yy3; } yy1283: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy53; yy1284: yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy53; yy1285: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy1286: ++YYCURSOR; if ((yych = *YYCURSOR) == ')') goto yy132; yy1287: #line 871 "parse_date.g.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15736 "" yy1288: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy132, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1280, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy1281, &&yy1278, &&yy134, &&yy134, &&yy134, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1295, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy1296, &&yy1294, &&yy137, &&yy137, &&yy137, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1289: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy1293; if (yych <= 'z') goto yy137; goto yy3; } } yy1290: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1275; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1291; if (yych <= 'z') goto yy137; goto yy3; } } yy1291: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1276; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1292; if (yych <= 'z') goto yy142; goto yy3; } } yy1292: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1293: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy1294: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1279; goto yy132; } else { if (yych == '/') goto yy138; goto yy1279; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy1279; goto yy138; } else { if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy142; goto yy1279; } } yy1295: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1301; if (yych <= 'z') goto yy142; goto yy3; } } yy1296: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy360, &&yy359, &&yy359, &&yy359, &&yy361, &&yy359, &&yy138, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy359, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy135, &&yy135, &&yy135, &&yy135, &&yy1282, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy135, &&yy3, &&yy3, &&yy3, &&yy3, &&yy138, &&yy3, &&yy142, &&yy142, &&yy142, &&yy142, &&yy1297, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy142, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy1297: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy1283; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy1298; if (yych <= 'z') goto yy143; goto yy3; } } yy1298: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy1301: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy1287; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy1287; goto yy138; } else { if (yych <= '`') goto yy1287; if (yych <= 'z') goto yy143; goto yy1287; } } yy1302: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy1303; if (yych <= 'z') goto yy134; goto yy3; } } yy1303: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1304; if (yych <= 'z') goto yy135; goto yy3; } } yy1304: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy1305; if (yych != 'e') goto yy3; } yy1305: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy53; yy1306: yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy53; yy1307: yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy53; yy1308: yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy53; yy1309: ++YYCURSOR; yy1310: #line 850 "parse_date.g.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 16129 "" yy1311: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy1303; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1312; if (yych <= 'z') goto yy137; goto yy3; } } yy1312: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1304; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1313; if (yych <= 'z') goto yy142; goto yy3; } } yy1313: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy1305; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1314; if (yych <= 'z') goto yy143; goto yy3; } } yy1314: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy144; yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1310; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1310; if (yych <= 'z') goto yy143; goto yy1310; } } #line 1411 "parse_date.g.re" } #define YYMAXFILL 26 timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/error14.c0000775000076500007660000000007711016275331012020 00000000000000re2c: error: line 9, column 1: cannot generate YYMAXFILL twice re2c-0.13.5/test/error3.re0000775000076500007660000000054511016275331012122 00000000000000#include #include #include #define RET(n) return n int scan(const char *s, int l) { const char *p = s; const char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) /*!re2c any = [\000-\377]; [a]] {RET(1);} any {RET(0);} */ } re2c-0.13.5/test/input11.c0000775000076500007660000001060411016275331012020 00000000000000/* Generated by re2c */ #line 1 "input11.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; switch (yych) { case '-': goto yy7; case '0': goto yy5; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy9; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy4; case 'r': goto yy2; default: goto yy10; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'e': goto yy15; default: goto yy14; } yy3: #line 10 "input11.re" { return 1; } #line 86 "" yy4: yych = *++YYCURSOR; goto yy14; yy5: ++YYCURSOR; yy6: #line 11 "input11.re" { return 2; } #line 95 "" yy7: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy11; default: goto yy8; } yy8: #line 13 "input11.re" { return -1; } #line 113 "" yy9: yych = *++YYCURSOR; goto yy12; yy10: yych = *++YYCURSOR; goto yy8; yy11: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy12: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy11; default: goto yy6; } yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy13; default: goto yy3; } yy15: yych = *++YYCURSOR; switch (yych) { case '2': goto yy16; default: goto yy14; } yy16: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy17; default: goto yy14; } yy17: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ':': goto yy18; default: goto yy14; } yy18: yych = *++YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy20; default: goto yy19; } yy19: YYCURSOR = YYMARKER; goto yy3; yy20: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '_': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy20; default: goto yy22; } yy22: #line 9 "input11.re" { return 0; } #line 361 "" } #line 15 "input11.re" re2c-0.13.5/test/bug1187785.c0000775000076500007660000001555211016275331012070 00000000000000/* Generated by re2c */ #line 1 "bug1187785.re" #include #include #include #define RET(n) printf("%d\n", n); return n #define TAG_EOI 0 #define TAG_A 1 #define TAG_TAG 2 int scan(char *s, int l) { char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) cont: #line 24 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '"': goto yy2; default: goto yy4; } yy2: yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case '\t': case '\n': case '\v': case '\f': case '\r': case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: case ' ': case '!': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': case 0x7F: case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: case 0xC0: case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9: case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF: case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7: case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: goto yy5; default: goto yy3; } yy3: #line 23 "bug1187785.re" { goto cont; } #line 296 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07: case 0x08: case '\t': case '\n': case '\v': case '\f': case '\r': case 0x0E: case 0x0F: case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17: case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: case ' ': case '!': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': case '/': case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case ':': case ';': case '<': case '=': case '>': case '?': case '@': case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']': case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': case '{': case '|': case '}': case '~': case 0x7F: case 0x80: case 0x81: case 0x82: case 0x83: case 0x84: case 0x85: case 0x86: case 0x87: case 0x88: case 0x89: case 0x8A: case 0x8B: case 0x8C: case 0x8D: case 0x8E: case 0x8F: case 0x90: case 0x91: case 0x92: case 0x93: case 0x94: case 0x95: case 0x96: case 0x97: case 0x98: case 0x99: case 0x9A: case 0x9B: case 0x9C: case 0x9D: case 0x9E: case 0x9F: case 0xA0: case 0xA1: case 0xA2: case 0xA3: case 0xA4: case 0xA5: case 0xA6: case 0xA7: case 0xA8: case 0xA9: case 0xAA: case 0xAB: case 0xAC: case 0xAD: case 0xAE: case 0xAF: case 0xB0: case 0xB1: case 0xB2: case 0xB3: case 0xB4: case 0xB5: case 0xB6: case 0xB7: case 0xB8: case 0xB9: case 0xBA: case 0xBB: case 0xBC: case 0xBD: case 0xBE: case 0xBF: case 0xC0: case 0xC1: case 0xC2: case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA: case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2: case 0xD3: case 0xD4: case 0xD5: case 0xD6: case 0xD7: case 0xD8: case 0xD9: case 0xDA: case 0xDB: case 0xDC: case 0xDD: case 0xDE: case 0xDF: case 0xE0: case 0xE1: case 0xE2: case 0xE3: case 0xE4: case 0xE5: case 0xE6: case 0xE7: case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF: case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7: case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: goto yy5; case '"': goto yy8; default: goto yy7; } yy7: YYCURSOR = YYMARKER; goto yy3; yy8: ++YYCURSOR; #line 22 "bug1187785.re" { RET(1); } #line 569 "" } #line 24 "bug1187785.re" } #define do_scan(str) scan(str, strlen(str)) main() { do_scan("0"); } re2c-0.13.5/test/input1.re0000664000076500007660000000010511016275331012113 00000000000000/*!re2c [a][b]+ "cc" { return 1; } [\000-\377] { return 0; } */ re2c-0.13.5/test/modula.re0000664000076500007660000001141111016275331012156 00000000000000#include #include #include typedef unsigned int uint; typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYCTXMARKER s->ctx #define YYFILL {cursor = fill(s, cursor);} #define RETURN(i) {s->cur = cursor; return i;} typedef struct Scanner { int fd; uchar *bot, *tok, *ptr, *ctx, *cur, *pos, *lim, *top, *eof; uint line; } Scanner; uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ uint cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } int scan(Scanner *s){ uchar *cursor = s->cur; uint depth; std: s->tok = cursor; /*!re2c any = [\000-\377]; digit = [0-9]; letter = [a-zA-Z]; */ /*!re2c "(*" { depth = 1; goto comment; } digit + {RETURN(1);} digit + / ".." {RETURN(1);} [0-7] + "B" {RETURN(2);} [0-7] + "C" {RETURN(3);} digit [0-9A-F] * "H" {RETURN(4);} digit + "." digit * ("E" ([+-]) ? digit +) ? {RETURN(5);} ['] (any\[\n']) * ['] | ["] (any\[\n"]) * ["] {RETURN(6);} "#" {RETURN(7);} "&" {RETURN(8);} "(" {RETURN(9);} ")" {RETURN(10);} "*" {RETURN(11);} "+" {RETURN(12);} "," {RETURN(13);} "-" {RETURN(14);} "." {RETURN(15);} ".." {RETURN(16);} "/" {RETURN(17);} ":" {RETURN(18);} ":=" {RETURN(19);} ";" {RETURN(20);} "<" {RETURN(21);} "<=" {RETURN(22);} "<>" {RETURN(23);} "=" {RETURN(24);} ">" {RETURN(25);} ">=" {RETURN(26);} "[" {RETURN(27);} "]" {RETURN(28);} "^" {RETURN(29);} "{" {RETURN(30);} "|" {RETURN(31);} "}" {RETURN(32);} "~" {RETURN(33);} "AND" {RETURN(34);} "ARRAY" {RETURN(35);} "BEGIN" {RETURN(36);} "BY" {RETURN(37);} "CASE" {RETURN(38);} "CONST" {RETURN(39);} "DEFINITION" {RETURN(40);} "DIV" {RETURN(41);} "DO" {RETURN(42);} "ELSE" {RETURN(43);} "ELSIF" {RETURN(44);} "END" {RETURN(45);} "EXIT" {RETURN(46);} "EXPORT" {RETURN(47);} "FOR" {RETURN(48);} "FROM" {RETURN(49);} "IF" {RETURN(50);} "IMPLEMENTATION" {RETURN(51);} "IMPORT" {RETURN(52);} "IN" {RETURN(53);} "LOOP" {RETURN(54);} "MOD" {RETURN(55);} "MODULE" {RETURN(56);} "NOT" {RETURN(57);} "OF" {RETURN(58);} "OR" {RETURN(59);} "POINTER" {RETURN(60);} "PROCEDURE" {RETURN(61);} "QUALIFIED" {RETURN(62);} "RECORD" {RETURN(63);} "REPEAT" {RETURN(64);} "RETURN" {RETURN(65);} "SET" {RETURN(66);} "THEN" {RETURN(67);} "TO" {RETURN(68);} "TYPE" {RETURN(69);} "UNTIL" {RETURN(70);} "VAR" {RETURN(71);} "WHILE" {RETURN(72);} "WITH" {RETURN(73);} letter (letter | digit) * {RETURN(74);} [ \t]+ { goto std; } "\n" { if(cursor == s->eof) RETURN(0); s->pos = cursor; s->line++; goto std; } any { printf("unexpected character: %c\n", *s->tok); goto std; } */ comment: /*!re2c "*)" { if(--depth == 0) goto std; else goto comment; } "(*" { ++depth; goto comment; } "\n" { if(cursor == s->eof) RETURN(0); s->tok = s->pos = cursor; s->line++; goto comment; } any { goto comment; } */ } /* void putStr(FILE *o, char *s, uint l){ while(l-- > 0) putc(*s++, o); } */ main(){ Scanner in; memset((char*) &in, 0, sizeof(in)); in.fd = 0; while(scan(&in)){ /* putc('<', stdout); putStr(stdout, (char*) in.tok, in.cur - in.tok); putc('>', stdout); putc('\n', stdout); */ } } re2c-0.13.5/test/bug1163046.re0000775000076500007660000000176411016275331012234 00000000000000#include #define YYCTYPE unsigned char #define YYCURSOR cursor #define YYLIMIT cursor #define YYMARKER marker #define YYFILL(n) bool scan(const char *text) { YYCTYPE *start = (YYCTYPE *)text; YYCTYPE *cursor = (YYCTYPE *)text; YYCTYPE *marker = (YYCTYPE *)text; next: YYCTYPE *token = cursor; /*!re2c '(This file must be converted with BinHex 4.0)' { if (token == start || *(token - 1) == '\n') return true; else goto next; } [\001-\377] { goto next; } [\000] { return false; } */ return false; } #define do_scan(str, expect) \ res = scan(str) == expect ? 0 : 1; \ std::cerr << str << "\t-\t" << (res ? "fail" : "ok") << std::endl; \ result += res /*!max:re2c */ int main(int,void**) { int res, result = 0; do_scan("(This file must be converted with BinHex 4.0)", 1); do_scan("x(This file must be converted with BinHex 4.0)", 0); do_scan("(This file must be converted with BinHex 4.0)x", 1); do_scan("x(This file must be converted with BinHex 4.0)x", 0); return result; } re2c-0.13.5/test/config4f.f.re0000775000076500007660000000054111016275331012625 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; /*!re2c re2c:indent:top = 1; */ /*!getstate:re2c */ // after getstate /*!re2c re2c:state:abort = 0; re2c:state:nextlabel = 0; [0-9]+ { return YYCURSOR; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/parse_date.s.c0000775000076500007660000115435111016275331013100 00000000000000/* Generated by re2c */ #line 1 "parse_date.s.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 845 "parse_date.s.re" #line 743 "" { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 26) YYFILL(26); yych = *YYCURSOR; switch (yych) { case 0x00: case '\n': goto yy48; case ' ': goto yy45; case '(': goto yy42; case '+': case '-': goto yy41; case ',': case '.': goto yy47; case '0': goto yy13; case '1': goto yy14; case '2': goto yy15; case '3': goto yy16; case '4': case '5': case '6': case '7': case '8': case '9': goto yy17; case '@': goto yy11; case 'A': goto yy25; case 'B': case 'C': case 'G': case 'H': case 'K': case 'Q': case 'R': case 'U': case 'Z': goto yy43; case 'D': goto yy31; case 'E': goto yy35; case 'F': goto yy23; case 'I': goto yy18; case 'J': goto yy21; case 'L': goto yy37; case 'M': goto yy7; case 'N': goto yy5; case 'O': goto yy29; case 'P': goto yy39; case 'S': goto yy27; case 'T': goto yy9; case 'V': goto yy19; case 'W': goto yy33; case 'X': goto yy20; case 'Y': goto yy2; case 'a': goto yy26; case 'b': case 'c': case 'g': case 'h': case 'i': case 'k': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy44; case 'd': goto yy32; case 'e': goto yy36; case 'f': goto yy24; case 'j': goto yy22; case 'l': goto yy38; case 'm': goto yy8; case 'n': goto yy6; case 'o': goto yy30; case 'p': goto yy40; case 's': goto yy28; case 't': goto yy10; case 'w': goto yy34; case 'y': goto yy4; default: goto yy50; } yy2: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych >= 'a') goto yy136; } else { if (yych <= 'e') goto yy1311; if (yych <= 'z') goto yy136; } } yy3: #line 1340 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 854 "" yy4: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy1302; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1302; if (yych <= 'z') goto yy133; goto yy3; } } yy5: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1273; goto yy133; } else { if (yych <= 'I') goto yy1274; if (yych <= 'N') goto yy133; goto yy1272; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1289; goto yy136; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1290; goto yy136; } else { if (yych <= 'o') goto yy1288; if (yych <= 'z') goto yy136; goto yy3; } } } yy6: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1273; goto yy133; } else { if (yych <= 'I') goto yy1274; if (yych <= 'N') goto yy133; goto yy1272; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'e') goto yy1273; goto yy133; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1274; goto yy133; } else { if (yych <= 'o') goto yy1272; if (yych <= 'z') goto yy133; goto yy3; } } } yy7: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1244; } else { if (yych == 'I') goto yy1245; if (yych <= 'N') goto yy133; goto yy1246; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1258; goto yy136; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1259; goto yy136; } else { if (yych <= 'o') goto yy1260; if (yych <= 'z') goto yy136; goto yy3; } } } yy8: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1244; } else { if (yych == 'I') goto yy1245; if (yych <= 'N') goto yy133; goto yy1246; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1244; goto yy133; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1245; goto yy133; } else { if (yych <= 'o') goto yy1246; if (yych <= 'z') goto yy133; goto yy3; } } } yy9: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'G') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'E') goto yy1180; goto yy133; } } else { if (yych <= 'O') { if (yych <= 'H') goto yy1181; if (yych <= 'N') goto yy133; goto yy1182; } else { if (yych == 'U') goto yy1183; if (yych <= 'V') goto yy133; goto yy1184; } } } else { if (yych <= 'n') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy1213; if (yych == 'h') goto yy1214; goto yy136; } } else { if (yych <= 'u') { if (yych <= 'o') goto yy1215; if (yych <= 't') goto yy136; goto yy1216; } else { if (yych == 'w') goto yy1217; if (yych <= 'z') goto yy136; goto yy3; } } } yy10: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'G') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'E') goto yy1180; goto yy133; } } else { if (yych <= 'O') { if (yych <= 'H') goto yy1181; if (yych <= 'N') goto yy133; goto yy1182; } else { if (yych == 'U') goto yy1183; if (yych <= 'V') goto yy133; goto yy1184; } } } else { if (yych <= 'n') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy1180; if (yych == 'h') goto yy1181; goto yy133; } } else { if (yych <= 'u') { if (yych <= 'o') goto yy1182; if (yych <= 't') goto yy133; goto yy1183; } else { if (yych == 'w') goto yy1184; if (yych <= 'z') goto yy133; goto yy3; } } } yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1176; if (yych <= '0') goto yy12; if (yych <= '9') goto yy1177; yy12: #line 1406 "parse_date.s.re" { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } #line 1112 "" yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'w': case 'y': goto yy1140; case '-': goto yy615; case '.': goto yy1142; case '/': goto yy614; case '0': goto yy1175; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1174; case ':': goto yy1143; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': goto yy1174; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1141; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': goto yy1141; case '4': case '5': case '6': case '7': case '8': case '9': goto yy1138; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': goto yy1138; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy604; case '-': goto yy615; case '.': goto yy618; case '/': goto yy614; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy611; case ':': goto yy627; case 'n': goto yy612; case 'r': goto yy613; case 's': goto yy606; case 't': goto yy610; default: goto yy12; } yy18: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy133; } } else { if (yych <= 'W') { if (yych <= 'I') goto yy602; if (yych == 'V') goto yy601; goto yy133; } else { if (yych <= 'Z') { if (yych <= 'X') goto yy601; goto yy133; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } } yy19: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy599; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy20: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy133; goto yy597; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } } yy21: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy589; } else { if (yych == 'u') goto yy588; if (yych <= 'z') goto yy136; goto yy3; } } yy22: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy580; if (yych <= 'T') goto yy133; goto yy579; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy580; } else { if (yych == 'u') goto yy579; if (yych <= 'z') goto yy133; goto yy3; } } yy23: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy541; } } else { if (yych <= 'N') { if (yych == 'I') goto yy542; goto yy133; } else { if (yych <= 'O') goto yy543; if (yych <= 'Q') goto yy133; goto yy544; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy560; if (yych <= 'h') goto yy136; goto yy561; } } else { if (yych <= 'q') { if (yych == 'o') goto yy562; goto yy136; } else { if (yych <= 'r') goto yy563; if (yych <= 'z') goto yy136; goto yy3; } } } yy24: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy541; } } else { if (yych <= 'N') { if (yych == 'I') goto yy542; goto yy133; } else { if (yych <= 'O') goto yy543; if (yych <= 'Q') goto yy133; goto yy544; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy541; if (yych <= 'h') goto yy133; goto yy542; } } else { if (yych <= 'q') { if (yych == 'o') goto yy543; goto yy133; } else { if (yych <= 'r') goto yy544; if (yych <= 'z') goto yy133; goto yy3; } } } yy25: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy524; goto yy133; } else { if (yych <= 'P') goto yy523; if (yych <= 'T') goto yy133; goto yy522; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy534; goto yy136; } } else { if (yych <= 't') { if (yych <= 'p') goto yy533; goto yy136; } else { if (yych <= 'u') goto yy532; if (yych <= 'z') goto yy136; goto yy3; } } } yy26: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy133; } else { if (yych <= 'O') { if (yych <= 'G') goto yy524; goto yy133; } else { if (yych <= 'P') goto yy523; if (yych <= 'T') goto yy133; goto yy522; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych == 'g') goto yy524; goto yy133; } } else { if (yych <= 't') { if (yych <= 'p') goto yy523; goto yy133; } else { if (yych <= 'u') goto yy522; if (yych <= 'z') goto yy133; goto yy3; } } } yy27: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy469; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy468; goto yy133; } else { if (yych <= 'I') goto yy470; if (yych <= 'T') goto yy133; goto yy471; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy496; if (yych <= 'd') goto yy136; goto yy495; } } else { if (yych <= 't') { if (yych == 'i') goto yy497; goto yy136; } else { if (yych <= 'u') goto yy498; if (yych <= 'z') goto yy136; goto yy3; } } } yy28: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy469; goto yy133; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy468; goto yy133; } else { if (yych <= 'I') goto yy470; if (yych <= 'T') goto yy133; goto yy471; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy469; if (yych <= 'd') goto yy133; goto yy468; } } else { if (yych <= 't') { if (yych == 'i') goto yy470; goto yy133; } else { if (yych <= 'u') goto yy471; if (yych <= 'z') goto yy133; goto yy3; } } } yy29: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'c') goto yy463; if (yych <= 'z') goto yy136; goto yy3; } } yy30: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy133; goto yy458; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'c') goto yy458; if (yych <= 'z') goto yy133; goto yy3; } } yy31: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy451; if (yych <= 'z') goto yy136; goto yy3; } } yy32: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy356; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy356; if (yych <= 'z') goto yy133; goto yy3; } } yy33: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'e') goto yy348; if (yych <= 'z') goto yy136; goto yy3; } } yy34: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy133; goto yy339; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'e') goto yy339; if (yych <= 'z') goto yy133; goto yy3; } } yy35: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy136; goto yy330; } else { if (yych == 'l') goto yy331; if (yych <= 'z') goto yy136; goto yy3; } } yy36: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy321; if (yych <= 'K') goto yy133; goto yy322; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy133; goto yy321; } else { if (yych == 'l') goto yy322; if (yych <= 'z') goto yy133; goto yy3; } } yy37: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy318; if (yych <= 'z') goto yy136; goto yy3; } } yy38: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy315; } else { if (yych <= '`') { if (yych <= 'Z') goto yy133; goto yy3; } else { if (yych <= 'a') goto yy315; if (yych <= 'z') goto yy133; goto yy3; } } yy39: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy136; } else { if (yych <= 'r') goto yy235; if (yych <= 'z') goto yy136; goto yy3; } } yy40: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy133; goto yy153; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; goto yy133; } else { if (yych <= 'r') goto yy153; if (yych <= 'z') goto yy133; goto yy3; } } yy41: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ' ') goto yy54; goto yy12; } else { if (yych <= '1') goto yy146; if (yych <= '2') goto yy147; if (yych <= '9') goto yy148; goto yy12; } yy42: yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy145; if (yych <= '`') goto yy12; if (yych <= 'z') goto yy145; goto yy12; yy43: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy136; goto yy3; } yy44: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy45: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy54; if (yych <= '/') goto yy46; if (yych <= '9') goto yy51; yy46: #line 1395 "parse_date.s.re" { goto std; } #line 2102 "" yy47: yych = *++YYCURSOR; goto yy46; yy48: ++YYCURSOR; #line 1400 "parse_date.s.re" { s->pos = cursor; s->line++; goto std; } #line 2113 "" yy50: yych = *++YYCURSOR; goto yy12; yy51: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; switch (yych) { case ' ': goto yy56; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy53: YYCURSOR = YYMARKER; if (yyaccept <= 13) { if (yyaccept <= 6) { if (yyaccept <= 3) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy12; } else { goto yy3; } } else { if (yyaccept <= 2) { goto yy46; } else { goto yy69; } } } else { if (yyaccept <= 5) { if (yyaccept <= 4) { goto yy172; } else { goto yy341; } } else { goto yy363; } } } else { if (yyaccept <= 10) { if (yyaccept <= 8) { if (yyaccept <= 7) { goto yy385; } else { goto yy420; } } else { if (yyaccept <= 9) { goto yy526; } else { goto yy620; } } } else { if (yyaccept <= 12) { if (yyaccept <= 11) { goto yy634; } else { goto yy775; } } else { goto yy784; } } } } else { if (yyaccept <= 20) { if (yyaccept <= 17) { if (yyaccept <= 15) { if (yyaccept <= 14) { goto yy880; } else { goto yy916; } } else { if (yyaccept <= 16) { goto yy943; } else { goto yy889; } } } else { if (yyaccept <= 19) { if (yyaccept <= 18) { goto yy1043; } else { goto yy937; } } else { goto yy1146; } } } else { if (yyaccept <= 23) { if (yyaccept <= 22) { if (yyaccept <= 21) { goto yy1154; } else { goto yy1200; } } else { goto yy1203; } } else { if (yyaccept <= 25) { if (yyaccept <= 24) { goto yy1279; } else { goto yy1287; } } else { goto yy1310; } } } } yy54: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == ' ') goto yy54; if (yych <= '/') goto yy53; if (yych <= '9') goto yy51; goto yy53; yy56: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy57: switch (yych) { case ' ': goto yy56; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': case 't': goto yy65; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; default: goto yy53; } yy58: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy120; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy120; if (yych == 'u') goto yy118; goto yy53; } } yy59: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy110; } else { if (yych == 'o') goto yy109; goto yy53; } } yy60: yych = *++YYCURSOR; if (yych == 'O') goto yy107; if (yych == 'o') goto yy107; goto yy53; yy61: yych = *++YYCURSOR; if (yych == 'A') goto yy106; if (yych == 'a') goto yy106; goto yy53; yy62: yych = *++YYCURSOR; if (yych == 'E') goto yy98; if (yych == 'e') goto yy98; goto yy53; yy63: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy83; } else { if (yych == 'r') goto yy82; goto yy53; } } yy64: yych = *++YYCURSOR; if (yych == 'E') goto yy79; if (yych == 'e') goto yy79; goto yy53; yy65: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy67; goto yy53; } } yy66: yych = *++YYCURSOR; if (yych == 'U') goto yy74; if (yych == 'u') goto yy74; goto yy53; yy67: yych = *++YYCURSOR; if (yych == 'E') goto yy68; if (yych != 'e') goto yy53; yy68: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy70; if (yych == 's') goto yy70; yy69: #line 1379 "parse_date.s.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 2406 "" yy70: yych = *++YYCURSOR; if (yych == 'D') goto yy71; if (yych != 'd') goto yy53; yy71: yych = *++YYCURSOR; if (yych == 'A') goto yy72; if (yych != 'a') goto yy53; yy72: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych != 'y') goto yy53; yy73: yych = *++YYCURSOR; goto yy69; yy74: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy75; if (yych != 'r') goto yy69; yy75: yych = *++YYCURSOR; if (yych == 'S') goto yy76; if (yych != 's') goto yy53; yy76: yych = *++YYCURSOR; if (yych == 'D') goto yy77; if (yych != 'd') goto yy53; yy77: yych = *++YYCURSOR; if (yych == 'A') goto yy78; if (yych != 'a') goto yy53; yy78: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy79: yych = *++YYCURSOR; if (yych == 'A') goto yy80; if (yych != 'a') goto yy53; yy80: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych != 'r') goto yy53; yy81: yych = *++YYCURSOR; if (yych == 'S') goto yy73; if (yych == 's') goto yy73; goto yy69; yy82: yych = *++YYCURSOR; if (yych == 'I') goto yy95; if (yych == 'i') goto yy95; goto yy53; yy83: yych = *++YYCURSOR; if (yych == 'R') goto yy84; if (yych != 'r') goto yy53; yy84: yych = *++YYCURSOR; if (yych == 'T') goto yy85; if (yych != 't') goto yy53; yy85: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy87; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy87; } else { if (yych != 'n') goto yy53; } } yych = *++YYCURSOR; if (yych == 'I') goto yy92; if (yych == 'i') goto yy92; goto yy53; yy87: yych = *++YYCURSOR; if (yych == 'N') goto yy88; if (yych != 'n') goto yy53; yy88: yych = *++YYCURSOR; if (yych == 'I') goto yy89; if (yych != 'i') goto yy53; yy89: yych = *++YYCURSOR; if (yych == 'G') goto yy90; if (yych != 'g') goto yy53; yy90: yych = *++YYCURSOR; if (yych == 'H') goto yy91; if (yych != 'h') goto yy53; yy91: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy92: yych = *++YYCURSOR; if (yych == 'G') goto yy93; if (yych != 'g') goto yy53; yy93: yych = *++YYCURSOR; if (yych == 'H') goto yy94; if (yych != 'h') goto yy53; yy94: yych = *++YYCURSOR; if (yych == 'T') goto yy81; if (yych == 't') goto yy81; goto yy53; yy95: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy96; if (yych != 'd') goto yy69; yy96: yych = *++YYCURSOR; if (yych == 'A') goto yy97; if (yych != 'a') goto yy53; yy97: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy98: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy100; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy100; if (yych >= 'f') goto yy53; } yych = *++YYCURSOR; if (yych == 'K') goto yy81; if (yych == 'k') goto yy81; goto yy53; yy100: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy101; if (yych != 'n') goto yy69; yy101: yych = *++YYCURSOR; if (yych == 'E') goto yy102; if (yych != 'e') goto yy53; yy102: yych = *++YYCURSOR; if (yych == 'S') goto yy103; if (yych != 's') goto yy53; yy103: yych = *++YYCURSOR; if (yych == 'D') goto yy104; if (yych != 'd') goto yy53; yy104: yych = *++YYCURSOR; if (yych == 'A') goto yy105; if (yych != 'a') goto yy53; yy105: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy106: yych = *++YYCURSOR; if (yych == 'Y') goto yy81; if (yych == 'y') goto yy81; goto yy53; yy107: yych = *++YYCURSOR; if (yych == 'U') goto yy108; if (yych != 'u') goto yy53; yy108: yych = *++YYCURSOR; if (yych == 'R') goto yy81; if (yych == 'r') goto yy81; goto yy53; yy109: yych = *++YYCURSOR; if (yych == 'N') goto yy114; if (yych == 'n') goto yy114; goto yy53; yy110: yych = *++YYCURSOR; if (yych == 'N') goto yy111; if (yych != 'n') goto yy53; yy111: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy73; if (yych <= 'T') goto yy69; } else { if (yych <= 's') { if (yych <= 'r') goto yy69; goto yy73; } else { if (yych != 'u') goto yy69; } } yych = *++YYCURSOR; if (yych == 'T') goto yy113; if (yych != 't') goto yy53; yy113: yych = *++YYCURSOR; if (yych == 'E') goto yy81; if (yych == 'e') goto yy81; goto yy53; yy114: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy115; if (yych <= 'S') goto yy69; goto yy116; } else { if (yych <= 'd') { if (yych <= 'c') goto yy69; } else { if (yych == 't') goto yy116; goto yy69; } } yy115: yych = *++YYCURSOR; if (yych == 'A') goto yy117; if (yych == 'a') goto yy117; goto yy53; yy116: yych = *++YYCURSOR; if (yych == 'H') goto yy81; if (yych == 'h') goto yy81; goto yy53; yy117: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy118: yych = *++YYCURSOR; if (yych == 'N') goto yy129; if (yych == 'n') goto yy129; goto yy53; yy119: yych = *++YYCURSOR; if (yych == 'T') goto yy124; if (yych == 't') goto yy124; goto yy53; yy120: yych = *++YYCURSOR; if (yych == 'C') goto yy121; if (yych != 'c') goto yy53; yy121: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy122; if (yych <= 'R') goto yy69; goto yy73; } else { if (yych <= 'o') { if (yych <= 'n') goto yy69; } else { if (yych == 's') goto yy73; goto yy69; } } yy122: yych = *++YYCURSOR; if (yych == 'N') goto yy123; if (yych != 'n') goto yy53; yy123: yych = *++YYCURSOR; if (yych == 'D') goto yy81; if (yych == 'd') goto yy81; goto yy53; yy124: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy125; if (yych != 'u') goto yy69; yy125: yych = *++YYCURSOR; if (yych == 'R') goto yy126; if (yych != 'r') goto yy53; yy126: yych = *++YYCURSOR; if (yych == 'D') goto yy127; if (yych != 'd') goto yy53; yy127: yych = *++YYCURSOR; if (yych == 'A') goto yy128; if (yych != 'a') goto yy53; yy128: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy129: yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy130; if (yych != 'd') goto yy69; yy130: yych = *++YYCURSOR; if (yych == 'A') goto yy131; if (yych != 'a') goto yy53; yy131: yych = *++YYCURSOR; if (yych == 'Y') goto yy73; if (yych == 'y') goto yy73; goto yy53; yy132: yych = *++YYCURSOR; goto yy3; yy133: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy134: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy135: yych = *++YYCURSOR; if (yych == ')') goto yy132; goto yy3; yy136: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy137: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych != '/') goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy138: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy53; if (yych >= '{') goto yy53; yy140: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy138; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy140; goto yy3; } yy142: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy143: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy144: if (yych <= '^') { if (yych == '/') goto yy138; goto yy53; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy143; goto yy53; } yy145: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Z') goto yy133; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy133; goto yy3; } yy146: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy148; case ':': goto yy149; default: goto yy3; } yy147: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': goto yy148; case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy148: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': goto yy150; case '6': case '7': case '8': case '9': goto yy151; case ':': goto yy149; default: goto yy3; } yy149: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy152; if (yych <= '9') goto yy132; goto yy3; yy150: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy151; default: goto yy3; } yy151: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy3; } yy152: yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy132; goto yy3; yy153: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy154; if (yych <= 'z') goto yy134; goto yy3; } } yy154: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy155; if (yych <= 'z') goto yy135; goto yy3; } } yy155: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy156; if (yych != 'i') goto yy3; } yy156: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy53; yy157: yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy53; yy158: yych = *++YYCURSOR; if (yych == 'S') goto yy159; if (yych != 's') goto yy53; yy159: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy160: switch (yych) { case ' ': goto yy159; case 'D': case 'd': goto yy164; case 'F': case 'f': goto yy166; case 'H': case 'h': goto yy163; case 'M': case 'm': goto yy162; case 'S': case 's': goto yy161; case 'T': case 't': goto yy168; case 'W': case 'w': goto yy165; case 'Y': case 'y': goto yy167; default: goto yy53; } yy161: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy53; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy53; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy222; goto yy53; } else { if (yych <= 'e') goto yy223; if (yych == 'u') goto yy221; goto yy53; } } yy162: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy53; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy53; goto yy213; } else { if (yych == 'o') goto yy212; goto yy53; } } yy163: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy210; goto yy53; yy164: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy209; goto yy53; yy165: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy201; goto yy53; yy166: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy53; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy53; goto yy186; } else { if (yych == 'r') goto yy185; goto yy53; } } yy167: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy182; goto yy53; yy168: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy53; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; } else { if (yych == 'u') goto yy170; goto yy53; } } yy169: yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy177; goto yy53; yy170: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy53; yy171: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy173; if (yych == 's') goto yy173; yy172: #line 1323 "parse_date.s.re" { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3242 "" yy173: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy53; yy174: yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy53; yy175: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy53; yy176: yych = *++YYCURSOR; goto yy172; yy177: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy178; if (yych != 'r') goto yy172; yy178: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy53; yy179: yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy53; yy180: yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy53; yy181: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy182: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy53; yy183: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy53; yy184: yych = *++YYCURSOR; if (yych == 'S') goto yy176; if (yych == 's') goto yy176; goto yy172; yy185: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych == 'i') goto yy198; goto yy53; yy186: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych != 'r') goto yy53; yy187: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy53; yy188: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy53; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy190; } else { if (yych != 'n') goto yy53; } } yy189: yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy195; goto yy53; yy190: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy53; yy191: yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy53; yy192: yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy53; yy193: yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy53; yy194: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy195: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy53; yy196: yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy53; yy197: yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy184; goto yy53; yy198: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy199; if (yych != 'd') goto yy172; yy199: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy53; yy200: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy201: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy53; if (yych <= 'D') goto yy203; } else { if (yych <= 'c') goto yy53; if (yych <= 'd') goto yy203; if (yych >= 'f') goto yy53; } yy202: yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy184; goto yy53; yy203: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy204; if (yych != 'n') goto yy172; yy204: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy53; yy205: yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy53; yy206: yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy53; yy207: yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy53; yy208: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy209: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy184; goto yy53; yy210: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy53; yy211: yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy184; goto yy53; yy212: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych == 'n') goto yy217; goto yy53; yy213: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych != 'n') goto yy53; yy214: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy176; if (yych <= 'T') goto yy172; } else { if (yych <= 's') { if (yych <= 'r') goto yy172; goto yy176; } else { if (yych != 'u') goto yy172; } } yy215: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy53; yy216: yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy184; goto yy53; yy217: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy218; if (yych <= 'S') goto yy172; goto yy219; } else { if (yych <= 'd') { if (yych <= 'c') goto yy172; } else { if (yych == 't') goto yy219; goto yy172; } } yy218: yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy220; goto yy53; yy219: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy184; goto yy53; yy220: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy221: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych == 'n') goto yy232; goto yy53; yy222: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy227; goto yy53; yy223: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych != 'c') goto yy53; yy224: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy225; if (yych <= 'R') goto yy172; goto yy176; } else { if (yych <= 'o') { if (yych <= 'n') goto yy172; } else { if (yych == 's') goto yy176; goto yy172; } } yy225: yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy53; yy226: yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy184; goto yy53; yy227: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy228; if (yych != 'u') goto yy172; yy228: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy53; yy229: yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy53; yy230: yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy53; yy231: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy232: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy233; if (yych != 'd') goto yy172; yy233: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy53; yy234: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy176; goto yy53; yy235: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy154; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy236; if (yych <= 'z') goto yy137; goto yy3; } } yy236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy155; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy237; if (yych <= 'z') goto yy142; goto yy3; } } yy237: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy156; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy238; if (yych <= 'z') goto yy143; goto yy3; } } yy238: yych = *++YYCURSOR; if (yych == 'O') goto yy157; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'U') goto yy158; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'S') goto yy159; goto yy53; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 's') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy241: yych = *++YYCURSOR; if (yych <= 'h') { if (yych <= '`') { if (yych <= '/') { if (yych <= '.') goto yy160; goto yy138; } else { if (yych == '_') goto yy138; goto yy160; } } else { if (yych <= 'e') { if (yych == 'd') goto yy245; goto yy143; } else { if (yych <= 'f') goto yy247; if (yych <= 'g') goto yy143; goto yy244; } } } else { if (yych <= 't') { if (yych <= 'm') { if (yych <= 'l') goto yy143; goto yy243; } else { if (yych <= 'r') goto yy143; if (yych >= 't') goto yy249; } } else { if (yych <= 'x') { if (yych == 'w') goto yy246; goto yy143; } else { if (yych <= 'y') goto yy248; if (yych <= 'z') goto yy143; goto yy160; } } } yy242: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy222; goto yy144; } else { if (yych <= 'E') goto yy223; if (yych <= 'T') goto yy144; goto yy221; } } else { if (yych <= 'd') { if (yych == 'a') goto yy301; goto yy144; } else { if (yych <= 'e') goto yy302; if (yych == 'u') goto yy303; goto yy144; } } yy243: yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy213; if (yych <= 'N') goto yy144; goto yy212; } else { if (yych <= 'i') { if (yych <= 'h') goto yy144; goto yy292; } else { if (yych == 'o') goto yy293; goto yy144; } } yy244: yych = *++YYCURSOR; if (yych == 'O') goto yy210; if (yych == 'o') goto yy290; goto yy144; yy245: yych = *++YYCURSOR; if (yych == 'A') goto yy209; if (yych == 'a') goto yy289; goto yy144; yy246: yych = *++YYCURSOR; if (yych == 'E') goto yy201; if (yych == 'e') goto yy281; goto yy144; yy247: yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy186; if (yych <= 'Q') goto yy144; goto yy185; } else { if (yych <= 'o') { if (yych <= 'n') goto yy144; goto yy265; } else { if (yych == 'r') goto yy266; goto yy144; } } yy248: yych = *++YYCURSOR; if (yych == 'E') goto yy182; if (yych == 'e') goto yy262; goto yy144; yy249: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy169; if (yych <= 'T') goto yy144; goto yy170; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; } else { if (yych == 'u') goto yy251; goto yy144; } } yych = *++YYCURSOR; if (yych == 'U') goto yy177; if (yych == 'u') goto yy257; goto yy144; yy251: yych = *++YYCURSOR; if (yych == 'E') goto yy171; if (yych != 'e') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy173; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy253; if (yych <= 'z') goto yy143; goto yy172; } } yy253: yych = *++YYCURSOR; if (yych == 'D') goto yy174; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy175; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych != 'y') goto yy144; yy256: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'z') goto yy143; goto yy172; } yy257: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'R') goto yy178; goto yy172; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'r') goto yy258; if (yych <= 'z') goto yy143; goto yy172; } } yy258: yych = *++YYCURSOR; if (yych == 'S') goto yy179; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy180; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy181; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy262: yych = *++YYCURSOR; if (yych == 'A') goto yy183; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych != 'r') goto yy144; yy264: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'r') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yy265: yych = *++YYCURSOR; if (yych == 'R') goto yy187; if (yych == 'r') goto yy270; goto yy144; yy266: yych = *++YYCURSOR; if (yych == 'I') goto yy198; if (yych != 'i') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy199; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy268; if (yych <= 'z') goto yy143; goto yy172; } } yy268: yych = *++YYCURSOR; if (yych == 'A') goto yy200; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy270: yych = *++YYCURSOR; if (yych == 'T') goto yy188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy190; if (yych <= 'M') goto yy144; goto yy189; } else { if (yych <= 'h') { if (yych <= 'g') goto yy144; goto yy273; } else { if (yych != 'n') goto yy144; } } yych = *++YYCURSOR; if (yych == 'I') goto yy195; if (yych == 'i') goto yy278; goto yy144; yy273: yych = *++YYCURSOR; if (yych == 'N') goto yy191; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'I') goto yy192; if (yych != 'i') goto yy144; yych = *++YYCURSOR; if (yych == 'G') goto yy193; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy194; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy278: yych = *++YYCURSOR; if (yych == 'G') goto yy196; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy197; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy184; if (yych == 't') goto yy264; goto yy144; yy281: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy144; if (yych <= 'D') goto yy203; goto yy202; } else { if (yych <= 'c') goto yy144; if (yych <= 'd') goto yy283; if (yych >= 'f') goto yy144; } yych = *++YYCURSOR; if (yych == 'K') goto yy184; if (yych == 'k') goto yy264; goto yy144; yy283: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'N') goto yy204; goto yy172; } } else { if (yych <= 'm') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'n') goto yy284; if (yych <= 'z') goto yy143; goto yy172; } } yy284: yych = *++YYCURSOR; if (yych == 'E') goto yy205; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych == 'S') goto yy206; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy207; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy208; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy289: yych = *++YYCURSOR; if (yych == 'Y') goto yy184; if (yych == 'y') goto yy264; goto yy144; yy290: yych = *++YYCURSOR; if (yych == 'U') goto yy211; if (yych != 'u') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy184; if (yych == 'r') goto yy264; goto yy144; yy292: yych = *++YYCURSOR; if (yych == 'N') goto yy214; if (yych == 'n') goto yy298; goto yy144; yy293: yych = *++YYCURSOR; if (yych == 'N') goto yy217; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'C') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'D') goto yy218; if (yych == 'T') goto yy219; goto yy172; } } else { if (yych <= 'd') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'c') goto yy143; } else { if (yych == 't') goto yy296; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'A') goto yy220; if (yych == 'a') goto yy297; goto yy144; yy296: yych = *++YYCURSOR; if (yych == 'H') goto yy184; if (yych == 'h') goto yy264; goto yy144; yy297: yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy298: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'R') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'S') goto yy176; if (yych == 'U') goto yy215; goto yy172; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'r') goto yy143; goto yy256; } else { if (yych == 'u') goto yy299; if (yych <= 'z') goto yy143; goto yy172; } } yy299: yych = *++YYCURSOR; if (yych == 'T') goto yy216; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy184; if (yych == 'e') goto yy264; goto yy144; yy301: yych = *++YYCURSOR; if (yych == 'T') goto yy227; if (yych == 't') goto yy310; goto yy144; yy302: yych = *++YYCURSOR; if (yych == 'C') goto yy224; if (yych == 'c') goto yy307; goto yy144; yy303: yych = *++YYCURSOR; if (yych == 'N') goto yy232; if (yych != 'n') goto yy144; yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'D') goto yy233; goto yy172; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'd') goto yy305; if (yych <= 'z') goto yy143; goto yy172; } } yy305: yych = *++YYCURSOR; if (yych == 'A') goto yy234; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy307: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= 'N') { if (yych == '/') goto yy138; goto yy172; } else { if (yych <= 'O') goto yy225; if (yych == 'S') goto yy176; goto yy172; } } else { if (yych <= 'o') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; if (yych <= 'n') goto yy143; } else { if (yych == 's') goto yy256; if (yych <= 'z') goto yy143; goto yy172; } } yych = *++YYCURSOR; if (yych == 'N') goto yy226; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy184; if (yych == 'd') goto yy264; goto yy144; yy310: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy172; goto yy138; } else { if (yych == 'U') goto yy228; goto yy172; } } else { if (yych <= 't') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy172; goto yy143; } else { if (yych <= 'u') goto yy311; if (yych <= 'z') goto yy143; goto yy172; } } yy311: yych = *++YYCURSOR; if (yych == 'R') goto yy229; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy230; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy231; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy176; if (yych == 'y') goto yy256; goto yy144; yy315: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy316; if (yych <= 'z') goto yy134; goto yy3; } } yy316: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy317: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy160; case ')': goto yy132; default: goto yy3; } yy318: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy316; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy319; if (yych <= 'z') goto yy137; goto yy3; } } yy319: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy320: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': goto yy160; case ')': goto yy132; case '/': case '_': goto yy138; case 'a': case 'b': case 'c': case 'e': case 'g': case 'i': case 'j': case 'k': case 'l': case 'n': case 'o': case 'p': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy143; case 'd': goto yy245; case 'f': goto yy247; case 'h': goto yy244; case 'm': goto yy243; case 's': goto yy242; case 't': goto yy249; case 'w': goto yy246; case 'y': goto yy248; default: goto yy3; } yy321: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy328; if (yych <= 'z') goto yy134; goto yy3; } } yy322: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy323; if (yych <= 'z') goto yy134; goto yy3; } } yy323: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'v') goto yy324; if (yych <= 'z') goto yy135; goto yy3; } } yy324: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy325; if (yych != 'e') goto yy3; } yy325: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy53; yy326: yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy53; yy327: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy328: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'h') goto yy329; if (yych <= 'z') goto yy135; goto yy3; } } yy329: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy330: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy328; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy337; if (yych <= 'z') goto yy137; goto yy3; } } yy331: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy323; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy332; if (yych <= 'z') goto yy137; goto yy3; } } yy332: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy135; goto yy324; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'v') goto yy333; if (yych <= 'z') goto yy142; goto yy3; } } yy333: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy325; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy334; if (yych <= 'z') goto yy143; goto yy3; } } yy334: yych = *++YYCURSOR; if (yych == 'N') goto yy326; if (yych != 'n') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy327; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy337: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy135; goto yy329; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy338; if (yych <= 'z') goto yy142; goto yy3; } } yy338: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy339: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy340; if (yych <= 'z') goto yy134; goto yy3; } } yy340: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { if (yych >= ')') goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych >= 'a') goto yy135; } else { if (yych <= 'n') goto yy342; if (yych <= 'z') goto yy135; } } yy341: #line 1307 "parse_date.s.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 4742 "" yy342: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy343; if (yych != 'e') goto yy3; } yy343: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy53; yy344: yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy53; yy345: yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy53; yy346: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy53; yy347: yych = *++YYCURSOR; goto yy341; yy348: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy340; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy349; if (yych <= 'z') goto yy137; goto yy3; } } yy349: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'M') goto yy135; goto yy342; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'n') goto yy350; if (yych <= 'z') goto yy142; goto yy341; } } yy350: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy343; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy351; if (yych <= 'z') goto yy143; goto yy3; } } yy351: yych = *++YYCURSOR; if (yych == 'S') goto yy344; if (yych != 's') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy345; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy346; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych != 'y') goto yy144; yy355: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy341; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy341; if (yych <= 'z') goto yy143; goto yy341; } yy356: yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'c') goto yy357; if (yych <= 'z') goto yy134; goto yy3; } } yy357: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'E') goto yy366; goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy366; if (yych <= 'z') goto yy135; goto yy3; } } } yy358: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17); yych = *YYCURSOR; yy359: if (yych <= '/') { if (yych <= 0x1F) goto yy53; if (yych <= '.') goto yy358; goto yy53; } else { if (yych <= '2') goto yy362; if (yych <= '3') goto yy364; if (yych <= '9') goto yy365; goto yy53; } yy360: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy3; if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; yy361: yych = *++YYCURSOR; if (yych <= '/') goto yy359; if (yych <= '0') goto yy440; if (yych <= '2') goto yy441; if (yych <= '3') goto yy442; goto yy359; yy362: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy439; if (yych <= '9') goto yy422; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy363: #line 1126 "parse_date.s.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 4981 "" yy364: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy422; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy365: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy370; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy366: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy367; if (yych != 'm') goto yy3; } yy367: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy53; yy368: yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy53; yy369: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy370: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy421; if (yych <= ':') goto yy383; goto yy363; } yy371: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy421; if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy372: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy418; if (yych <= ':') goto yy383; goto yy363; } yy373: yych = *++YYCURSOR; goto yy378; yy374: yych = *++YYCURSOR; goto yy378; yy375: yych = *++YYCURSOR; goto yy378; yy376: yych = *++YYCURSOR; goto yy378; yy377: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14); yych = *YYCURSOR; yy378: if (yych <= '2') { if (yych <= ',') { if (yych == ' ') goto yy377; if (yych <= '+') goto yy363; goto yy377; } else { if (yych <= '.') { if (yych <= '-') goto yy363; goto yy377; } else { if (yych <= '/') goto yy363; if (yych >= '2') goto yy380; } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych <= '9') goto yy381; goto yy363; } else { if (yych <= 'd') goto yy377; if (yych <= 'g') goto yy363; goto yy377; } } else { if (yych <= 'n') { if (yych <= 'm') goto yy363; goto yy377; } else { if (yych <= 'q') goto yy363; if (yych <= 't') goto yy377; goto yy363; } } } yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy417; if (yych <= ':') goto yy383; goto yy363; } yy380: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy417; if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy381: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy382; if (yych <= ':') goto yy383; goto yy363; } yy382: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych <= '9') goto yy415; goto yy363; yy383: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy384; if (yych <= '9') goto yy386; goto yy53; yy384: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; } else { if (yych <= '9') goto yy386; if (yych <= ':') goto yy387; } yy385: #line 1351 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 5216 "" yy386: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy387; if (yych != ':') goto yy385; yy387: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy388; if (yych <= '6') goto yy389; if (yych <= '9') goto yy390; goto yy53; yy388: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy391; goto yy385; yy389: yych = *++YYCURSOR; if (yych == '0') goto yy391; goto yy385; yy390: yych = *++YYCURSOR; goto yy385; yy391: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '+') { if (yych <= '\'') { if (yych != ' ') goto yy385; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy385; goto yy394; } } else { if (yych <= '@') { if (yych == '-') goto yy394; goto yy385; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy397; goto yy385; } } yy392: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '+') { if (yych <= '\'') { if (yych == ' ') goto yy392; goto yy53; } else { if (yych <= '(') goto yy395; if (yych <= '*') goto yy53; } } else { if (yych <= '@') { if (yych != '-') goto yy53; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; } } yy394: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy410; if (yych <= '2') goto yy411; if (yych <= '9') goto yy412; goto yy53; yy395: yych = *++YYCURSOR; if (yych <= '@') goto yy53; if (yych <= 'Z') goto yy397; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy397; goto yy53; yy396: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy401; goto yy385; } yy397: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy398; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy398: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy399; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy399: yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy390; goto yy385; } else { if (yych <= 'Z') goto yy400; if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } yy400: yych = *++YYCURSOR; if (yych == ')') goto yy390; goto yy385; yy401: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych == '/') goto yy403; goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy399; if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy385; goto yy390; } else { if (yych != '/') goto yy385; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy400; if (yych <= '^') goto yy385; } else { if (yych <= '`') goto yy385; if (yych <= 'z') goto yy407; goto yy385; } } yy403: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy53; if (yych >= '[') goto yy53; ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy53; if (yych >= '{') goto yy53; yy405: yyaccept = 7; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy385; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy405; goto yy385; } yy407: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy390; if (yych <= '.') goto yy385; goto yy403; } else { if (yych <= '_') { if (yych <= '^') goto yy385; goto yy403; } else { if (yych <= '`') goto yy385; if (yych >= '{') goto yy385; } } yy408: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy403; goto yy53; } else { if (yych <= '_') goto yy403; if (yych <= '`') goto yy53; if (yych <= 'z') goto yy408; goto yy53; } yy410: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy412; if (yych <= ':') goto yy413; goto yy385; yy411: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy385; if (yych >= '4') goto yy414; } else { if (yych <= '9') goto yy390; if (yych <= ':') goto yy413; goto yy385; } yy412: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; if (yych >= ';') goto yy385; yy413: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '5') goto yy414; if (yych <= '9') goto yy390; goto yy385; yy414: yych = *++YYCURSOR; if (yych <= '/') goto yy385; if (yych <= '9') goto yy390; goto yy385; yy415: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy416: yych = *++YYCURSOR; goto yy363; yy417: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy363; } yy418: yych = *++YYCURSOR; if (yych <= '/') goto yy363; if (yych >= ':') goto yy363; yy419: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy420; if (yych <= '9') goto yy416; yy420: #line 1100 "parse_date.s.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 5510 "" yy421: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy419; if (yych <= ':') goto yy383; goto yy363; } yy422: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych != '.') goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy423: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy378; if (yych <= '1') goto yy429; goto yy430; } else { if (yych <= '5') goto yy431; if (yych <= '9') goto yy432; goto yy378; } yy424: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy428; if (yych <= ':') goto yy383; goto yy363; } yy425: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '3') goto yy428; if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy426: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy363; } else { if (yych <= '9') goto yy427; if (yych <= ':') goto yy383; goto yy363; } yy427: yych = *++YYCURSOR; if (yych <= '/') goto yy420; if (yych <= '9') goto yy415; goto yy420; yy428: yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy383; goto yy420; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy383; goto yy420; } yy429: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy438; if (yych <= ':') goto yy433; goto yy363; } yy430: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '3') goto yy438; if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy431: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy437; if (yych <= ':') goto yy433; goto yy363; } yy432: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy363; } else { if (yych <= '9') goto yy382; if (yych >= ';') goto yy363; } yy433: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy434; if (yych <= '6') goto yy435; if (yych <= '9') goto yy386; goto yy53; yy434: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '9') goto yy436; if (yych <= ':') goto yy387; goto yy385; } yy435: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy385; } else { if (yych <= '0') goto yy391; if (yych == ':') goto yy387; goto yy385; } yy436: yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= '(') { if (yych == ' ') goto yy392; if (yych <= '\'') goto yy385; goto yy395; } else { if (yych == '+') goto yy394; if (yych <= ',') goto yy385; goto yy394; } } else { if (yych <= '@') { if (yych <= '.') goto yy387; if (yych == ':') goto yy387; goto yy385; } else { if (yych <= 'Z') goto yy396; if (yych <= '`') goto yy385; if (yych <= 'z') goto yy397; goto yy385; } } yy437: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy387; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy387; goto yy363; } yy438: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy433; goto yy363; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy433; goto yy363; } yy439: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= '/') { if (yych == '.') goto yy423; goto yy378; } else { if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; if (yych <= '9') goto yy426; goto yy383; } } else { if (yych <= 'q') { if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy440: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; if (yych <= '0') goto yy422; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy441: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; goto yy443; } else { if (yych <= '2') goto yy450; if (yych <= '9') goto yy443; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy442: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy378; } else { if (yych <= '2') goto yy371; if (yych <= '9') goto yy372; goto yy378; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy374; if (yych <= 'q') goto yy378; goto yy375; } else { if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy443: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych >= '.') goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy444: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy446; if (yych <= '9') goto yy447; yy446: #line 1238 "parse_date.s.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 5860 "" yy447: yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; if (yych <= '/') goto yy446; if (yych >= ':') goto yy446; yych = *++YYCURSOR; goto yy446; yy450: yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '.') { if (yych <= ',') goto yy378; if (yych <= '-') goto yy444; goto yy423; } else { if (yych <= '/') goto yy378; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy383; if (yych == 'n') goto yy374; goto yy378; } else { if (yych <= 'r') goto yy375; if (yych <= 's') goto yy373; if (yych <= 't') goto yy376; goto yy378; } } yy451: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'B') goto yy134; goto yy357; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'c') goto yy452; if (yych <= 'z') goto yy137; goto yy3; } } yy452: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy366; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy453; if (yych <= 'z') goto yy142; goto yy3; } } } yy453: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy367; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy454; if (yych <= 'z') goto yy143; goto yy3; } } yy454: yych = *++YYCURSOR; if (yych == 'B') goto yy368; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy369; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy457: yych = *++YYCURSOR; if (yych <= '^') { if (yych == '/') goto yy138; goto yy359; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy359; if (yych <= 'z') goto yy143; goto yy359; } yy458: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy459; if (yych <= 'z') goto yy134; goto yy3; } } yy459: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'O') goto yy135; } else { if (yych <= 'n') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy460; if (yych <= 'z') goto yy135; goto yy3; } } } yy460: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'B') goto yy461; if (yych != 'b') goto yy3; } yy461: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy53; yy462: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy463: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy459; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy464; if (yych <= 'z') goto yy137; goto yy3; } } yy464: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'O') { if (yych <= 'N') goto yy135; goto yy460; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'n') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'o') goto yy465; if (yych <= 'z') goto yy142; goto yy3; } } } yy465: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'A') goto yy3; goto yy461; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy466; if (yych <= 'z') goto yy143; goto yy3; } } yy466: yych = *++YYCURSOR; if (yych == 'E') goto yy462; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy468: yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') { if (yych <= 'C') goto yy483; goto yy134; } else { if (yych <= 'P') goto yy482; if (yych <= 'U') goto yy134; goto yy484; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych == 'c') goto yy483; goto yy134; } } else { if (yych <= 'u') { if (yych <= 'p') goto yy482; goto yy134; } else { if (yych <= 'v') goto yy484; if (yych <= 'z') goto yy134; goto yy3; } } } yy469: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 't') goto yy477; if (yych <= 'z') goto yy134; goto yy3; } } yy470: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy475; if (yych <= 'z') goto yy134; goto yy3; } } yy471: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy472; if (yych <= 'z') goto yy134; goto yy3; } } yy472: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy473; if (yych <= 'z') goto yy135; goto yy341; } } yy473: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy474; if (yych != 'a') goto yy3; } yy474: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy475: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy476; if (yych <= 'z') goto yy135; goto yy3; } } yy476: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy477: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'u') goto yy478; if (yych <= 'z') goto yy135; goto yy341; } } yy478: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy479; if (yych != 'r') goto yy3; } yy479: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy53; yy480: yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy53; yy481: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy482: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'T') goto yy490; goto yy135; } else { if (yych <= 's') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy490; if (yych <= 'z') goto yy135; goto yy3; } } } yy483: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy488; if (yych <= 'z') goto yy135; goto yy3; } } yy484: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy485; if (yych <= 'z') goto yy135; goto yy3; } } yy485: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy486; if (yych != 'n') goto yy3; } yy486: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy53; yy487: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy488: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'N') goto yy489; if (yych != 'n') goto yy3; } yy489: yych = *++YYCURSOR; if (yych == 'D') goto yy159; if (yych == 'd') goto yy159; goto yy53; yy490: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= 'D') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'E') goto yy491; if (yych != 'e') goto yy3; } } yy491: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy53; yy492: yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy53; yy493: yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy53; yy494: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy495: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= 'O') { if (yych == 'C') goto yy483; goto yy134; } else { if (yych <= 'P') goto yy482; if (yych <= 'U') goto yy134; goto yy484; } } } else { if (yych <= 'c') { if (yych <= '_') { if (yych <= 'Z') goto yy134; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'b') goto yy137; goto yy510; } } else { if (yych <= 'u') { if (yych == 'p') goto yy509; goto yy137; } else { if (yych <= 'v') goto yy511; if (yych <= 'z') goto yy137; goto yy3; } } } yy496: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy134; goto yy477; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy504; if (yych <= 'z') goto yy137; goto yy3; } } yy497: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy475; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy502; if (yych <= 'z') goto yy137; goto yy3; } } yy498: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy472; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy499; if (yych <= 'z') goto yy137; goto yy3; } } yy499: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy473; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy500; if (yych <= 'z') goto yy142; goto yy341; } } yy500: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy474; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy501; if (yych <= 'z') goto yy143; goto yy3; } } yy501: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy502: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy476; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy503; if (yych <= 'z') goto yy142; goto yy3; } } yy503: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy504: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'T') goto yy135; goto yy478; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'u') goto yy505; if (yych <= 'z') goto yy142; goto yy341; } } yy505: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy479; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy506; if (yych <= 'z') goto yy143; goto yy3; } } yy506: yych = *++YYCURSOR; if (yych == 'D') goto yy480; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy481; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy509: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'T') { if (yych <= 'S') goto yy135; goto yy490; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 's') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 't') goto yy517; if (yych <= 'z') goto yy142; goto yy3; } } } yy510: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy488; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy515; if (yych <= 'z') goto yy142; goto yy3; } } yy511: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy135; goto yy485; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy512; if (yych <= 'z') goto yy142; goto yy3; } } yy512: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy486; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy513; if (yych <= 'z') goto yy143; goto yy3; } } yy513: yych = *++YYCURSOR; if (yych == 'T') goto yy487; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy515: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'M') goto yy3; goto yy489; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy516; if (yych <= 'z') goto yy143; goto yy3; } } yy516: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'D') goto yy159; goto yy53; } } else { if (yych <= 'c') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy517: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy138; goto yy359; } } else { if (yych <= '_') { if (yych == 'E') goto yy491; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'e') goto yy518; if (yych <= 'z') goto yy143; goto yy3; } } } yy518: yych = *++YYCURSOR; if (yych == 'M') goto yy492; if (yych != 'm') goto yy144; yych = *++YYCURSOR; if (yych == 'B') goto yy493; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy494; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy522: yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'g') goto yy529; if (yych <= 'z') goto yy134; goto yy3; } } yy523: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'r') goto yy527; if (yych <= 'z') goto yy134; goto yy3; } } yy524: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'o') goto yy525; if (yych <= 'z') goto yy134; goto yy3; } } yy525: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy526; if (yych <= 'z') goto yy135; } yy526: #line 1292 "parse_date.s.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } #line 7149 "" yy527: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'I') goto yy135; } else { if (yych <= 'h') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'i') goto yy528; if (yych <= 'z') goto yy135; goto yy3; } } } yy528: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'L') goto yy358; if (yych == 'l') goto yy358; goto yy3; } yy529: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'U') goto yy135; } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy530; if (yych <= 'z') goto yy135; goto yy3; } } } yy530: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy531; if (yych != 's') goto yy3; } yy531: yych = *++YYCURSOR; if (yych == 'T') goto yy358; if (yych == 't') goto yy358; goto yy53; yy532: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy134; goto yy529; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'g') goto yy538; if (yych <= 'z') goto yy137; goto yy3; } } yy533: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy134; goto yy527; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy536; if (yych <= 'z') goto yy137; goto yy3; } } yy534: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy134; goto yy525; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy535; if (yych <= 'z') goto yy137; goto yy3; } } yy535: yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy526; goto yy132; } else { if (yych == '/') goto yy138; goto yy526; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy526; goto yy138; } else { if (yych <= '`') goto yy526; if (yych <= 'z') goto yy142; goto yy526; } } yy536: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'I') { if (yych <= 'H') goto yy135; goto yy528; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'h') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'i') goto yy537; if (yych <= 'z') goto yy142; goto yy3; } } } yy537: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'K') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy538: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'U') { if (yych <= 'T') goto yy135; goto yy530; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'u') goto yy539; if (yych <= 'z') goto yy142; goto yy3; } } } yy539: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy531; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy540; if (yych <= 'z') goto yy143; goto yy3; } } yy540: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'T') goto yy358; goto yy53; } } else { if (yych <= 's') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 't') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy541: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'b') goto yy555; if (yych <= 'z') goto yy134; goto yy3; } } yy542: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'F') goto yy552; if (yych <= 'Q') goto yy134; goto yy551; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy134; goto yy552; } else { if (yych == 'r') goto yy551; if (yych <= 'z') goto yy134; goto yy3; } } yy543: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'u') goto yy548; if (yych <= 'z') goto yy134; goto yy3; } } yy544: yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'i') goto yy545; if (yych <= 'z') goto yy134; goto yy3; } } yy545: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy546; if (yych <= 'z') goto yy135; goto yy341; } } yy546: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy547; if (yych != 'a') goto yy3; } yy547: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy548: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy549; if (yych <= 'z') goto yy135; goto yy3; } } yy549: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy550; if (yych != 't') goto yy3; } yy550: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy551: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 's') goto yy554; if (yych <= 'z') goto yy135; goto yy3; } } yy552: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy553; if (yych <= 'z') goto yy135; goto yy3; } } yy553: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy554: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'T') goto yy159; if (yych == 't') goto yy159; goto yy3; } yy555: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'R') goto yy135; } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy556; if (yych <= 'z') goto yy135; goto yy3; } } } yy556: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'U') goto yy557; if (yych != 'u') goto yy3; } yy557: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy53; yy558: yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy53; yy559: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy560: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy134; goto yy555; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'b') goto yy574; if (yych <= 'z') goto yy137; goto yy3; } } yy561: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'E') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'F') goto yy552; if (yych <= 'Q') goto yy134; goto yy551; } } } else { if (yych <= 'e') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'q') { if (yych <= 'f') goto yy571; goto yy137; } else { if (yych <= 'r') goto yy570; if (yych <= 'z') goto yy137; goto yy3; } } } yy562: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy134; goto yy548; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy567; if (yych <= 'z') goto yy137; goto yy3; } } yy563: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy545; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy564; if (yych <= 'z') goto yy137; goto yy3; } } yy564: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy546; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy565; if (yych <= 'z') goto yy142; goto yy341; } } yy565: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy547; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy566; if (yych <= 'z') goto yy143; goto yy3; } } yy566: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy567: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; goto yy549; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy568; if (yych <= 'z') goto yy142; goto yy3; } } yy568: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy550; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy569; if (yych <= 'z') goto yy143; goto yy3; } } yy569: yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy570: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy135; goto yy554; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy573; if (yych <= 'z') goto yy142; goto yy3; } } yy571: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy553; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy572; if (yych <= 'z') goto yy142; goto yy3; } } yy572: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy573: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'S') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy574: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'R') { if (yych <= 'Q') goto yy135; goto yy556; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'q') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'r') goto yy575; if (yych <= 'z') goto yy142; goto yy3; } } } yy575: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'T') goto yy3; goto yy557; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'u') goto yy576; if (yych <= 'z') goto yy143; goto yy3; } } yy576: yych = *++YYCURSOR; if (yych == 'A') goto yy558; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'R') goto yy559; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy579: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'L') goto yy586; if (yych <= 'M') goto yy134; goto yy585; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy134; goto yy586; } else { if (yych == 'n') goto yy585; if (yych <= 'z') goto yy134; goto yy3; } } yy580: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy581; if (yych <= 'z') goto yy134; goto yy3; } } yy581: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'U') goto yy135; } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'u') goto yy582; if (yych <= 'z') goto yy135; goto yy3; } } } yy582: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy583; if (yych != 'a') goto yy3; } yy583: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy53; yy584: yych = *++YYCURSOR; if (yych == 'Y') goto yy358; if (yych == 'y') goto yy358; goto yy53; yy585: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'E') goto yy587; goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy587; if (yych <= 'z') goto yy135; goto yy3; } } } yy586: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'Y') goto yy135; } else { if (yych <= 'x') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'y') goto yy587; if (yych <= 'z') goto yy135; goto yy3; } } } yy587: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } yy588: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'K') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'L') goto yy586; if (yych <= 'M') goto yy134; goto yy585; } } } else { if (yych <= 'k') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'm') { if (yych <= 'l') goto yy595; goto yy137; } else { if (yych <= 'n') goto yy594; if (yych <= 'z') goto yy137; goto yy3; } } } yy589: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy581; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy590; if (yych <= 'z') goto yy137; goto yy3; } } yy590: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'U') { if (yych <= 'T') goto yy135; goto yy582; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 't') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'u') goto yy591; if (yych <= 'z') goto yy142; goto yy3; } } } yy591: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy583; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy592; if (yych <= 'z') goto yy143; goto yy3; } } yy592: yych = *++YYCURSOR; if (yych == 'R') goto yy584; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'Y') goto yy358; goto yy53; } } else { if (yych <= 'x') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'y') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy594: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy596; if (yych <= 'z') goto yy142; goto yy3; } } } yy595: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'Y') { if (yych <= 'X') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'x') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'y') goto yy596; if (yych <= 'z') goto yy142; goto yy3; } } } yy596: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '_') { if (yych <= '9') goto yy359; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } yy597: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy598: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy135; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy599: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy135; goto yy587; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy601: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= 0x1F) goto yy3; goto yy359; } else { if (yych <= ')') goto yy360; if (yych <= '.') goto yy359; goto yy3; } } else { if (yych <= 'Z') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy602: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'I') { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy134; goto yy598; } else { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy134; goto yy3; } } yy603: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy604: switch (yych) { case ' ': goto yy603; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy624; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'P': case 'p': goto yy628; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy605: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy1137; if (yych == 'u') goto yy118; goto yy53; } } yy606: yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy1137; if (yych == 'U') goto yy118; goto yy53; } } else { if (yych <= 'e') { if (yych <= 'a') goto yy119; if (yych <= 'd') goto yy53; goto yy1137; } else { if (yych <= 's') goto yy53; if (yych <= 't') goto yy843; if (yych <= 'u') goto yy118; goto yy53; } } yy607: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy715; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy715; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy608: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy702; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy702; goto yy53; } } yy609: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy718; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy718; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy610: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy66; if (yych <= 'T') goto yy53; goto yy67; } else { if (yych <= 'h') { if (yych <= 'g') goto yy53; goto yy1136; } else { if (yych == 'u') goto yy67; goto yy53; } } yy611: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy851; goto yy57; yy612: yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy655; goto yy53; } else { if (yych <= 'd') goto yy843; if (yych == 'o') goto yy655; goto yy53; } yy613: yych = *++YYCURSOR; if (yych == 'd') goto yy843; goto yy53; yy614: yych = *++YYCURSOR; switch (yych) { case '0': case '1': case '2': goto yy783; case '3': goto yy785; case '4': case '5': case '6': case '7': case '8': case '9': goto yy786; case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy615: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy740; case 'D': case 'd': goto yy744; case 'F': case 'f': goto yy738; case 'J': case 'j': goto yy737; case 'M': case 'm': goto yy739; case 'N': case 'n': goto yy743; case 'O': case 'o': goto yy742; case 'S': case 's': goto yy741; default: goto yy617; } yy616: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy617: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy701; case 'F': case 'f': goto yy697; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy698; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy700; case 'V': goto yy621; case 'X': goto yy622; default: goto yy53; } yy618: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy693; goto yy694; } else { if (yych <= '5') goto yy695; if (yych <= '9') goto yy696; goto yy617; } yy619: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych >= ' ') goto yy657; } else { if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; } } else { if (yych <= 'V') { if (yych <= 'I') goto yy692; if (yych >= 'V') goto yy665; } else { if (yych == 'X') goto yy665; } } yy620: #line 1139 "parse_date.s.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 9035 "" yy621: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy690; goto yy620; } yy622: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy689; goto yy620; } yy623: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy682; if (yych <= 'T') goto yy53; goto yy681; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy682; } else { if (yych == 'u') goto yy681; goto yy53; } } yy624: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { if (yych == '.') goto yy629; goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'P') goto yy675; goto yy53; } } else { if (yych <= 'o') { if (yych <= 'U') goto yy674; if (yych == 'm') goto yy630; goto yy53; } else { if (yych <= 'p') goto yy675; if (yych == 'u') goto yy674; goto yy53; } } yy625: yych = *++YYCURSOR; if (yych == 'C') goto yy669; if (yych == 'c') goto yy669; goto yy53; yy626: yych = *++YYCURSOR; if (yych == 'O') goto yy655; if (yych == 'o') goto yy655; goto yy53; yy627: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy633; if (yych <= '9') goto yy635; goto yy53; yy628: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy630; if (yych == 'm') goto yy630; goto yy53; } yy629: yych = *++YYCURSOR; if (yych == 'M') goto yy630; if (yych != 'm') goto yy53; yy630: ++YYCURSOR; if ((yych = *YYCURSOR) == '.') goto yy632; yy631: #line 929 "parse_date.s.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 9146 "" yy632: yych = *++YYCURSOR; goto yy631; yy633: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy636; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; } yy634: #line 946 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 9183 "" yy635: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy636; if (yych != ':') goto yy634; yy636: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy637; if (yych <= '6') goto yy638; if (yych <= '9') goto yy639; goto yy53; yy637: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy643; goto yy634; yy638: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy643; goto yy634; yy639: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy634; yy640: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy641: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy634; if (yych <= '9') goto yy641; goto yy634; yy643: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '@') goto yy634; goto yy646; } } else { if (yych <= '`') { if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy644: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy644; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy646; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy646: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy648; if (yych == 'm') goto yy648; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy648; if (yych != 'm') goto yy53; yy648: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy649: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych != ' ') goto yy634; } else { if (yych <= '.') goto yy636; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy650: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= 'O') { if (yych <= ' ') { if (yych <= 0x1F) goto yy53; goto yy650; } else { if (yych != 'A') goto yy53; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy652; if (yych <= '`') goto yy53; } else { if (yych != 'p') goto yy53; } } yy652: yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy53; } else { if (yych <= 'M') goto yy654; if (yych == 'm') goto yy654; goto yy53; } yych = *++YYCURSOR; if (yych == 'M') goto yy654; if (yych != 'm') goto yy53; yy654: yych = *++YYCURSOR; if (yych == '.') goto yy632; goto yy631; yy655: yych = *++YYCURSOR; if (yych == 'V') goto yy656; if (yych != 'v') goto yy53; yy656: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy657: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy658: if (yych <= 0x1F) goto yy53; if (yych <= '.') goto yy657; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy659: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy660; if (yych <= '9') goto yy666; yy660: #line 1073 "parse_date.s.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 9385 "" yy661: yych = *++YYCURSOR; if (yych == 'M') goto yy662; if (yych != 'm') goto yy53; yy662: yych = *++YYCURSOR; if (yych == 'B') goto yy663; if (yych != 'b') goto yy53; yy663: yych = *++YYCURSOR; if (yych == 'E') goto yy664; if (yych != 'e') goto yy53; yy664: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych != 'r') goto yy53; yy665: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; yy666: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yy667: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych >= ':') goto yy660; yych = *++YYCURSOR; goto yy660; yy669: yych = *++YYCURSOR; if (yych == 'T') goto yy670; if (yych != 't') goto yy53; yy670: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'O') { if (yych <= 'N') goto yy620; } else { if (yych != 'o') goto yy620; } } yy671: yych = *++YYCURSOR; if (yych == 'B') goto yy672; if (yych != 'b') goto yy53; yy672: yych = *++YYCURSOR; if (yych == 'E') goto yy673; if (yych != 'e') goto yy53; yy673: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy674: yych = *++YYCURSOR; if (yych == 'G') goto yy678; if (yych == 'g') goto yy678; goto yy53; yy675: yych = *++YYCURSOR; if (yych == 'R') goto yy676; if (yych != 'r') goto yy53; yy676: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'I') { if (yych <= 'H') goto yy620; } else { if (yych != 'i') goto yy620; } } yy677: yych = *++YYCURSOR; if (yych == 'L') goto yy665; if (yych == 'l') goto yy665; goto yy53; yy678: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy679: yych = *++YYCURSOR; if (yych == 'S') goto yy680; if (yych != 's') goto yy53; yy680: yych = *++YYCURSOR; if (yych == 'T') goto yy665; if (yych == 't') goto yy665; goto yy53; yy681: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy688; if (yych <= 'M') goto yy53; goto yy687; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy688; } else { if (yych == 'n') goto yy687; goto yy53; } } yy682: yych = *++YYCURSOR; if (yych == 'N') goto yy683; if (yych != 'n') goto yy53; yy683: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'U') { if (yych <= 'T') goto yy620; } else { if (yych != 'u') goto yy620; } } yy684: yych = *++YYCURSOR; if (yych == 'A') goto yy685; if (yych != 'a') goto yy53; yy685: yych = *++YYCURSOR; if (yych == 'R') goto yy686; if (yych != 'r') goto yy53; yy686: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy687: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy688: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'Y') { if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy689: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy690: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych != 'I') goto yy620; } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy692: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; goto yy620; } else { if (yych <= '9') goto yy659; if (yych == 'I') goto yy665; goto yy620; } yy693: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy733; if (yych <= ':') goto yy636; goto yy634; } yy694: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '2') goto yy733; if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy695: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy724; goto yy634; } else { if (yych <= '9') goto yy649; if (yych <= ':') goto yy636; goto yy634; } yy696: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy724; if (yych == ':') goto yy636; goto yy634; yy697: yych = *++YYCURSOR; if (yych == 'E') goto yy718; if (yych == 'e') goto yy718; goto yy53; yy698: yych = *++YYCURSOR; if (yych == 'A') goto yy715; if (yych == 'a') goto yy715; goto yy53; yy699: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy675; if (yych <= 'T') goto yy53; goto yy674; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy675; } else { if (yych == 'u') goto yy674; goto yy53; } } yy700: yych = *++YYCURSOR; if (yych == 'E') goto yy708; if (yych == 'e') goto yy708; goto yy53; yy701: yych = *++YYCURSOR; if (yych == 'E') goto yy702; if (yych != 'e') goto yy53; yy702: yych = *++YYCURSOR; if (yych == 'C') goto yy703; if (yych != 'c') goto yy53; yy703: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy704: yych = *++YYCURSOR; if (yych == 'M') goto yy705; if (yych != 'm') goto yy53; yy705: yych = *++YYCURSOR; if (yych == 'B') goto yy706; if (yych != 'b') goto yy53; yy706: yych = *++YYCURSOR; if (yych == 'E') goto yy707; if (yych != 'e') goto yy53; yy707: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy708: yych = *++YYCURSOR; if (yych == 'P') goto yy709; if (yych != 'p') goto yy53; yy709: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'T') { if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'E') { if (yych <= 'D') goto yy620; } else { if (yych != 'e') goto yy620; } } yy711: yych = *++YYCURSOR; if (yych == 'M') goto yy712; if (yych != 'm') goto yy53; yy712: yych = *++YYCURSOR; if (yych == 'B') goto yy713; if (yych != 'b') goto yy53; yy713: yych = *++YYCURSOR; if (yych == 'E') goto yy714; if (yych != 'e') goto yy53; yy714: yych = *++YYCURSOR; if (yych == 'R') goto yy665; if (yych == 'r') goto yy665; goto yy53; yy715: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy716; if (yych <= 'X') goto yy53; goto yy665; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy665; goto yy53; } } yy716: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'C') { if (yych <= 'B') goto yy620; } else { if (yych != 'c') goto yy620; } } yy717: yych = *++YYCURSOR; if (yych == 'H') goto yy665; if (yych == 'h') goto yy665; goto yy53; yy718: yych = *++YYCURSOR; if (yych == 'B') goto yy719; if (yych != 'b') goto yy53; yy719: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= 0x1F) goto yy620; if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; goto yy659; } else { if (yych <= 'R') { if (yych <= 'Q') goto yy620; } else { if (yych != 'r') goto yy620; } } yy720: yych = *++YYCURSOR; if (yych == 'U') goto yy721; if (yych != 'u') goto yy53; yy721: yych = *++YYCURSOR; if (yych == 'A') goto yy722; if (yych != 'a') goto yy53; yy722: yych = *++YYCURSOR; if (yych == 'R') goto yy723; if (yych != 'r') goto yy53; yy723: yych = *++YYCURSOR; if (yych == 'Y') goto yy665; if (yych == 'y') goto yy665; goto yy53; yy724: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy725; if (yych <= '6') goto yy726; if (yych <= '9') goto yy727; goto yy53; yy725: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy732; goto yy634; yy726: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy732; if (yych <= '9') goto yy728; goto yy634; } yy727: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych >= ':') goto yy634; yy728: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy729; if (yych <= '9') goto yy730; yy729: #line 1087 "parse_date.s.re" { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 9910 "" yy730: yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych >= ':') goto yy729; yych = *++YYCURSOR; goto yy729; yy732: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy644; goto yy634; } else { if (yych <= '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy646; if (yych == 'P') goto yy646; goto yy634; } else { if (yych <= 'a') goto yy646; if (yych == 'p') goto yy646; goto yy634; } } yy733: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= '-') { if (yych == ' ') goto yy650; goto yy634; } else { if (yych <= '.') goto yy724; if (yych == ':') goto yy636; goto yy634; } } else { if (yych <= '`') { if (yych <= 'A') goto yy652; if (yych == 'P') goto yy652; goto yy634; } else { if (yych <= 'a') goto yy652; if (yych == 'p') goto yy652; goto yy634; } } yy734: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych <= '9') goto yy736; goto yy53; yy735: yych = *++YYCURSOR; if (yych == '-') goto yy773; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy736: yych = *++YYCURSOR; if (yych == '-') goto yy773; goto yy53; yy737: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy769; if (yych <= 'T') goto yy53; goto yy768; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy769; } else { if (yych == 'u') goto yy768; goto yy53; } } yy738: yych = *++YYCURSOR; if (yych == 'E') goto yy766; if (yych == 'e') goto yy766; goto yy53; yy739: yych = *++YYCURSOR; if (yych == 'A') goto yy763; if (yych == 'a') goto yy763; goto yy53; yy740: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy760; if (yych <= 'T') goto yy53; goto yy759; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy760; } else { if (yych == 'u') goto yy759; goto yy53; } } yy741: yych = *++YYCURSOR; if (yych == 'E') goto yy756; if (yych == 'e') goto yy756; goto yy53; yy742: yych = *++YYCURSOR; if (yych == 'C') goto yy754; if (yych == 'c') goto yy754; goto yy53; yy743: yych = *++YYCURSOR; if (yych == 'O') goto yy752; if (yych == 'o') goto yy752; goto yy53; yy744: yych = *++YYCURSOR; if (yych == 'E') goto yy745; if (yych != 'e') goto yy53; yy745: yych = *++YYCURSOR; if (yych == 'C') goto yy746; if (yych != 'c') goto yy53; yy746: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy704; } else { if (yych == 'e') goto yy704; goto yy620; } } yy747: yych = *++YYCURSOR; if (yych <= '/') goto yy658; if (yych <= '0') goto yy748; if (yych <= '2') goto yy749; if (yych <= '3') goto yy750; goto yy658; yy748: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '0') goto yy666; if (yych <= '9') goto yy751; goto yy660; yy749: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy751; goto yy660; yy750: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '1') goto yy751; if (yych <= '9') goto yy666; goto yy660; yy751: yych = *++YYCURSOR; if (yych <= '/') goto yy660; if (yych <= '9') goto yy667; goto yy660; yy752: yych = *++YYCURSOR; if (yych == 'V') goto yy753; if (yych != 'v') goto yy53; yy753: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy661; } else { if (yych == 'e') goto yy661; goto yy620; } } yy754: yych = *++YYCURSOR; if (yych == 'T') goto yy755; if (yych != 't') goto yy53; yy755: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'O') { if (yych <= '9') goto yy659; if (yych <= 'N') goto yy620; goto yy671; } else { if (yych == 'o') goto yy671; goto yy620; } } yy756: yych = *++YYCURSOR; if (yych == 'P') goto yy757; if (yych != 'p') goto yy53; yy757: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'T') { if (yych <= '9') goto yy659; if (yych <= 'S') goto yy620; } else { if (yych != 't') goto yy620; } } yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy711; } else { if (yych == 'e') goto yy711; goto yy620; } } yy759: yych = *++YYCURSOR; if (yych == 'G') goto yy762; if (yych == 'g') goto yy762; goto yy53; yy760: yych = *++YYCURSOR; if (yych == 'R') goto yy761; if (yych != 'r') goto yy53; yy761: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'I') { if (yych <= '9') goto yy659; if (yych <= 'H') goto yy620; goto yy677; } else { if (yych == 'i') goto yy677; goto yy620; } } yy762: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy679; } else { if (yych == 'u') goto yy679; goto yy620; } } yy763: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy764; if (yych <= 'X') goto yy53; goto yy765; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy765; goto yy53; } } yy764: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'C') { if (yych <= '9') goto yy659; if (yych <= 'B') goto yy620; goto yy717; } else { if (yych == 'c') goto yy717; goto yy620; } } yy765: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) goto yy620; if (yych <= ',') goto yy657; goto yy747; } else { if (yych <= '.') goto yy657; if (yych <= '/') goto yy620; if (yych <= '9') goto yy659; goto yy620; } yy766: yych = *++YYCURSOR; if (yych == 'B') goto yy767; if (yych != 'b') goto yy53; yy767: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'R') { if (yych <= '9') goto yy659; if (yych <= 'Q') goto yy620; goto yy720; } else { if (yych == 'r') goto yy720; goto yy620; } } yy768: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy772; if (yych <= 'M') goto yy53; goto yy771; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy772; } else { if (yych == 'n') goto yy771; goto yy53; } } yy769: yych = *++YYCURSOR; if (yych == 'N') goto yy770; if (yych != 'n') goto yy53; yy770: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'U') { if (yych <= '9') goto yy659; if (yych <= 'T') goto yy620; goto yy684; } else { if (yych == 'u') goto yy684; goto yy620; } } yy771: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'E') { if (yych <= '9') goto yy659; if (yych <= 'D') goto yy620; goto yy665; } else { if (yych == 'e') goto yy665; goto yy620; } } yy772: yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') { if (yych <= 0x1F) goto yy620; goto yy657; } else { if (yych <= '-') goto yy747; if (yych <= '.') goto yy657; goto yy620; } } else { if (yych <= 'Y') { if (yych <= '9') goto yy659; if (yych <= 'X') goto yy620; goto yy665; } else { if (yych == 'y') goto yy665; goto yy620; } } yy773: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy774; if (yych <= '3') goto yy776; if (yych <= '9') goto yy777; goto yy53; yy774: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '9') goto yy777; if (yych >= 'n') goto yy779; } else { if (yych <= 'r') { if (yych >= 'r') goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; } } yy775: #line 1060 "parse_date.s.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 10438 "" yy776: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy775; if (yych <= '1') goto yy777; if (yych <= 'm') goto yy775; goto yy779; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy780; } else { if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } } yy777: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy779; goto yy775; } else { if (yych <= 'r') goto yy780; if (yych <= 's') goto yy778; if (yych <= 't') goto yy781; goto yy775; } yy778: yych = *++YYCURSOR; if (yych == 't') goto yy782; goto yy53; yy779: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy780: yych = *++YYCURSOR; if (yych == 'd') goto yy782; goto yy53; yy781: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy782: yych = *++YYCURSOR; goto yy775; yy783: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych >= '/') goto yy837; } else { if (yych <= '9') goto yy786; if (yych >= 'n') goto yy834; } } else { if (yych <= 'r') { if (yych >= 'r') goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; } } yy784: #line 1033 "parse_date.s.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 10520 "" yy785: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych <= '.') goto yy784; goto yy837; } else { if (yych <= '1') goto yy786; if (yych <= 'm') goto yy784; goto yy834; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy786: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy837; if (yych <= 'm') goto yy784; goto yy834; } else { if (yych <= 'r') { if (yych <= 'q') goto yy784; goto yy835; } else { if (yych <= 's') goto yy833; if (yych <= 't') goto yy836; goto yy784; } } yy787: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy832; if (yych <= 'T') goto yy53; goto yy831; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy832; } else { if (yych == 'u') goto yy831; goto yy53; } } yy788: yych = *++YYCURSOR; if (yych == 'E') goto yy830; if (yych == 'e') goto yy830; goto yy53; yy789: yych = *++YYCURSOR; if (yych == 'A') goto yy829; if (yych == 'a') goto yy829; goto yy53; yy790: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy828; if (yych <= 'T') goto yy53; goto yy827; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy828; } else { if (yych == 'u') goto yy827; goto yy53; } } yy791: yych = *++YYCURSOR; if (yych == 'E') goto yy825; if (yych == 'e') goto yy825; goto yy53; yy792: yych = *++YYCURSOR; if (yych == 'C') goto yy824; if (yych == 'c') goto yy824; goto yy53; yy793: yych = *++YYCURSOR; if (yych == 'O') goto yy823; if (yych == 'o') goto yy823; goto yy53; yy794: yych = *++YYCURSOR; if (yych == 'E') goto yy795; if (yych != 'e') goto yy53; yy795: yych = *++YYCURSOR; if (yych == 'C') goto yy796; if (yych != 'c') goto yy53; yy796: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy797: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy803; if (yych <= '2') goto yy804; goto yy53; yy803: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy805; goto yy53; yy804: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy805: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy810; if (yych <= '6') goto yy811; goto yy53; yy810: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy812; goto yy53; yy811: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy812: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yy813: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= '*') { if (yych == ' ') goto yy813; goto yy53; } else { if (yych == ',') goto yy53; if (yych >= '.') goto yy53; } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy816; if (yych <= '2') goto yy818; if (yych <= '9') goto yy819; goto yy53; yy816: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy817; if (yych <= '9') goto yy819; if (yych <= ':') goto yy820; yy817: #line 1264 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } #line 10723 "" yy818: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy817; if (yych >= '4') goto yy821; } else { if (yych <= '9') goto yy822; if (yych <= ':') goto yy820; goto yy817; } yy819: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; if (yych >= ';') goto yy817; yy820: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych <= '5') goto yy821; if (yych <= '9') goto yy822; goto yy817; yy821: yych = *++YYCURSOR; if (yych <= '/') goto yy817; if (yych >= ':') goto yy817; yy822: yych = *++YYCURSOR; goto yy817; yy823: yych = *++YYCURSOR; if (yych == 'V') goto yy796; if (yych == 'v') goto yy796; goto yy53; yy824: yych = *++YYCURSOR; if (yych == 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; yy825: yych = *++YYCURSOR; if (yych == 'P') goto yy826; if (yych != 'p') goto yy53; yy826: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy797; goto yy53; } else { if (yych <= 'T') goto yy796; if (yych == 't') goto yy796; goto yy53; } yy827: yych = *++YYCURSOR; if (yych == 'G') goto yy796; if (yych == 'g') goto yy796; goto yy53; yy828: yych = *++YYCURSOR; if (yych == 'R') goto yy796; if (yych == 'r') goto yy796; goto yy53; yy829: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy796; if (yych <= 'X') goto yy53; goto yy796; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy796; } else { if (yych == 'y') goto yy796; goto yy53; } } yy830: yych = *++YYCURSOR; if (yych == 'B') goto yy796; if (yych == 'b') goto yy796; goto yy53; yy831: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy796; if (yych <= 'M') goto yy53; goto yy796; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy796; } else { if (yych == 'n') goto yy796; goto yy53; } } yy832: yych = *++YYCURSOR; if (yych == 'N') goto yy796; if (yych == 'n') goto yy796; goto yy53; yy833: yych = *++YYCURSOR; if (yych == 't') goto yy842; goto yy53; yy834: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy835: yych = *++YYCURSOR; if (yych == 'd') goto yy842; goto yy53; yy836: yych = *++YYCURSOR; if (yych == 'h') goto yy842; goto yy53; yy837: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; if (yych <= '/') goto yy784; if (yych >= ':') goto yy784; yych = *++YYCURSOR; goto yy784; yy842: yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy837; goto yy784; yy843: yych = *++YYCURSOR; if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych >= '0') goto yy617; yy844: yych = *++YYCURSOR; switch (yych) { case 'A': case 'a': goto yy790; case 'D': case 'd': goto yy794; case 'F': case 'f': goto yy788; case 'J': case 'j': goto yy787; case 'M': case 'm': goto yy789; case 'N': case 'n': goto yy793; case 'O': case 'o': goto yy792; case 'S': case 's': goto yy791; default: goto yy53; } yy845: yych = *++YYCURSOR; if (yych <= '/') goto yy617; if (yych <= '0') goto yy846; if (yych <= '1') goto yy847; if (yych <= '9') goto yy848; goto yy617; yy846: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych <= '9') goto yy848; goto yy53; yy847: yych = *++YYCURSOR; if (yych == '.') goto yy849; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy848: yych = *++YYCURSOR; if (yych != '.') goto yy53; yy849: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy729; if (yych <= '9') goto yy728; goto yy729; yy851: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych <= '9') goto yy879; goto yy57; yy852: yych = *++YYCURSOR; switch (yych) { case '0': goto yy734; case '1': goto yy735; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy736; case 'A': case 'a': goto yy856; case 'D': case 'd': goto yy860; case 'F': case 'f': goto yy854; case 'J': case 'j': goto yy853; case 'M': case 'm': goto yy855; case 'N': case 'n': goto yy859; case 'O': case 'o': goto yy858; case 'S': case 's': goto yy857; default: goto yy53; } yy853: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy878; if (yych <= 'T') goto yy53; goto yy877; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy878; } else { if (yych == 'u') goto yy877; goto yy53; } } yy854: yych = *++YYCURSOR; if (yych == 'E') goto yy876; if (yych == 'e') goto yy876; goto yy53; yy855: yych = *++YYCURSOR; if (yych == 'A') goto yy875; if (yych == 'a') goto yy875; goto yy53; yy856: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy874; if (yych <= 'T') goto yy53; goto yy873; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy874; } else { if (yych == 'u') goto yy873; goto yy53; } } yy857: yych = *++YYCURSOR; if (yych == 'E') goto yy871; if (yych == 'e') goto yy871; goto yy53; yy858: yych = *++YYCURSOR; if (yych == 'C') goto yy870; if (yych == 'c') goto yy870; goto yy53; yy859: yych = *++YYCURSOR; if (yych == 'O') goto yy869; if (yych == 'o') goto yy869; goto yy53; yy860: yych = *++YYCURSOR; if (yych == 'E') goto yy861; if (yych != 'e') goto yy53; yy861: yych = *++YYCURSOR; if (yych == 'C') goto yy862; if (yych != 'c') goto yy53; yy862: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy863: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy864; if (yych <= '2') goto yy865; if (yych <= '3') goto yy866; goto yy53; yy864: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy865: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy867; goto yy53; yy866: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy867: ++YYCURSOR; #line 1251 "parse_date.s.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 11056 "" yy869: yych = *++YYCURSOR; if (yych == 'V') goto yy862; if (yych == 'v') goto yy862; goto yy53; yy870: yych = *++YYCURSOR; if (yych == 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; yy871: yych = *++YYCURSOR; if (yych == 'P') goto yy872; if (yych != 'p') goto yy53; yy872: yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy863; goto yy53; } else { if (yych <= 'T') goto yy862; if (yych == 't') goto yy862; goto yy53; } yy873: yych = *++YYCURSOR; if (yych == 'G') goto yy862; if (yych == 'g') goto yy862; goto yy53; yy874: yych = *++YYCURSOR; if (yych == 'R') goto yy862; if (yych == 'r') goto yy862; goto yy53; yy875: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy862; if (yych <= 'X') goto yy53; goto yy862; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; goto yy862; } else { if (yych == 'y') goto yy862; goto yy53; } } yy876: yych = *++YYCURSOR; if (yych == 'B') goto yy862; if (yych == 'b') goto yy862; goto yy53; yy877: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy862; if (yych <= 'M') goto yy53; goto yy862; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy862; } else { if (yych == 'n') goto yy862; goto yy53; } } yy878: yych = *++YYCURSOR; if (yych == 'N') goto yy862; if (yych == 'n') goto yy862; goto yy53; yy879: yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy900; case '1': goto yy901; case '2': goto yy903; case '3': goto yy904; case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy880; } yy880: #line 1283 "parse_date.s.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 11200 "" yy881: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1065; case '1': goto yy1066; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1067; case 'A': case 'a': goto yy1060; case 'D': case 'd': goto yy1064; case 'F': case 'f': goto yy1058; case 'J': case 'j': goto yy1057; case 'M': case 'm': goto yy1059; case 'N': case 'n': goto yy1063; case 'O': case 'o': goto yy1062; case 'S': case 's': goto yy1061; default: goto yy886; } yy882: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1038; if (yych <= '1') goto yy1039; if (yych <= '9') goto yy1040; goto yy53; yy883: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy884: switch (yych) { case ' ': goto yy883; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy899; case 'F': case 'f': goto yy893; case 'H': case 'h': goto yy60; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy894; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy896; case 'T': case 't': goto yy65; case 'V': goto yy890; case 'W': case 'w': goto yy62; case 'X': goto yy891; case 'Y': case 'y': goto yy64; default: goto yy53; } yy885: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy886: switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy885; case 'A': case 'a': goto yy895; case 'D': case 'd': goto yy1030; case 'F': case 'f': goto yy1027; case 'I': goto yy888; case 'J': case 'j': goto yy892; case 'M': case 'm': goto yy1028; case 'N': case 'n': goto yy898; case 'O': case 'o': goto yy897; case 'S': case 's': goto yy1029; case 'V': goto yy890; case 'X': goto yy891; default: goto yy53; } yy887: yych = *++YYCURSOR; if (yych <= '/') goto yy886; if (yych <= '0') goto yy1024; if (yych <= '2') goto yy1025; if (yych <= '3') goto yy1026; goto yy886; yy888: ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy1023; } else { if (yych == 'W') goto yy889; if (yych <= 'X') goto yy977; } yy889: #line 1113 "parse_date.s.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 11359 "" yy890: yych = *++YYCURSOR; if (yych == 'I') goto yy1021; goto yy889; yy891: yych = *++YYCURSOR; if (yych == 'I') goto yy1020; goto yy889; yy892: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1013; if (yych <= 'T') goto yy53; goto yy1012; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1013; } else { if (yych == 'u') goto yy1012; goto yy53; } } yy893: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy1006; goto yy53; } else { if (yych <= 'O') goto yy83; if (yych <= 'Q') goto yy53; goto yy82; } } else { if (yych <= 'n') { if (yych == 'e') goto yy1006; goto yy53; } else { if (yych <= 'o') goto yy83; if (yych == 'r') goto yy82; goto yy53; } } yy894: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy1003; goto yy53; } else { if (yych <= 'I') goto yy110; if (yych <= 'N') goto yy53; goto yy109; } } else { if (yych <= 'h') { if (yych == 'a') goto yy1003; goto yy53; } else { if (yych <= 'i') goto yy110; if (yych == 'o') goto yy109; goto yy53; } } yy895: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy997; if (yych <= 'T') goto yy53; goto yy996; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy997; } else { if (yych == 'u') goto yy996; goto yy53; } } yy896: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy119; goto yy53; } else { if (yych <= 'E') goto yy989; if (yych <= 'T') goto yy53; goto yy118; } } else { if (yych <= 'd') { if (yych == 'a') goto yy119; goto yy53; } else { if (yych <= 'e') goto yy989; if (yych == 'u') goto yy118; goto yy53; } } yy897: yych = *++YYCURSOR; if (yych == 'C') goto yy984; if (yych == 'c') goto yy984; goto yy53; yy898: yych = *++YYCURSOR; if (yych == 'O') goto yy978; if (yych == 'o') goto yy978; goto yy53; yy899: yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy106; if (yych <= 'D') goto yy53; goto yy971; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy106; } else { if (yych == 'e') goto yy971; goto yy53; } } yy900: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy969; if (yych <= '9') goto yy970; goto yy57; yy901: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy938; if (yych <= '9') goto yy917; goto yy57; yy902: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy918; if (yych <= '1') goto yy919; goto yy53; yy903: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy917; goto yy57; yy904: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy913; if (yych <= '6') goto yy914; if (yych <= '9') goto yy51; goto yy57; yy905: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '0') goto yy906; if (yych <= '4') goto yy907; goto yy908; } else { if (yych <= 'E') { if (yych <= 'D') goto yy53; goto yy98; } else { if (yych == 'e') goto yy98; goto yy53; } } yy906: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy907: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy909; goto yy53; yy908: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy909: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy910; if (yych <= '7') goto yy911; yy910: #line 1219 "parse_date.s.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11569 "" yy911: ++YYCURSOR; #line 1200 "parse_date.s.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 11590 "" yy913: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy914: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '6') goto yy915; if (yych <= '9') goto yy51; goto yy57; yy915: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy916; } yy916: #line 1187 "parse_date.s.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 11648 "" yy917: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy915; goto yy57; yy918: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy920; goto yy53; yy919: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '3') goto yy53; yy920: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy922; if (yych <= '2') goto yy923; if (yych <= '3') goto yy924; goto yy53; yy922: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy923: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy925; goto yy53; yy924: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '2') goto yy53; yy925: yych = *++YYCURSOR; if (yych != ' ') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy927; if (yych <= '2') goto yy928; goto yy53; yy927: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy929; goto yy53; yy928: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '4') goto yy53; yy929: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy934; if (yych <= '6') goto yy935; goto yy53; yy934: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy935: yych = *++YYCURSOR; if (yych != '0') goto yy53; yy936: ++YYCURSOR; yy937: #line 1163 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 11753 "" yy938: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych >= '1') goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy939: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy940: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy942; default: goto yy916; } yy941: yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': goto yy942; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy916; } yy942: yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': goto yy56; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; case 'D': case 'd': goto yy61; case 'F': case 'f': goto yy63; case 'H': case 'h': goto yy60; case 'M': case 'm': goto yy59; case 'S': case 's': goto yy58; case 'T': goto yy944; case 'W': case 'w': goto yy62; case 'Y': case 'y': goto yy64; case 't': goto yy945; default: goto yy943; } yy943: #line 1151 "parse_date.s.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 11908 "" yy944: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych <= '1') goto yy959; goto yy960; } else { if (yych <= '9') goto yy961; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yy945: yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '2') goto yy947; } else { if (yych <= '9') goto yy948; if (yych <= 'G') goto yy53; goto yy66; } } else { if (yych <= 'g') { if (yych == 'U') goto yy67; goto yy53; } else { if (yych <= 'h') goto yy66; if (yych == 'u') goto yy67; goto yy53; } } yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy953; if (yych <= '9') goto yy948; goto yy53; yy947: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy953; if (yych <= '5') goto yy949; goto yy53; yy948: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yy949: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy950: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy951: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy952: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy953: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; goto yy53; yy954: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy955; if (yych <= '6') goto yy956; if (yych <= '9') goto yy950; goto yy53; yy955: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy957; if (yych <= '6') goto yy958; if (yych <= '9') goto yy936; goto yy53; yy956: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy957; if (yych <= '5') goto yy951; if (yych <= '6') goto yy952; goto yy53; yy957: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy958: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy959: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy968; if (yych <= '9') goto yy961; if (yych <= ':') goto yy962; goto yy53; yy960: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy53; if (yych <= '3') goto yy968; goto yy949; } else { if (yych == ':') goto yy962; goto yy53; } yy961: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy949; if (yych != ':') goto yy53; yy962: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= '6') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy966; if (yych <= '6') goto yy967; goto yy53; yy966: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy936; goto yy53; yy967: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy53; yy968: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy954; if (yych <= '9') goto yy950; if (yych <= ':') goto yy962; goto yy53; yy969: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy51; if (yych <= '9') goto yy915; goto yy57; yy970: yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy57; if (yych <= '0') goto yy939; goto yy940; } else { if (yych <= '3') goto yy941; if (yych <= '9') goto yy915; goto yy57; } yy971: yych = *++YYCURSOR; if (yych == 'C') goto yy972; if (yych != 'c') goto yy53; yy972: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy973; if (yych != 'e') goto yy889; yy973: yych = *++YYCURSOR; if (yych == 'M') goto yy974; if (yych != 'm') goto yy53; yy974: yych = *++YYCURSOR; if (yych == 'B') goto yy975; if (yych != 'b') goto yy53; yy975: yych = *++YYCURSOR; if (yych == 'E') goto yy976; if (yych != 'e') goto yy53; yy976: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych != 'r') goto yy53; yy977: yych = *++YYCURSOR; goto yy889; yy978: yych = *++YYCURSOR; if (yych == 'V') goto yy979; if (yych != 'v') goto yy53; yy979: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy980; if (yych != 'e') goto yy889; yy980: yych = *++YYCURSOR; if (yych == 'M') goto yy981; if (yych != 'm') goto yy53; yy981: yych = *++YYCURSOR; if (yych == 'B') goto yy982; if (yych != 'b') goto yy53; yy982: yych = *++YYCURSOR; if (yych == 'E') goto yy983; if (yych != 'e') goto yy53; yy983: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy984: yych = *++YYCURSOR; if (yych == 'T') goto yy985; if (yych != 't') goto yy53; yy985: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy986; if (yych != 'o') goto yy889; yy986: yych = *++YYCURSOR; if (yych == 'B') goto yy987; if (yych != 'b') goto yy53; yy987: yych = *++YYCURSOR; if (yych == 'E') goto yy988; if (yych != 'e') goto yy53; yy988: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy989: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych != 'p') goto yy53; } } yy990: yych = *++YYCURSOR; if (yych == 'T') goto yy991; if (yych != 't') goto yy889; yy991: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy992; if (yych != 'e') goto yy889; yy992: yych = *++YYCURSOR; if (yych == 'M') goto yy993; if (yych != 'm') goto yy53; yy993: yych = *++YYCURSOR; if (yych == 'B') goto yy994; if (yych != 'b') goto yy53; yy994: yych = *++YYCURSOR; if (yych == 'E') goto yy995; if (yych != 'e') goto yy53; yy995: yych = *++YYCURSOR; if (yych == 'R') goto yy977; if (yych == 'r') goto yy977; goto yy53; yy996: yych = *++YYCURSOR; if (yych == 'G') goto yy1000; if (yych == 'g') goto yy1000; goto yy53; yy997: yych = *++YYCURSOR; if (yych == 'R') goto yy998; if (yych != 'r') goto yy53; yy998: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy999; if (yych != 'i') goto yy889; yy999: yych = *++YYCURSOR; if (yych == 'L') goto yy977; if (yych == 'l') goto yy977; goto yy53; yy1000: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1001; if (yych != 'u') goto yy889; yy1001: yych = *++YYCURSOR; if (yych == 'S') goto yy1002; if (yych != 's') goto yy53; yy1002: yych = *++YYCURSOR; if (yych == 'T') goto yy977; if (yych == 't') goto yy977; goto yy53; yy1003: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1004; if (yych <= 'X') goto yy53; goto yy977; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy977; goto yy53; } } yy1004: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1005; if (yych != 'c') goto yy889; yy1005: yych = *++YYCURSOR; if (yych == 'H') goto yy977; if (yych == 'h') goto yy977; goto yy53; yy1006: yych = *++YYCURSOR; if (yych == 'B') goto yy1007; if (yych != 'b') goto yy53; yy1007: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1008; if (yych != 'r') goto yy889; yy1008: yych = *++YYCURSOR; if (yych == 'U') goto yy1009; if (yych != 'u') goto yy53; yy1009: yych = *++YYCURSOR; if (yych == 'A') goto yy1010; if (yych != 'a') goto yy53; yy1010: yych = *++YYCURSOR; if (yych == 'R') goto yy1011; if (yych != 'r') goto yy53; yy1011: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1012: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1019; if (yych <= 'M') goto yy53; goto yy1018; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1019; } else { if (yych == 'n') goto yy1018; goto yy53; } } yy1013: yych = *++YYCURSOR; if (yych == 'N') goto yy1014; if (yych != 'n') goto yy53; yy1014: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1015; if (yych != 'u') goto yy889; yy1015: yych = *++YYCURSOR; if (yych == 'A') goto yy1016; if (yych != 'a') goto yy53; yy1016: yych = *++YYCURSOR; if (yych == 'R') goto yy1017; if (yych != 'r') goto yy53; yy1017: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy53; yy1018: yych = *++YYCURSOR; if (yych == 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; yy1019: yych = *++YYCURSOR; if (yych == 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; yy1020: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1021: yych = *++YYCURSOR; if (yych != 'I') goto yy889; yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1023: yych = *++YYCURSOR; if (yych == 'I') goto yy977; goto yy889; yy1024: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '0') goto yy1037; if (yych <= '9') goto yy1036; goto yy53; yy1025: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1035; goto yy53; yy1026: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1033; if (yych <= '6') goto yy1032; goto yy53; yy1027: yych = *++YYCURSOR; if (yych == 'E') goto yy1006; if (yych == 'e') goto yy1006; goto yy53; yy1028: yych = *++YYCURSOR; if (yych == 'A') goto yy1003; if (yych == 'a') goto yy1003; goto yy53; yy1029: yych = *++YYCURSOR; if (yych == 'E') goto yy1031; if (yych == 'e') goto yy1031; goto yy53; yy1030: yych = *++YYCURSOR; if (yych == 'E') goto yy971; if (yych == 'e') goto yy971; goto yy53; yy1031: yych = *++YYCURSOR; if (yych == 'P') goto yy990; if (yych == 'p') goto yy990; goto yy53; yy1032: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '6') goto yy1034; goto yy53; yy1033: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1034: yych = *++YYCURSOR; goto yy916; yy1035: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1036: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1037: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych <= '9') goto yy1034; goto yy53; yy1038: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '0') goto yy1040; if (yych <= '9') goto yy1051; goto yy53; yy1039: yych = *++YYCURSOR; if (yych <= '.') goto yy53; if (yych <= '/') goto yy1041; if (yych <= '2') goto yy1051; goto yy53; yy1040: yych = *++YYCURSOR; if (yych != '/') goto yy53; yy1041: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1042; if (yych <= '3') goto yy1044; if (yych <= '9') goto yy1045; goto yy53; yy1042: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1045; if (yych >= 'n') goto yy1047; } else { if (yych <= 'r') { if (yych >= 'r') goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; } } yy1043: #line 1048 "parse_date.s.re" { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 12469 "" yy1044: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1045; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1045: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1047; goto yy1043; } else { if (yych <= 'r') goto yy1048; if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } yy1046: yych = *++YYCURSOR; if (yych == 't') goto yy1050; goto yy53; yy1047: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1048: yych = *++YYCURSOR; if (yych == 'd') goto yy1050; goto yy53; yy1049: yych = *++YYCURSOR; if (yych != 'h') goto yy53; yy1050: yych = *++YYCURSOR; goto yy1043; yy1051: yych = *++YYCURSOR; if (yych != '/') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1054; } else { if (yych <= '3') goto yy1055; if (yych <= '9') goto yy1045; goto yy53; } yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '0') { if (yych <= '/') goto yy1043; goto yy1045; } else { if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1054: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '9') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1055: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy1043; if (yych <= '1') goto yy1056; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1056: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy1050; if (yych <= 'm') goto yy1043; goto yy1047; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1048; } else { if (yych <= 's') goto yy1046; if (yych <= 't') goto yy1049; goto yy1043; } } yy1057: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1132; if (yych <= 'T') goto yy53; goto yy1131; } else { if (yych <= 'a') { if (yych <= '`') goto yy53; goto yy1132; } else { if (yych == 'u') goto yy1131; goto yy53; } } yy1058: yych = *++YYCURSOR; if (yych == 'E') goto yy1129; if (yych == 'e') goto yy1129; goto yy53; yy1059: yych = *++YYCURSOR; if (yych == 'A') goto yy1126; if (yych == 'a') goto yy1126; goto yy53; yy1060: yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1123; if (yych <= 'T') goto yy53; goto yy1122; } else { if (yych <= 'p') { if (yych <= 'o') goto yy53; goto yy1123; } else { if (yych == 'u') goto yy1122; goto yy53; } } yy1061: yych = *++YYCURSOR; if (yych == 'E') goto yy1119; if (yych == 'e') goto yy1119; goto yy53; yy1062: yych = *++YYCURSOR; if (yych == 'C') goto yy1117; if (yych == 'c') goto yy1117; goto yy53; yy1063: yych = *++YYCURSOR; if (yych == 'O') goto yy1115; if (yych == 'o') goto yy1115; goto yy53; yy1064: yych = *++YYCURSOR; if (yych == 'E') goto yy1113; if (yych == 'e') goto yy1113; goto yy53; yy1065: yych = *++YYCURSOR; if (yych <= '/') { if (yych == '-') goto yy1068; goto yy53; } else { if (yych <= '0') goto yy1067; if (yych <= '9') goto yy1087; goto yy53; } yy1066: yych = *++YYCURSOR; if (yych == '-') goto yy1068; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1087; goto yy53; yy1067: yych = *++YYCURSOR; if (yych != '-') goto yy53; yy1068: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '2') goto yy1069; if (yych <= '3') goto yy1070; if (yych <= '9') goto yy1071; goto yy53; yy1069: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1071; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1070: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1071: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1076; if (yych <= 'm') goto yy775; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1072: yych = *++YYCURSOR; if (yych == 't') goto yy1086; goto yy53; yy1073: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1074: yych = *++YYCURSOR; if (yych == 'd') goto yy1086; goto yy53; yy1075: yych = *++YYCURSOR; if (yych == 'h') goto yy1086; goto yy53; yy1076: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1077; if (yych <= '2') goto yy1078; if (yych <= '9') goto yy1079; goto yy53; yy1077: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1079; if (yych <= ':') goto yy1080; goto yy53; yy1078: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1079; if (yych == ':') goto yy1080; goto yy53; yy1079: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1080: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1081; if (yych <= '9') goto yy1082; goto yy53; yy1081: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1082; if (yych <= ':') goto yy1083; goto yy53; yy1082: yych = *++YYCURSOR; if (yych != ':') goto yy53; yy1083: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1084; if (yych <= '6') goto yy1085; if (yych <= '9') goto yy936; goto yy53; yy1084: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1085: yych = *++YYCURSOR; if (yych == '0') goto yy936; goto yy937; yy1086: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1076; goto yy775; yy1087: yych = *++YYCURSOR; if (yych != '-') goto yy53; yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy53; if (yych >= '1') goto yy1090; } else { if (yych <= '3') goto yy1091; if (yych <= '9') goto yy1071; goto yy53; } yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; if (yych <= '0') goto yy1071; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1090: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy775; goto yy1092; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1091: yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy775; } else { if (yych == 'T') goto yy1076; goto yy775; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1073; if (yych <= 'q') goto yy775; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy775; } } yy1092: yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1093; if (yych <= 'm') goto yy1043; goto yy1073; } else { if (yych <= 'r') { if (yych <= 'q') goto yy1043; goto yy1074; } else { if (yych <= 's') goto yy1072; if (yych <= 't') goto yy1075; goto yy1043; } } yy1093: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1094; if (yych <= '2') goto yy1095; if (yych <= '9') goto yy1079; goto yy53; yy1094: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1096; if (yych <= ':') goto yy1080; goto yy53; yy1095: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '3') goto yy1096; if (yych == ':') goto yy1080; goto yy53; yy1096: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1098; if (yych <= '9') goto yy1082; goto yy53; yy1098: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '9') goto yy1099; if (yych <= ':') goto yy1083; goto yy53; yy1099: yych = *++YYCURSOR; if (yych != ':') goto yy53; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1101; if (yych <= '6') goto yy1102; if (yych <= '9') goto yy936; goto yy53; yy1101: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1103; goto yy937; yy1102: yych = *++YYCURSOR; if (yych != '0') goto yy937; yy1103: yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy937; yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych >= ':') goto yy53; yy1105: yyaccept = 19; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6); yych = *YYCURSOR; if (yych <= ',') { if (yych != '+') goto yy937; } else { if (yych <= '-') goto yy1107; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1105; goto yy937; } yy1107: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '1') goto yy1108; if (yych <= '2') goto yy1109; if (yych <= '9') goto yy1110; goto yy53; yy1108: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy1110; if (yych <= ':') goto yy1111; goto yy937; yy1109: yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy937; if (yych >= '4') goto yy1112; } else { if (yych <= '9') goto yy936; if (yych <= ':') goto yy1111; goto yy937; } yy1110: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; if (yych >= ';') goto yy937; yy1111: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '5') goto yy1112; if (yych <= '9') goto yy936; goto yy937; yy1112: yych = *++YYCURSOR; if (yych <= '/') goto yy937; if (yych <= '9') goto yy936; goto yy937; yy1113: yych = *++YYCURSOR; if (yych == 'C') goto yy1114; if (yych != 'c') goto yy53; yy1114: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy973; if (yych == 'e') goto yy973; goto yy889; } yy1115: yych = *++YYCURSOR; if (yych == 'V') goto yy1116; if (yych != 'v') goto yy53; yy1116: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy980; if (yych == 'e') goto yy980; goto yy889; } yy1117: yych = *++YYCURSOR; if (yych == 'T') goto yy1118; if (yych != 't') goto yy53; yy1118: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'O') goto yy986; if (yych == 'o') goto yy986; goto yy889; } yy1119: yych = *++YYCURSOR; if (yych == 'P') goto yy1120; if (yych != 'p') goto yy53; yy1120: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'T') goto yy1121; if (yych != 't') goto yy889; } yy1121: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy992; if (yych == 'e') goto yy992; goto yy889; } yy1122: yych = *++YYCURSOR; if (yych == 'G') goto yy1125; if (yych == 'g') goto yy1125; goto yy53; yy1123: yych = *++YYCURSOR; if (yych == 'R') goto yy1124; if (yych != 'r') goto yy53; yy1124: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'I') goto yy999; if (yych == 'i') goto yy999; goto yy889; } yy1125: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1001; if (yych == 'u') goto yy1001; goto yy889; } yy1126: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1127; if (yych <= 'X') goto yy53; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy53; } else { if (yych == 'y') goto yy1128; goto yy53; } } yy1127: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'C') goto yy1005; if (yych == 'c') goto yy1005; goto yy889; } yy1128: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy863; goto yy889; yy1129: yych = *++YYCURSOR; if (yych == 'B') goto yy1130; if (yych != 'b') goto yy53; yy1130: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'R') goto yy1008; if (yych == 'r') goto yy1008; goto yy889; } yy1131: yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1135; if (yych <= 'M') goto yy53; goto yy1134; } else { if (yych <= 'l') { if (yych <= 'k') goto yy53; goto yy1135; } else { if (yych == 'n') goto yy1134; goto yy53; } } yy1132: yych = *++YYCURSOR; if (yych == 'N') goto yy1133; if (yych != 'n') goto yy53; yy1133: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'U') goto yy1015; if (yych == 'u') goto yy1015; goto yy889; } yy1134: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'E') goto yy977; if (yych == 'e') goto yy977; goto yy889; } yy1135: yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy863; goto yy889; } else { if (yych <= 'Y') goto yy977; if (yych == 'y') goto yy977; goto yy889; } yy1136: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= '-') goto yy617; if (yych <= '.') goto yy845; if (yych <= '/') goto yy844; goto yy617; } else { if (yych <= 'U') goto yy74; if (yych == 'u') goto yy74; goto yy617; } yy1137: yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy121; if (yych <= 'O') goto yy53; goto yy709; } else { if (yych <= 'c') { if (yych <= 'b') goto yy53; goto yy121; } else { if (yych == 'p') goto yy709; goto yy53; } } yy1138: yych = *++YYCURSOR; if (yych <= 'm') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy845; } else { if (yych <= '/') goto yy844; if (yych <= '9') goto yy851; goto yy1140; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy612; if (yych <= 'q') goto yy1140; goto yy613; } else { if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1139: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1140: switch (yych) { case ' ': goto yy1139; case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case '-': case '.': goto yy616; case 'A': case 'a': goto yy699; case 'D': case 'd': goto yy608; case 'F': case 'f': goto yy609; case 'H': case 'h': goto yy60; case 'I': goto yy619; case 'J': case 'j': goto yy623; case 'M': case 'm': goto yy607; case 'N': case 'n': goto yy626; case 'O': case 'o': goto yy625; case 'S': case 's': goto yy605; case 'T': case 't': goto yy65; case 'V': goto yy621; case 'W': case 'w': goto yy62; case 'X': goto yy622; case 'Y': case 'y': goto yy64; default: goto yy53; } yy1141: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; } else { if (yych <= '/') goto yy844; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1142: yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy617; if (yych <= '0') goto yy1166; goto yy1167; } else { if (yych <= '5') goto yy1168; if (yych <= '9') goto yy1169; goto yy617; } yy1143: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1161; if (yych <= '9') goto yy1162; goto yy53; yy1144: yych = *++YYCURSOR; if (yych == '-') goto yy852; if (yych <= '/') goto yy57; if (yych >= ':') goto yy57; yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case '!': case '"': case '#': case '$': case '%': case '&': case '\'': case '(': case ')': case '*': case '+': case ',': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy884; case '-': goto yy881; case '.': goto yy887; case '/': goto yy882; case '0': goto yy1147; case '1': goto yy1148; case '2': goto yy1149; case '3': goto yy1150; case '4': case '5': goto yy1151; case '6': goto yy1152; case '7': case '8': case '9': goto yy51; case ':': goto yy902; case 'W': goto yy905; default: goto yy1146; } yy1146: #line 970 "parse_date.s.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 13452 "" yy1147: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1159; if (yych <= '9') goto yy1160; goto yy57; yy1148: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '2') goto yy1158; if (yych <= '9') goto yy1157; goto yy57; yy1149: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1157; goto yy57; yy1150: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '5') goto yy1155; if (yych <= '6') goto yy1156; if (yych <= '9') goto yy1153; goto yy57; yy1151: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '9') goto yy1153; goto yy57; yy1152: yych = *++YYCURSOR; if (yych <= '/') goto yy57; if (yych <= '0') goto yy1153; if (yych <= '9') goto yy51; goto yy57; yy1153: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy51; default: goto yy1154; } yy1154: #line 1015 "parse_date.s.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 13539 "" yy1155: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1156: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': goto yy915; case '7': case '8': case '9': goto yy51; default: goto yy1154; } yy1157: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1158: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1159: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy51; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1160: yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case ' ': case 'D': case 'F': case 'H': case 'M': case 'S': case 'T': case 'W': case 'Y': case 'd': case 'f': case 'h': case 'm': case 's': case 't': case 'w': case 'y': goto yy57; case '0': goto yy939; case '1': case '2': goto yy940; case '3': goto yy941; case '4': case '5': case '6': case '7': case '8': case '9': goto yy915; default: goto yy1154; } yy1161: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1163; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1162: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1163; if (yych != ':') goto yy634; yy1163: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1164; if (yych <= '6') goto yy1165; if (yych <= '9') goto yy639; goto yy53; yy1164: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy639; goto yy634; yy1165: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych == '0') goto yy639; goto yy634; yy1166: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1169; if (yych <= ':') goto yy1163; goto yy634; } yy1167: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '2') goto yy1169; if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1168: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1170; goto yy634; } else { if (yych <= '9') goto yy1162; if (yych <= ':') goto yy1163; goto yy634; } yy1169: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1170; if (yych == ':') goto yy1163; goto yy634; yy1170: yych = *++YYCURSOR; if (yych <= '/') goto yy53; if (yych <= '5') goto yy1171; if (yych <= '6') goto yy1172; if (yych <= '9') goto yy727; goto yy53; yy1171: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy1173; goto yy634; yy1172: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy640; goto yy634; } else { if (yych <= '0') goto yy1173; if (yych <= '9') goto yy728; goto yy634; } yy1173: yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy640; if (yych <= '/') goto yy634; if (yych <= '9') goto yy730; goto yy634; yy1174: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy604; if (yych <= '-') goto yy615; goto yy618; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy627; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy604; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy604; } } yy1175: yych = *++YYCURSOR; if (yych <= ':') { if (yych <= '.') { if (yych <= ',') goto yy1140; if (yych <= '-') goto yy615; goto yy1142; } else { if (yych <= '/') goto yy614; if (yych <= '5') goto yy1144; if (yych <= '9') goto yy851; goto yy1143; } } else { if (yych <= 'q') { if (yych == 'n') goto yy612; goto yy1140; } else { if (yych <= 'r') goto yy613; if (yych <= 's') goto yy606; if (yych <= 't') goto yy610; goto yy1140; } } yy1176: yych = *++YYCURSOR; if (yych <= '0') goto yy53; if (yych >= ':') goto yy53; yy1177: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '/') goto yy1179; if (yych <= '9') goto yy1177; yy1179: #line 905 "parse_date.s.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 13928 "" yy1180: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1211; if (yych <= 'z') goto yy134; goto yy3; } } yy1181: yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'I') goto yy1205; if (yych <= 'T') goto yy134; goto yy1204; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy134; goto yy1205; } else { if (yych == 'u') goto yy1204; if (yych <= 'z') goto yy134; goto yy3; } } yy1182: yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'D') goto yy1193; if (yych <= 'L') goto yy134; goto yy1194; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy134; goto yy1193; } else { if (yych == 'm') goto yy1194; if (yych <= 'z') goto yy134; goto yy3; } } yy1183: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1189; if (yych <= 'z') goto yy134; goto yy3; } } yy1184: yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'e') goto yy1185; if (yych <= 'z') goto yy134; goto yy3; } } yy1185: yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'l') goto yy1186; if (yych <= 'z') goto yy135; goto yy3; } } yy1186: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'F') goto yy1187; if (yych != 'f') goto yy3; } yy1187: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy53; yy1188: yych = *++YYCURSOR; if (yych == 'H') goto yy159; if (yych == 'h') goto yy159; goto yy53; yy1189: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 's') goto yy1190; if (yych <= 'z') goto yy135; goto yy341; } } yy1190: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy1191; if (yych != 'd') goto yy3; } yy1191: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy53; yy1192: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1193: yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy1201; } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= 'a') goto yy1201; if (yych <= 'z') goto yy135; goto yy3; } } yy1194: yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'o') goto yy1195; if (yych <= 'z') goto yy135; goto yy3; } } yy1195: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'R') goto yy1196; if (yych != 'r') goto yy3; } yy1196: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy53; yy1197: yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy53; yy1198: yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy53; yy1199: ++YYCURSOR; yy1200: #line 893 "parse_date.s.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14193 "" yy1201: yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Y') goto yy1202; if (yych != 'y') goto yy3; } yy1202: ++YYCURSOR; yy1203: #line 883 "parse_date.s.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 14215 "" yy1204: yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'r') goto yy1207; if (yych <= 'z') goto yy135; goto yy341; } } yy1205: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'Q') goto yy135; if (yych >= 'S') goto yy317; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'r') goto yy1206; if (yych <= 's') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1206: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'D') goto yy159; if (yych == 'd') goto yy159; goto yy3; } yy1207: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'S') goto yy1208; if (yych != 's') goto yy3; } yy1208: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy53; yy1209: yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy53; yy1210: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1211: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1212; if (yych <= 'z') goto yy135; goto yy3; } } yy1212: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1213: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1211; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1242; if (yych <= 'z') goto yy137; goto yy3; } } yy1214: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'I') goto yy1205; if (yych <= 'T') goto yy134; goto yy1204; } } } else { if (yych <= 'h') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 't') { if (yych <= 'i') goto yy1236; goto yy137; } else { if (yych <= 'u') goto yy1235; if (yych <= 'z') goto yy137; goto yy3; } } } yy1215: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'C') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'D') goto yy1193; if (yych <= 'L') goto yy134; goto yy1194; } } } else { if (yych <= 'c') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'l') { if (yych <= 'd') goto yy1226; goto yy137; } else { if (yych <= 'm') goto yy1227; if (yych <= 'z') goto yy137; goto yy3; } } } yy1216: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1189; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1222; if (yych <= 'z') goto yy137; goto yy3; } } yy1217: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy134; goto yy1185; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1218; if (yych <= 'z') goto yy137; goto yy3; } } yy1218: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy135; goto yy1186; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'l') goto yy1219; if (yych <= 'z') goto yy142; goto yy3; } } yy1219: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'E') goto yy3; goto yy1187; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'f') goto yy1220; if (yych <= 'z') goto yy143; goto yy3; } } yy1220: yych = *++YYCURSOR; if (yych == 'T') goto yy1188; if (yych != 't') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'H') goto yy159; goto yy53; } } else { if (yych <= 'g') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy53; } } yy1222: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'R') goto yy135; goto yy1190; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 's') goto yy1223; if (yych <= 'z') goto yy142; goto yy341; } } yy1223: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy1191; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1224; if (yych <= 'z') goto yy143; goto yy3; } } yy1224: yych = *++YYCURSOR; if (yych == 'A') goto yy1192; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1226: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1201; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1233; if (yych <= 'z') goto yy142; goto yy3; } } yy1227: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy135; goto yy1195; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'o') goto yy1228; if (yych <= 'z') goto yy142; goto yy3; } } yy1228: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'Q') goto yy3; goto yy1196; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'r') goto yy1229; if (yych <= 'z') goto yy143; goto yy3; } } yy1229: yych = *++YYCURSOR; if (yych == 'R') goto yy1197; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'O') goto yy1198; if (yych != 'o') goto yy144; yych = *++YYCURSOR; if (yych == 'W') goto yy1199; if (yych != 'w') goto yy144; yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1200; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1200; if (yych <= 'z') goto yy143; goto yy1200; } yy1233: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'X') goto yy3; goto yy1202; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'y') goto yy1234; if (yych <= 'z') goto yy143; goto yy3; } } yy1234: yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1203; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1203; if (yych <= 'z') goto yy143; goto yy1203; } yy1235: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'Q') goto yy135; goto yy1207; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'r') goto yy1238; if (yych <= 'z') goto yy142; goto yy341; } } yy1236: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy135; if (yych <= 'R') goto yy1206; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'r') { if (yych <= 'q') goto yy142; } else { if (yych <= 's') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } } yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'C') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1238: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'R') goto yy3; goto yy1208; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1239; if (yych <= 'z') goto yy143; goto yy3; } } yy1239: yych = *++YYCURSOR; if (yych == 'D') goto yy1209; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1210; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1242: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1212; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1243; if (yych <= 'z') goto yy142; goto yy3; } } yy1243: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1244: yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych == 'R') goto yy1255; if (yych <= 'X') goto yy134; goto yy1256; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy134; goto yy1255; } else { if (yych == 'y') goto yy1256; if (yych <= 'z') goto yy134; goto yy3; } } yy1245: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'd') goto yy1250; if (yych <= 'z') goto yy134; goto yy3; } } yy1246: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1247; if (yych <= 'z') goto yy134; goto yy3; } } yy1247: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy341; goto yy132; } else { if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy341; goto yy135; } else { if (yych <= 'd') goto yy1248; if (yych <= 'z') goto yy135; goto yy341; } } yy1248: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'A') goto yy1249; if (yych != 'a') goto yy3; } yy1249: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy347; goto yy53; yy1250: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1251; if (yych <= 'z') goto yy135; goto yy3; } } yy1251: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'I') goto yy1252; if (yych != 'i') goto yy3; } yy1252: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy53; yy1253: yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy53; yy1254: yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1202; goto yy53; yy1255: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych == 'C') goto yy1257; goto yy135; } else { if (yych <= 'b') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'c') goto yy1257; if (yych <= 'z') goto yy135; goto yy3; } } } yy1256: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; goto yy359; } } else { if (yych <= '@') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy359; goto yy3; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy135; goto yy3; } } yy1257: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy358; if (yych == 'h') goto yy358; goto yy3; } yy1258: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy3; goto yy138; } else { if (yych <= 'Q') { if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'R') goto yy1255; if (yych <= 'X') goto yy134; goto yy1256; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'x') { if (yych <= 'r') goto yy1269; goto yy137; } else { if (yych <= 'y') goto yy1270; if (yych <= 'z') goto yy137; goto yy3; } } } yy1259: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy134; goto yy1250; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'd') goto yy1264; if (yych <= 'z') goto yy137; goto yy3; } } yy1260: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1247; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1261; if (yych <= 'z') goto yy137; goto yy3; } } yy1261: yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy341; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy341; if (yych <= 'C') goto yy135; goto yy1248; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy341; } else { if (yych == 'd') goto yy1262; if (yych <= 'z') goto yy142; goto yy341; } } yy1262: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; goto yy1249; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy1263; if (yych <= 'z') goto yy143; goto yy3; } } yy1263: yych = *++YYCURSOR; if (yych == 'Y') goto yy347; if (yych == 'y') goto yy355; goto yy144; yy1264: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1251; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1265; if (yych <= 'z') goto yy142; goto yy3; } } yy1265: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'H') goto yy3; goto yy1252; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'i') goto yy1266; if (yych <= 'z') goto yy143; goto yy3; } } yy1266: yych = *++YYCURSOR; if (yych == 'G') goto yy1253; if (yych != 'g') goto yy144; yych = *++YYCURSOR; if (yych == 'H') goto yy1254; if (yych != 'h') goto yy144; yych = *++YYCURSOR; if (yych == 'T') goto yy1202; if (yych == 't') goto yy1234; goto yy144; yy1269: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'C') { if (yych <= 'B') goto yy135; goto yy1257; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'b') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'c') goto yy1271; if (yych <= 'z') goto yy142; goto yy3; } } } yy1270: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ')') { if (yych <= 0x1F) goto yy3; if (yych <= '(') goto yy359; goto yy360; } else { if (yych == '-') goto yy361; if (yych <= '.') goto yy359; goto yy138; } } else { if (yych <= '^') { if (yych <= '9') goto yy359; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy135; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy1271: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy358; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy457; if (yych <= 'z') goto yy143; goto yy3; } } yy1272: yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { if (yych == ')') goto yy132; if (yych <= '@') goto yy3; goto yy134; } else { if (yych <= 'O') goto yy1280; if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1281; goto yy1278; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy134; goto yy1280; } else { if (yych <= 'v') { if (yych <= 'u') goto yy134; goto yy1281; } else { if (yych <= 'w') goto yy1278; if (yych <= 'z') goto yy134; goto yy3; } } } yy1273: yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'x') goto yy1277; if (yych <= 'z') goto yy134; goto yy3; } } yy1274: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 'n') goto yy1275; if (yych <= 'z') goto yy134; goto yy3; } } yy1275: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1276; if (yych <= 'z') goto yy135; goto yy3; } } yy1276: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'H') goto yy159; if (yych == 'h') goto yy159; goto yy3; } yy1277: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy317; if (yych <= 'z') goto yy135; goto yy3; } } yy1278: ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy132; } else { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy135; } yy1279: #line 862 "parse_date.s.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15515 "" yy1280: yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'n') goto yy1286; if (yych <= 'z') goto yy135; goto yy3; } } yy1281: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '-') goto yy361; if (yych == '/') goto yy3; goto yy359; } } else { if (yych <= 'Z') { if (yych <= '@') goto yy3; if (yych != 'E') goto yy135; } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 'e') goto yy1282; if (yych <= 'z') goto yy135; goto yy3; } } } yy1282: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'M') goto yy1283; if (yych != 'm') goto yy3; } yy1283: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy53; yy1284: yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy53; yy1285: yych = *++YYCURSOR; if (yych == 'R') goto yy358; if (yych == 'r') goto yy358; goto yy53; yy1286: ++YYCURSOR; if ((yych = *YYCURSOR) == ')') goto yy132; yy1287: #line 871 "parse_date.s.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 15604 "" yy1288: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych == '/') goto yy138; goto yy3; } } else { if (yych <= 'O') { if (yych <= 'N') goto yy134; goto yy1280; } else { if (yych <= 'U') goto yy134; if (yych <= 'V') goto yy1281; goto yy1278; } } } else { if (yych <= 'n') { if (yych <= '^') { if (yych <= 'Z') goto yy134; goto yy3; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy3; goto yy137; } } else { if (yych <= 'v') { if (yych <= 'o') goto yy1295; if (yych <= 'u') goto yy137; goto yy1296; } else { if (yych <= 'w') goto yy1294; if (yych <= 'z') goto yy137; goto yy3; } } } yy1289: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy134; goto yy1277; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'x') goto yy1293; if (yych <= 'z') goto yy137; goto yy3; } } yy1290: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy134; goto yy1275; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1291; if (yych <= 'z') goto yy137; goto yy3; } } yy1291: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1276; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1292; if (yych <= 'z') goto yy142; goto yy3; } } yy1292: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'G') goto yy3; goto yy159; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'h') goto yy241; if (yych <= 'z') goto yy143; goto yy3; } } yy1293: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy317; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy320; if (yych <= 'z') goto yy142; goto yy3; } } yy1294: yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1279; goto yy132; } else { if (yych == '/') goto yy138; goto yy1279; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy1279; goto yy138; } else { if (yych <= '`') goto yy1279; if (yych <= 'z') goto yy142; goto yy1279; } } yy1295: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy135; goto yy1286; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'n') goto yy1301; if (yych <= 'z') goto yy142; goto yy3; } } yy1296: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ',') { if (yych <= 0x1F) goto yy3; if (yych == ')') goto yy360; goto yy359; } else { if (yych <= '.') { if (yych <= '-') goto yy361; goto yy359; } else { if (yych <= '/') goto yy138; if (yych <= '9') goto yy359; goto yy3; } } } else { if (yych <= '_') { if (yych <= 'E') { if (yych <= 'D') goto yy135; goto yy1282; } else { if (yych <= 'Z') goto yy135; if (yych <= '^') goto yy3; goto yy138; } } else { if (yych <= 'd') { if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy1297; if (yych <= 'z') goto yy142; goto yy3; } } } yy1297: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'L') goto yy3; goto yy1283; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'm') goto yy1298; if (yych <= 'z') goto yy143; goto yy3; } } yy1298: yych = *++YYCURSOR; if (yych == 'B') goto yy1284; if (yych != 'b') goto yy144; yych = *++YYCURSOR; if (yych == 'E') goto yy1285; if (yych != 'e') goto yy144; yych = *++YYCURSOR; if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy53; goto yy138; } else { if (yych == 'R') goto yy358; goto yy53; } } else { if (yych <= 'q') { if (yych <= '_') goto yy138; if (yych <= '`') goto yy53; goto yy143; } else { if (yych <= 'r') goto yy457; if (yych <= 'z') goto yy143; goto yy53; } } yy1301: yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy132; if (yych <= '.') goto yy1287; goto yy138; } else { if (yych <= '_') { if (yych <= '^') goto yy1287; goto yy138; } else { if (yych <= '`') goto yy1287; if (yych <= 'z') goto yy143; goto yy1287; } } yy1302: yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy134; if (yych <= '`') goto yy3; goto yy134; } else { if (yych <= 's') goto yy1303; if (yych <= 'z') goto yy134; goto yy3; } } yy1303: yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy132; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy135; if (yych <= '`') goto yy3; goto yy135; } else { if (yych <= 't') goto yy1304; if (yych <= 'z') goto yy135; goto yy3; } } yy1304: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= 'E') goto yy1305; if (yych != 'e') goto yy3; } yy1305: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy53; yy1306: yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy53; yy1307: yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy53; yy1308: yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy53; yy1309: ++YYCURSOR; yy1310: #line 850 "parse_date.s.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 16000 "" yy1311: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy134; goto yy1303; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy134; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 's') goto yy1312; if (yych <= 'z') goto yy137; goto yy3; } } yy1312: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy135; goto yy1304; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy135; if (yych == '_') goto yy138; goto yy3; } else { if (yych == 't') goto yy1313; if (yych <= 'z') goto yy142; goto yy3; } } yy1313: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy132; goto yy3; } else { if (yych <= '/') goto yy138; if (yych <= 'D') goto yy3; goto yy1305; } } else { if (yych <= '`') { if (yych == '_') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1314; if (yych <= 'z') goto yy143; goto yy3; } } yy1314: yych = *++YYCURSOR; if (yych == 'R') goto yy1306; if (yych != 'r') goto yy144; yych = *++YYCURSOR; if (yych == 'D') goto yy1307; if (yych != 'd') goto yy144; yych = *++YYCURSOR; if (yych == 'A') goto yy1308; if (yych != 'a') goto yy144; yych = *++YYCURSOR; if (yych == 'Y') goto yy1309; if (yych != 'y') goto yy144; yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy138; goto yy1310; } else { if (yych <= '_') goto yy138; if (yych <= '`') goto yy1310; if (yych <= 'z') goto yy143; goto yy1310; } } #line 1411 "parse_date.s.re" } #define YYMAXFILL 26 timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/input9.re0000775000076500007660000000060411016275331012132 00000000000000/*!re2c any = [\000-\377]; "\000" { return 1; } "\001" { return 2; } "\007" { return 3; } "\010" { return 4; } "\100" { return 5; } "\123" { return 6; } "\3567" { return 7; } "\x02" { return 8; } "\x20" { return 9; } "\x34" { return 10; } "\xab" { return 11; } "\xCD" { return 12; } any { return 0; } */ re2c-0.13.5/test/bug1472770.s.re0000775000076500007660000000114011016275331012470 00000000000000#define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) #include int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: /*!re2c [^\n\000]* '\n' { ++n; goto start; } [^\n\000]* '\000' { return n; } */ } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/config4b.f.c0000775000076500007660000000211711016275331012436 00000000000000/* Generated by re2c */ #line 1 "config4b.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 15 "" switch (YYGETSTATE()) { default: abort(); case -1: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 13 "config4b.f.re" { return YYCURSOR; } #line 48 "" yy4: ++YYCURSOR; #line 14 "config4b.f.re" { return NULL; } #line 53 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 15 "config4b.f.re" } re2c-0.13.5/test/config6.re0000775000076500007660000000122011016275331012230 00000000000000#include #include #include int scan(char *s) { char *p = s; #define YYCTYPE char #define YYCURSOR p for(;;) { /*!re2c re2c:indent:top = 2; re2c:yyfill:enable = 0; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("-\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1]); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/test/parse_date.g.re0000775000076500007660000011457211016275331013250 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; s->time->relative.weekday_behavior = 0; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_weekday_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { return TIMELIB_ERROR; } else { s->time.have_zone = 1; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == -1) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; int errors; struct timelib_time *time; timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = -1; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = -1; int len = 0; while ((**ptr != '.') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return -1; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return -1; } ++*ptr; } if (**ptr == '+') { ++*ptr; } else if (**ptr == '-') { dir = -1; ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ') { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; relunit = timelib_lookup_relunit(ptr); switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; } } static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; timelib_tz_lookup_table *tp, *first_found_elem; timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '(') { ++*ptr; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_ABBR; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c re2c:cgoto:threshold = 16; any = [\000-\377]; space = [ ]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-3]; hour24lz = [01][0-9] | "2"[0-3]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = [AaPp] "."? [Mm] "."?; tz = "("? [A-Za-z]{1,4} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [1-9] | "1" [0-2]; daylz = "0" [1-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; daytext = dayfull | dayabbr; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = hour24[:.]minute; timelong24 = hour24[:.]minute[:.]second; iso8601long = hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; gnudateshort = year "-" month "-" day; iso8601date = year4 "-" monthlz "-" daylz; pointeddate = day "." month "." year; datefull = day ([ -.])* monthtext ([ -.])* year; datenoday = monthtext ([ -.])* year4; datenodayrev = year4 ([ -.])* monthtext; datetextual = monthtext ([ -.])* day [,.stndrh ]* year; datenoyear = monthtext ([ -.])* day [,.stndrh ]*; datenoyearrev = day ([ -.])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; isoweekday = year4 "W" weekofyear [0-7]; isoweek = year4 "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [1-9] [0-9]*; /* To fix some ambiguities */ dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'next'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'week'|'fortnight'|'forthnight'|'month'|'year') 's'?) | daytext; relnumber = ([+-]?[ ]*[0-9]+); relative = relnumber space? reltextunit; relativetext = reltextnumber space? reltextunit; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate { DEBUG_OUTPUT("pointed date"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = 1; TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetext { timelib_sll i; int behavior; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); s->errors += tz_not_found; } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { /* printf("unexpected character: #%d, %c ", *s->tok, *s->tok); */ s->errors++; goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } if (e - s < 1) { *errors = 1; in.time = timelib_time_ctor(); in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->z = in.time->dst = -1; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; memset(&in, 0, sizeof(in)); in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = -1; in.time->d = -1; in.time->m = -1; in.time->h = -1; in.time->i = -1; in.time->s = -1; in.time->f = -1; in.time->z = -1; in.time->dst = -1; in.errors = 0; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); *errors = in.errors; return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == -1) parsed->y = now->y != -1 ? now->y : 0; if (parsed->d == -1) parsed->d = now->d != -1 ? now->d : 0; if (parsed->m == -1) parsed->m = now->m != -1 ? now->m : 0; if (parsed->h == -1) parsed->h = now->h != -1 ? now->h : 0; if (parsed->i == -1) parsed->i = now->i != -1 ? now->i : 0; if (parsed->s == -1) parsed->s = now->s != -1 ? now->s : 0; if (parsed->f == -1) parsed->f = now->f != -1 ? now->f : 0; if (parsed->z == -1) parsed->z = now->z != -1 ? now->z : 0; if (parsed->dst == -1) parsed->dst = now->dst != -1 ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/config4d.f.c0000775000076500007660000000211311016275331012434 00000000000000/* Generated by re2c */ #line 1 "config4d.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 15 "" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yyNext: start: yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 15 "config4d.f.re" { return YYCURSOR; } #line 49 "" yy4: ++YYCURSOR; #line 16 "config4d.f.re" { return NULL; } #line 54 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 17 "config4d.f.re" } re2c-0.13.5/test/ctx.re0000775000076500007660000000202211016275331011474 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; #define YYCTYPE char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.ptr #define YYCTXMARKER s.ctx #define YYFILL(n) enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; int scan(Scanner &s) { YYCTYPE *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } /*!max:re2c */ int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/config4f.f.c0000775000076500007660000000215311016275331012442 00000000000000/* Generated by re2c */ #line 1 "config4f.f.re" #define NULL ((char*) 0) #define YYCTYPE char #define YYCURSOR p #define YYLIMIT p #define YYMARKER q #define YYFILL(n) char *scan(char *p) { char *q; #line 13 "config4f.f.re" switch (YYGETSTATE()) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } // after getstate #line 25 "" yy0: YYSETSTATE(0); if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yyFillLabel0: yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy7; yy3: #line 21 "config4f.f.re" { return YYCURSOR; } #line 52 "" yy4: ++YYCURSOR; #line 22 "config4f.f.re" { return NULL; } #line 57 "" yy6: ++YYCURSOR; YYSETSTATE(1); if (YYLIMIT <= YYCURSOR) YYFILL(1); yyFillLabel1: yych = *YYCURSOR; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } #line 23 "config4f.f.re" } re2c-0.13.5/test/cvsignore.u.re0000775000076500007660000000256611016275331013155 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned int #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/bug1529351.c0000775000076500007660000000005311016275331012043 00000000000000re2c: error: line 3, column 9: missing '}' re2c-0.13.5/test/push.f.re0000775000076500007660000002247711016275331012121 00000000000000/* * A push-model scanner example for re2c -f * Written Mon Apr 11 2005 by mgix@mgix.com * This file is in the public domain. * */ // ---------------------------------------------------------------------- #include #include #include #include #include #if defined(WIN32) typedef signed char int8_t; typedef signed short int16_t; typedef signed int int32_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef unsigned int uint32_t; #else #include #include #ifndef O_BINARY #define O_BINARY 0 #endif #endif // ---------------------------------------------------------------------- #define TOKENS \ \ TOK(kEOF) \ TOK(kEOL) \ TOK(kUnknown) \ TOK(kIdentifier) \ TOK(kDecimalConstant) \ \ TOK(kEqual) \ TOK(kLeftParen) \ TOK(kRightParen) \ TOK(kMinus) \ TOK(kPlus) \ TOK(kStar) \ TOK(kSlash) \ \ TOK(kIf) \ TOK(kFor) \ TOK(kElse) \ TOK(kGoto) \ TOK(kBreak) \ TOK(kWhile) \ TOK(kReturn) \ // ---------------------------------------------------------------------- static const char *tokenNames[] = { #define TOK(x) #x, TOKENS #undef TOK }; // ---------------------------------------------------------------------- class PushScanner { public: enum Token { #define TOK(x) x, TOKENS #undef TOK }; private: bool eof; int32_t state; uint8_t *limit; uint8_t *start; uint8_t *cursor; uint8_t *marker; uint8_t *buffer; uint8_t *bufferEnd; uint8_t yych; uint32_t yyaccept; public: // ---------------------------------------------------------------------- PushScanner() { limit = 0; start = 0; state = -1; cursor = 0; marker = 0; buffer = 0; eof = false; bufferEnd = 0; } // ---------------------------------------------------------------------- ~PushScanner() { } // ---------------------------------------------------------------------- void send( Token token ) { size_t tokenSize = cursor-start; const char *tokenName = tokenNames[token]; printf( "scanner is pushing out a token of type %d (%s)", token, tokenName ); if(token==kEOF) putchar('\n'); else { size_t tokenNameSize = strlen(tokenNames[token]); size_t padSize = 20-(20"); fwrite( start, tokenSize, 1, stdout ); printf("<----\n"); } } // ---------------------------------------------------------------------- uint32_t push( const void *input, ssize_t inputSize ) { printf( "scanner is receiving a new data batch of length %d\n" "scanner continues with saved state = %d\n", inputSize, state ); /* * Data source is signaling end of file when batch size * is less than maxFill. This is slightly annoying because * maxFill is a value that can only be known after re2c does * its thing. Practically though, maxFill is never bigger than * the longest keyword, so given our grammar, 32 is a safe bet. */ uint8_t null[64]; const ssize_t maxFill = 32; if(inputSize int scan(char *p) { int n = 0; char *q; printf("[--------------\n"); printf("%s\n", p); printf("]--------------\n"); start: #line 23 "" { YYCTYPE yych; goto yy0; yy1: ++YYCURSOR; yy0: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy5; case '\n': goto yy3; default: goto yy1; } yy3: ++YYCURSOR; #line 21 "bug1472770.re" { ++n; goto start; } #line 44 "" yy5: ++YYCURSOR; #line 26 "bug1472770.re" { return n; } #line 51 "" } #line 29 "bug1472770.re" } int main(int argc, char **argv) { int n = 0; char *largv[4]; if (argc < 2) { argc = 4; argv = largv; argv[1] = ""; argv[2] = "1\n\n"; argv[3] = "1\n2\n"; } while(++n < argc) { printf("%d\n", scan(argv[n])); } return 0; } re2c-0.13.5/test/bug1054496.c0000775000076500007660000000570711016275331012061 00000000000000/* Generated by re2c */ #line 1 "bug1054496.re" #include #include #include #define RET(n) printf("%d\n", n); return n #define TAG_EOI 0 #define TAG_A 1 #define TAG_TAG 2 int scan(char *s, int l) { char *p = s; char *q; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) cont: #line 24 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy4; case '<': goto yy2; default: goto yy6; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'A': case 'a': goto yy7; case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy3; } yy3: #line 25 "bug1054496.re" { goto cont; } #line 95 "" yy4: ++YYCURSOR; #line 24 "bug1054496.re" { RET(TAG_EOI); } #line 100 "" yy6: yych = *++YYCURSOR; goto yy3; yy7: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy8; } yy8: #line 22 "bug1054496.re" { RET(TAG_A); } #line 164 "" yy9: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V': case 'W': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r': case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y': case 'z': goto yy9; default: goto yy11; } yy11: #line 23 "bug1054496.re" { RET(TAG_TAG); } #line 227 "" } #line 26 "bug1054496.re" } #define do_scan(str) scan(str, strlen(str)) main() { do_scan("0"); } re2c-0.13.5/test/config6.c0000775000076500007660000000405411016275331012054 00000000000000/* Generated by re2c */ #line 1 "config6.re" #include #include #include int scan(char *s) { char *p = s; #define YYCTYPE char #define YYCURSOR p for(;;) { #line 18 "" { YYCTYPE yych; yych = *YYCURSOR; switch (yych) { case 0x00: goto yy10; case '+': goto yy6; case '-': goto yy8; case '0': goto yy2; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy12; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy3; } yy3: #line 20 "config6.re" { printf("Num\n"); continue; } #line 57 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy5: #line 19 "config6.re" { printf("Num\n"); continue; } #line 65 "" yy6: ++YYCURSOR; #line 21 "config6.re" { printf("+\n"); continue; } #line 70 "" yy8: ++YYCURSOR; #line 22 "config6.re" { printf("-\n"); continue; } #line 75 "" yy10: ++YYCURSOR; #line 23 "config6.re" { printf("EOF\n"); return 0; } #line 80 "" yy12: ++YYCURSOR; #line 24 "config6.re" { printf("ERR\n"); return 1; } #line 85 "" yy14: ++YYCURSOR; yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy5; } yy16: ++YYCURSOR; yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy18; } yy18: #line 18 "config6.re" { printf("Oct\n"); continue; } #line 122 "" } #line 25 "config6.re" } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1]); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/test/error13.1.c0000775000076500007660000000022311016275331012147 00000000000000/* Generated by re2c */ #line 1 "error13.1.re" #define YYMAXFILL 1 re2c: error: line 3, column 1: found scanner block after YYMAXFILL declaration re2c-0.13.5/test/config8.c0000775000076500007660000000470011016275331012054 00000000000000/* Generated by re2c */ #line 1 "config8.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill(int) { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 46 "" { char curr; if ((s.lim - s.cur) < 3) fill(3); curr = *s.cur; switch (curr) { case '\t': case ' ': goto xx6; case '\n': goto xx8; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx4; case 'a': case 'b': goto xx2; default: goto xx9; } xx2: s.ctx = s.cur + 1; ++s.cur; switch ((curr = *s.cur)) { case '0': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; case '1': goto xx15; default: goto xx3; } xx3: #line 66 "config8.re" { return UNEXPECTED; } #line 91 "" xx4: ++s.cur; curr = *s.cur; goto xx11; xx5: #line 56 "config8.re" { return NUMBER; } #line 99 "" xx6: ++s.cur; xx7: #line 59 "config8.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 110 "" xx8: curr = *++s.cur; goto xx7; xx9: curr = *++s.cur; goto xx3; xx10: ++s.cur; if (s.lim <= s.cur) fill(1); curr = *s.cur; xx11: switch (curr) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx10; default: goto xx5; } xx12: ++s.cur; if (s.lim <= s.cur) fill(1); curr = *s.cur; switch (curr) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; default: goto xx14; } xx14: s.cur = s.ctx; #line 55 "config8.re" { return KEYWORD; } #line 156 "" xx15: ++s.cur; switch ((curr = *s.cur)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; default: goto xx16; } xx16: s.cur = s.ctx; #line 54 "config8.re" { return KEYWORD; } #line 176 "" } #line 69 "config8.re" } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/cvsignore.ub.re0000775000076500007660000000256611016275331013317 00000000000000 #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned int #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker /*!re2c any = (.|"\n"); value = (":" (.\"$")+)?; cvsdat = "Date"; cvsid = "Id"; cvslog = "Log"; cvsrev = "Revision"; cvssrc = "Source"; */ #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: /*!re2c "$" cvsdat value "$" { APPEND(L"$" L"Date$"); goto loop; } "$" cvsid value "$" { APPEND(L"$" L"Id$"); goto loop; } "$" cvslog value "$" { APPEND(L"$" L"Log$"); goto loop; } "$" cvsrev value "$" { APPEND(L"$" L"Revision$"); goto loop; } "$" cvssrc value "$" { APPEND(L"$" L"Source$"); goto loop; } any { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } */ } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/cvsignore.ub.c0000775000076500007660000001342211016275331013124 00000000000000/* Generated by re2c */ #line 1 "cvsignore.ub.re" #define YYFILL(n) if (cursor >= limit) break; #define YYCTYPE unsigned int #define YYCURSOR cursor #define YYLIMIT limit #define YYMARKER marker #line 16 "cvsignore.ub.re" #define APPEND(text) \ append(output, outsize, text, sizeof(text) - sizeof(YYCTYPE)) inline void append(YYCTYPE *output, size_t & outsize, const YYCTYPE * text, size_t len) { memcpy(output + outsize, text, len); outsize += (len / sizeof(YYCTYPE)); } void scan(YYCTYPE *pText, size_t *pSize, int *pbChanged) { // rule // scan lines // find $ in lines // compact $: .. $ to $$ YYCTYPE *output; const YYCTYPE *cursor, *limit, *marker; cursor = marker = output = *pText; size_t insize = *pSize; size_t outsize = 0; limit = cursor + insize; while(1) { loop: #line 43 "" { YYCTYPE yych; static const unsigned char yybm[] = { 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, }; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; if (yych != '$') goto yy4; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'D': goto yy10; case 'I': goto yy9; case 'L': goto yy8; case 'R': goto yy7; case 'S': goto yy5; default: goto yy3; } yy3: #line 53 "cvsignore.ub.re" { output[outsize++] = cursor[-1]; if (cursor >= limit) break; goto loop; } #line 96 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: yych = *++YYCURSOR; if (yych == 'o') goto yy44; yy6: YYCURSOR = YYMARKER; goto yy3; yy7: yych = *++YYCURSOR; if (yych == 'e') goto yy32; goto yy6; yy8: yych = *++YYCURSOR; if (yych == 'o') goto yy25; goto yy6; yy9: yych = *++YYCURSOR; if (yych == 'd') goto yy19; goto yy6; yy10: yych = *++YYCURSOR; if (yych != 'a') goto yy6; yych = *++YYCURSOR; if (yych != 't') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy15; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy18; yy15: ++YYCURSOR; #line 48 "cvsignore.ub.re" { APPEND(L"$" L"Date$"); goto loop; } #line 135 "" yy17: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy18: if (yych & ~0xFF) { goto yy17; } else if (yybm[0+yych] & 128) { goto yy17; } if (yych <= '#') goto yy6; goto yy15; yy19: yych = *++YYCURSOR; if (yych == '$') goto yy21; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy24; yy21: ++YYCURSOR; #line 49 "cvsignore.ub.re" { APPEND(L"$" L"Id$"); goto loop; } #line 159 "" yy23: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy24: if (yych == '\n') goto yy6; if (yych == '$') goto yy21; goto yy23; yy25: yych = *++YYCURSOR; if (yych != 'g') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy28; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy31; yy28: ++YYCURSOR; #line 50 "cvsignore.ub.re" { APPEND(L"$" L"Log$"); goto loop; } #line 181 "" yy30: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy31: if (yych == '\n') goto yy6; if (yych == '$') goto yy28; goto yy30; yy32: yych = *++YYCURSOR; if (yych != 'v') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 's') goto yy6; yych = *++YYCURSOR; if (yych != 'i') goto yy6; yych = *++YYCURSOR; if (yych != 'o') goto yy6; yych = *++YYCURSOR; if (yych != 'n') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy40; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy43; yy40: ++YYCURSOR; #line 51 "cvsignore.ub.re" { APPEND(L"$" L"Revision$"); goto loop; } #line 213 "" yy42: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy43: if (yych == '\n') goto yy6; if (yych == '$') goto yy40; goto yy42; yy44: yych = *++YYCURSOR; if (yych != 'u') goto yy6; yych = *++YYCURSOR; if (yych != 'r') goto yy6; yych = *++YYCURSOR; if (yych != 'c') goto yy6; yych = *++YYCURSOR; if (yych != 'e') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy50; if (yych != ':') goto yy6; yych = *++YYCURSOR; if (yych == '$') goto yy6; goto yy53; yy50: ++YYCURSOR; #line 52 "cvsignore.ub.re" { APPEND(L"$" L"Source$"); goto loop; } #line 241 "" yy52: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy53: if (yych == '\n') goto yy6; if (yych == '$') goto yy50; goto yy52; } #line 55 "cvsignore.ub.re" } output[outsize] = '\0'; // set the new size *pSize = outsize; *pbChanged = (insize == outsize) ? 0 : 1; } re2c-0.13.5/test/config9.b.re0000775000076500007660000000225211016275331012461 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill(int) { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s.cur; re2c:define:YYLIMIT = s.lim; re2c:define:YYMARKER = s.ptr; re2c:define:YYCTXMARKER = s.ctx; re2c:define:YYFILL = fill; re2c:variable:yych = curr; re2c:labelprefix = xx; re2c:yych:conversion = 1; ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/config10.re0000775000076500007660000000223711016275331012314 00000000000000#include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill() { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; /*!re2c re2c:define:YYCTYPE = char; re2c:define:YYCURSOR = s.cur; re2c:define:YYLIMIT = s.lim; re2c:define:YYMARKER = s.ptr; re2c:define:YYCTXMARKER = s.ctx; re2c:define:YYFILL = "fill()"; re2c:yyfill:parameter = 0; re2c:variable:yych = curr; re2c:labelprefix = xx; ("a"|"b")/[1] { return KEYWORD; } ("a"|"b")/[0-9]+ { return KEYWORD; } [0-9]+ { return NUMBER; } [ \t\n] { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } . { return UNEXPECTED; } */ } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/dot.D.re0000664000076500007660000000023011016275331011642 00000000000000int main(){ printf("some code that will be stripped"); /*!re2c "abc" { return 1; } "efg" { return 2; } [^] { return 3; } */ printf("here too"); } re2c-0.13.5/test/config9.b.c0000775000076500007660000000722711016275331012304 00000000000000/* Generated by re2c */ #line 1 "config9.b.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill(int) { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 46 "" { unsigned char curr; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((s.lim - s.cur) < 3) fill(3); curr = (unsigned char)*s.cur; if (curr <= ' ') { if (curr <= '\t') { if (curr <= 0x08) goto xx9; goto xx6; } else { if (curr <= '\n') goto xx8; if (curr <= 0x1F) goto xx9; goto xx6; } } else { if (curr <= '9') { if (curr <= '/') goto xx9; goto xx4; } else { if (curr <= '`') goto xx9; if (curr >= 'c') goto xx9; } } s.ctx = s.cur + 1; ++s.cur; if ((curr = (unsigned char)*s.cur) <= '/') goto xx3; if (curr == '1') goto xx15; if (curr <= '9') goto xx12; xx3: #line 68 "config9.b.re" { return UNEXPECTED; } #line 114 "" xx4: ++s.cur; curr = (unsigned char)*s.cur; goto xx11; xx5: #line 58 "config9.b.re" { return NUMBER; } #line 122 "" xx6: ++s.cur; xx7: #line 61 "config9.b.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 133 "" xx8: curr = (unsigned char)*++s.cur; goto xx7; xx9: curr = (unsigned char)*++s.cur; goto xx3; xx10: ++s.cur; if (s.lim <= s.cur) fill(1); curr = (unsigned char)*s.cur; xx11: if (yybm[0+curr] & 128) { goto xx10; } goto xx5; xx12: ++s.cur; if (s.lim <= s.cur) fill(1); curr = (unsigned char)*s.cur; if (curr <= '/') goto xx14; if (curr <= '9') goto xx12; xx14: s.cur = s.ctx; #line 57 "config9.b.re" { return KEYWORD; } #line 159 "" xx15: ++s.cur; if ((curr = (unsigned char)*s.cur) <= '/') goto xx16; if (curr <= '9') goto xx12; xx16: s.cur = s.ctx; #line 56 "config9.b.re" { return KEYWORD; } #line 168 "" } #line 71 "config9.b.re" } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/config10.c0000775000076500007660000000470111016275331012126 00000000000000/* Generated by re2c */ #line 1 "config10.re" #include #include struct Scanner { Scanner(char *txt) : cur(txt), lim(txt + strlen(txt)) { } char *cur; char *lim; char *ptr; char *ctx; char *tok; }; enum What { UNEXPECTED, KEYWORD, NUMBER, EOI }; char * tokens[] = { "UNEXPECTED", "KEYWORD", "NUMBER", "EOI" }; void fill() { } int scan(Scanner &s) { char *cursor = s.cur; if(cursor == s.lim) return EOI; std: s.tok = cursor; #line 46 "" { char curr; if ((s.lim - s.cur) < 3) fill(); curr = *s.cur; switch (curr) { case '\t': case ' ': goto xx6; case '\n': goto xx8; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx4; case 'a': case 'b': goto xx2; default: goto xx9; } xx2: s.ctx = s.cur + 1; ++s.cur; switch ((curr = *s.cur)) { case '0': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; case '1': goto xx15; default: goto xx3; } xx3: #line 67 "config10.re" { return UNEXPECTED; } #line 91 "" xx4: ++s.cur; curr = *s.cur; goto xx11; xx5: #line 57 "config10.re" { return NUMBER; } #line 99 "" xx6: ++s.cur; xx7: #line 60 "config10.re" { if(s.cur == s.lim) return EOI; cursor = s.cur; goto std; } #line 110 "" xx8: curr = *++s.cur; goto xx7; xx9: curr = *++s.cur; goto xx3; xx10: ++s.cur; if (s.lim <= s.cur) fill(); curr = *s.cur; xx11: switch (curr) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx10; default: goto xx5; } xx12: ++s.cur; if (s.lim <= s.cur) fill(); curr = *s.cur; switch (curr) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; default: goto xx14; } xx14: s.cur = s.ctx; #line 56 "config10.re" { return KEYWORD; } #line 156 "" xx15: ++s.cur; switch ((curr = *s.cur)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto xx12; default: goto xx16; } xx16: s.cur = s.ctx; #line 55 "config10.re" { return KEYWORD; } #line 176 "" } #line 70 "config10.re" } int main(int,char**) { Scanner s("a77 a1 b8 b1"); int t, n = 0; while ((t = scan(s)) != EOI) { std::cout << (++n) << ": " << tokens[t] << " = \""; std::cout.write(s.tok, s.cur-s.tok); std::cout << "\"" << std::endl; } } re2c-0.13.5/test/input13.re0000775000076500007660000000027711016275331012213 00000000000000/*!re2c space_ = "a"; _space = "b"; s_pace = "c"; _ = "d"; space_ { return 'a'; } _space { return 'b'; } s_pace { return 'c'; } _ { return 'd'; } [^] { return '\0'; } */ re2c-0.13.5/test/bug1682718.c0000775000076500007660000000137011016275331012055 00000000000000/* Generated by re2c */ #line 1 "bug1682718.re" char *scan(char *p) { #line 7 "" { unsigned char yych; yych = (unsigned char)*p; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy2; default: goto yy4; } yy2: ++p; yych = (unsigned char)*p; goto yy7; yy3: #line 9 "bug1682718.re" {return p;} #line 32 "" yy4: ++p; #line 10 "bug1682718.re" {return (char*)0;} #line 37 "" yy6: ++p; yych = (unsigned char)*p; yy7: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy3; } } #line 11 "bug1682718.re" } re2c-0.13.5/test/input13.c0000775000076500007660000000124211016275331012020 00000000000000/* Generated by re2c */ #line 1 "input13.re" #line 5 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy2; case 'b': goto yy4; case 'c': goto yy6; case 'd': goto yy8; default: goto yy10; } yy2: ++YYCURSOR; #line 8 "input13.re" { return 'a'; } #line 22 "" yy4: ++YYCURSOR; #line 9 "input13.re" { return 'b'; } #line 27 "" yy6: ++YYCURSOR; #line 10 "input13.re" { return 'c'; } #line 32 "" yy8: ++YYCURSOR; #line 11 "input13.re" { return 'd'; } #line 37 "" yy10: ++YYCURSOR; #line 12 "input13.re" { return '\0'; } #line 42 "" } #line 14 "input13.re" re2c-0.13.5/test/bug1682718.re0000775000076500007660000000045311016275331012242 00000000000000char *scan(char *p) { /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:indent:top = 1; [0-9]+ {return p;} [\000-\377] {return (char*)0;} */ } re2c-0.13.5/test/bug1682718.is.re0000775000076500007660000000045311016275331012654 00000000000000char *scan(char *p) { /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:indent:top = 1; [0-9]+ {return p;} [\000-\377] {return (char*)0;} */ } re2c-0.13.5/test/cond_error_05.c.c0000775000076500007660000000007711016275331013403 00000000000000re2c: error: line 3, column 2: unnamed condition not supported re2c-0.13.5/test/bug1682718.is.c0000775000076500007660000000057411016275331012474 00000000000000/* Generated by re2c */ char *scan(char *p) { { unsigned char yych; yych = (unsigned char)*p; if (yych <= '/') goto yy4; if (yych >= ':') goto yy4; ++p; yych = (unsigned char)*p; goto yy7; yy3: {return p;} yy4: ++p; {return (char*)0;} yy6: ++p; yych = (unsigned char)*p; yy7: if (yych <= '/') goto yy3; if (yych <= '9') goto yy6; goto yy3; } } re2c-0.13.5/test/cond_error_01.c.c0000775000076500007660000000007711016275331013377 00000000000000re2c: error: line 3, column 2: unnamed condition not supported re2c-0.13.5/test/condition_02.c.c0000775000076500007660000000170211016275331013226 00000000000000/* Generated by re2c */ #line 1 "condition_02.c.re" #line 5 "" { YYCTYPE yych; switch (YYGETCONDITION()) { case yyc0: goto yyc_0; case yycr1: goto yyc_r1; case yycr2: goto yyc_r2; } /* *********************************** */ yyc_0: #line 3 "condition_02.c.re" { return NULL; } #line 18 "" /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy6; case 'b': goto yy8; default: goto yy5; } yy5: yy6: ++YYCURSOR; #line 4 "condition_02.c.re" { return "a"; } #line 33 "" yy8: ++YYCURSOR; #line 5 "condition_02.c.re" { return "b"; } #line 38 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'b': goto yy13; default: goto yy12; } yy12: yy13: ++YYCURSOR; #line 5 "condition_02.c.re" { return "b"; } #line 52 "" } #line 7 "condition_02.c.re" re2c-0.13.5/test/condition_01.c.c0000775000076500007660000000154711016275331013234 00000000000000/* Generated by re2c */ #line 1 "condition_01.c.re" #line 5 "" { YYCTYPE yych; switch (YYGETCONDITION()) { case yyca: goto yyc_a; case yycb: goto yyc_b; } /* *********************************** */ yyc_a: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy4; default: goto yy2; } yy4: ++YYCURSOR; #line 3 "condition_01.c.re" { } #line 32 "" /* *********************************** */ yyc_b: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy9; default: goto yy8; } yy8: yy9: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy10; default: goto yy8; } yy10: ++YYCURSOR; #line 3 "condition_01.c.re" { } #line 52 "" } #line 5 "condition_01.c.re" re2c-0.13.5/test/overflow-1.c0000775000076500007660000272055111016275331012533 00000000000000/* Generated by re2c */ #line 1 "overflow-1.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 8217) YYFILL(8217); yych = *YYCURSOR; switch (yych) { case '0': goto yy3; default: goto yy2; } yy2: yy3: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4; default: goto yy2; } yy4: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5; default: goto yy2; } yy5: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6; default: goto yy2; } yy6: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7; default: goto yy2; } yy7: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8; default: goto yy2; } yy8: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy9; default: goto yy2; } yy9: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy10; default: goto yy2; } yy10: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy11; default: goto yy2; } yy11: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy12; default: goto yy2; } yy12: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy13; default: goto yy2; } yy13: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy14; default: goto yy2; } yy14: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy15; default: goto yy2; } yy15: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy16; default: goto yy2; } yy16: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy17; default: goto yy2; } yy17: yych = *++YYCURSOR; switch (yych) { case '_': goto yy18; default: goto yy2; } yy18: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy19; default: goto yy2; } yy19: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy20; default: goto yy2; } yy20: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy21; default: goto yy2; } yy21: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy22; default: goto yy2; } yy22: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy23; default: goto yy2; } yy23: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy24; default: goto yy2; } yy24: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy25; default: goto yy2; } yy25: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy26; default: goto yy2; } yy26: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy27; default: goto yy2; } yy27: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy28; default: goto yy2; } yy28: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy29; default: goto yy2; } yy29: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy30; default: goto yy2; } yy30: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy31; default: goto yy2; } yy31: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy32; default: goto yy2; } yy32: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy33; default: goto yy2; } yy33: yych = *++YYCURSOR; switch (yych) { case '_': goto yy34; default: goto yy2; } yy34: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy35; default: goto yy2; } yy35: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy36; default: goto yy2; } yy36: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy37; default: goto yy2; } yy37: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy38; default: goto yy2; } yy38: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy39; default: goto yy2; } yy39: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy40; default: goto yy2; } yy40: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy41; default: goto yy2; } yy41: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy42; default: goto yy2; } yy42: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy43; default: goto yy2; } yy43: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy44; default: goto yy2; } yy44: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy45; default: goto yy2; } yy45: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy46; default: goto yy2; } yy46: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy47; default: goto yy2; } yy47: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy48; default: goto yy2; } yy48: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy49; default: goto yy2; } yy49: yych = *++YYCURSOR; switch (yych) { case '_': goto yy50; default: goto yy2; } yy50: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy51; default: goto yy2; } yy51: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy52; default: goto yy2; } yy52: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy53; default: goto yy2; } yy53: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy54; default: goto yy2; } yy54: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy55; default: goto yy2; } yy55: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy56; default: goto yy2; } yy56: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy57; default: goto yy2; } yy57: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy58; default: goto yy2; } yy58: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy59; default: goto yy2; } yy59: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy60; default: goto yy2; } yy60: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy61; default: goto yy2; } yy61: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy62; default: goto yy2; } yy62: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy63; default: goto yy2; } yy63: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy64; default: goto yy2; } yy64: yych = *++YYCURSOR; switch (yych) { case '_': goto yy65; default: goto yy2; } yy65: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy66; default: goto yy2; } yy66: yych = *++YYCURSOR; switch (yych) { case '0': goto yy67; default: goto yy2; } yy67: yych = *++YYCURSOR; switch (yych) { case '0': goto yy68; default: goto yy2; } yy68: yych = *++YYCURSOR; switch (yych) { case '0': goto yy69; default: goto yy2; } yy69: yych = *++YYCURSOR; switch (yych) { case '4': goto yy70; default: goto yy2; } yy70: yych = *++YYCURSOR; switch (yych) { case '0': goto yy71; default: goto yy2; } yy71: yych = *++YYCURSOR; switch (yych) { case '_': goto yy72; default: goto yy2; } yy72: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy73; default: goto yy2; } yy73: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy74; default: goto yy2; } yy74: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy75; default: goto yy2; } yy75: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy76; default: goto yy2; } yy76: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy77; default: goto yy2; } yy77: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy78; default: goto yy2; } yy78: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy79; default: goto yy2; } yy79: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy80; default: goto yy2; } yy80: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy81; default: goto yy2; } yy81: yych = *++YYCURSOR; switch (yych) { case '_': goto yy82; default: goto yy2; } yy82: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy83; default: goto yy2; } yy83: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy84; default: goto yy2; } yy84: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy85; default: goto yy2; } yy85: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy86; default: goto yy2; } yy86: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy87; default: goto yy2; } yy87: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy88; default: goto yy2; } yy88: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy89; default: goto yy2; } yy89: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy90; default: goto yy2; } yy90: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy91; default: goto yy2; } yy91: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy92; default: goto yy2; } yy92: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy93; default: goto yy2; } yy93: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy94; default: goto yy2; } yy94: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy95; default: goto yy2; } yy95: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy96; default: goto yy2; } yy96: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy97; default: goto yy2; } yy97: yych = *++YYCURSOR; switch (yych) { case '_': goto yy98; default: goto yy2; } yy98: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy99; default: goto yy2; } yy99: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy100; default: goto yy2; } yy100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy101; default: goto yy2; } yy101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy102; default: goto yy2; } yy102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy103; default: goto yy2; } yy103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy104; default: goto yy2; } yy104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy105; default: goto yy2; } yy105: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy106; default: goto yy2; } yy106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy107; default: goto yy2; } yy107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy108; default: goto yy2; } yy108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy109; default: goto yy2; } yy109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy110; default: goto yy2; } yy110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy111; default: goto yy2; } yy111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy112; default: goto yy2; } yy112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy113; default: goto yy2; } yy113: yych = *++YYCURSOR; switch (yych) { case '_': goto yy114; default: goto yy2; } yy114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy115; default: goto yy2; } yy115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy116; default: goto yy2; } yy116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy117; default: goto yy2; } yy117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy118; default: goto yy2; } yy118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy119; default: goto yy2; } yy119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy120; default: goto yy2; } yy120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy121; default: goto yy2; } yy121: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy122; default: goto yy2; } yy122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy123; default: goto yy2; } yy123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy124; default: goto yy2; } yy124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy125; default: goto yy2; } yy125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy126; default: goto yy2; } yy126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy127; default: goto yy2; } yy127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy128; default: goto yy2; } yy128: yych = *++YYCURSOR; switch (yych) { case '_': goto yy129; default: goto yy2; } yy129: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy130; default: goto yy2; } yy130: yych = *++YYCURSOR; switch (yych) { case '0': goto yy131; default: goto yy2; } yy131: yych = *++YYCURSOR; switch (yych) { case '0': goto yy132; default: goto yy2; } yy132: yych = *++YYCURSOR; switch (yych) { case '0': goto yy133; default: goto yy2; } yy133: yych = *++YYCURSOR; switch (yych) { case '8': goto yy134; default: goto yy2; } yy134: yych = *++YYCURSOR; switch (yych) { case '0': goto yy135; default: goto yy2; } yy135: yych = *++YYCURSOR; switch (yych) { case '_': goto yy136; default: goto yy2; } yy136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy137; default: goto yy2; } yy137: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy138; default: goto yy2; } yy138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy139; default: goto yy2; } yy139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy140; default: goto yy2; } yy140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy141; default: goto yy2; } yy141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy142; default: goto yy2; } yy142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy143; default: goto yy2; } yy143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy144; default: goto yy2; } yy144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy145; default: goto yy2; } yy145: yych = *++YYCURSOR; switch (yych) { case '_': goto yy146; default: goto yy2; } yy146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy147; default: goto yy2; } yy147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy148; default: goto yy2; } yy148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy149; default: goto yy2; } yy149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy150; default: goto yy2; } yy150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy151; default: goto yy2; } yy151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy152; default: goto yy2; } yy152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy153; default: goto yy2; } yy153: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy154; default: goto yy2; } yy154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy155; default: goto yy2; } yy155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy156; default: goto yy2; } yy156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy157; default: goto yy2; } yy157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy158; default: goto yy2; } yy158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy159; default: goto yy2; } yy159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy160; default: goto yy2; } yy160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy161; default: goto yy2; } yy161: yych = *++YYCURSOR; switch (yych) { case '_': goto yy162; default: goto yy2; } yy162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy163; default: goto yy2; } yy163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy164; default: goto yy2; } yy164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy165; default: goto yy2; } yy165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy166; default: goto yy2; } yy166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy167; default: goto yy2; } yy167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy168; default: goto yy2; } yy168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy169; default: goto yy2; } yy169: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy170; default: goto yy2; } yy170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy171; default: goto yy2; } yy171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy172; default: goto yy2; } yy172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy173; default: goto yy2; } yy173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy174; default: goto yy2; } yy174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy175; default: goto yy2; } yy175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy176; default: goto yy2; } yy176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy177; default: goto yy2; } yy177: yych = *++YYCURSOR; switch (yych) { case '_': goto yy178; default: goto yy2; } yy178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy179; default: goto yy2; } yy179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy180; default: goto yy2; } yy180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy181; default: goto yy2; } yy181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy182; default: goto yy2; } yy182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy183; default: goto yy2; } yy183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy184; default: goto yy2; } yy184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy185; default: goto yy2; } yy185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy186; default: goto yy2; } yy186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy187; default: goto yy2; } yy187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy188; default: goto yy2; } yy188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy189; default: goto yy2; } yy189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy190; default: goto yy2; } yy190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy191; default: goto yy2; } yy191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy192; default: goto yy2; } yy192: yych = *++YYCURSOR; switch (yych) { case '_': goto yy193; default: goto yy2; } yy193: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy194; default: goto yy2; } yy194: yych = *++YYCURSOR; switch (yych) { case '0': goto yy195; default: goto yy2; } yy195: yych = *++YYCURSOR; switch (yych) { case '0': goto yy196; default: goto yy2; } yy196: yych = *++YYCURSOR; switch (yych) { case '0': goto yy197; default: goto yy2; } yy197: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy198; default: goto yy2; } yy198: yych = *++YYCURSOR; switch (yych) { case '0': goto yy199; default: goto yy2; } yy199: yych = *++YYCURSOR; switch (yych) { case '_': goto yy200; default: goto yy2; } yy200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy201; default: goto yy2; } yy201: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy202; default: goto yy2; } yy202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy203; default: goto yy2; } yy203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy204; default: goto yy2; } yy204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy205; default: goto yy2; } yy205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy206; default: goto yy2; } yy206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy207; default: goto yy2; } yy207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy208; default: goto yy2; } yy208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy209; default: goto yy2; } yy209: yych = *++YYCURSOR; switch (yych) { case '_': goto yy210; default: goto yy2; } yy210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy211; default: goto yy2; } yy211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy212; default: goto yy2; } yy212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy213; default: goto yy2; } yy213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy214; default: goto yy2; } yy214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy215; default: goto yy2; } yy215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy216; default: goto yy2; } yy216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy217; default: goto yy2; } yy217: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy218; default: goto yy2; } yy218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy219; default: goto yy2; } yy219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy220; default: goto yy2; } yy220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy221; default: goto yy2; } yy221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy222; default: goto yy2; } yy222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy223; default: goto yy2; } yy223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy224; default: goto yy2; } yy224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy225; default: goto yy2; } yy225: yych = *++YYCURSOR; switch (yych) { case '_': goto yy226; default: goto yy2; } yy226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy227; default: goto yy2; } yy227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy228; default: goto yy2; } yy228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy229; default: goto yy2; } yy229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy230; default: goto yy2; } yy230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy231; default: goto yy2; } yy231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy232; default: goto yy2; } yy232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy233; default: goto yy2; } yy233: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy234; default: goto yy2; } yy234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy235; default: goto yy2; } yy235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy236; default: goto yy2; } yy236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy237; default: goto yy2; } yy237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy238; default: goto yy2; } yy238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy239; default: goto yy2; } yy239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy240; default: goto yy2; } yy240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy241; default: goto yy2; } yy241: yych = *++YYCURSOR; switch (yych) { case '_': goto yy242; default: goto yy2; } yy242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy243; default: goto yy2; } yy243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy244; default: goto yy2; } yy244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy245; default: goto yy2; } yy245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy246; default: goto yy2; } yy246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy247; default: goto yy2; } yy247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy248; default: goto yy2; } yy248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy249; default: goto yy2; } yy249: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy250; default: goto yy2; } yy250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy251; default: goto yy2; } yy251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy252; default: goto yy2; } yy252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy253; default: goto yy2; } yy253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy254; default: goto yy2; } yy254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy255; default: goto yy2; } yy255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy256; default: goto yy2; } yy256: yych = *++YYCURSOR; switch (yych) { case '_': goto yy257; default: goto yy2; } yy257: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy258; default: goto yy2; } yy258: yych = *++YYCURSOR; switch (yych) { case '0': goto yy259; default: goto yy2; } yy259: yych = *++YYCURSOR; switch (yych) { case '0': goto yy260; default: goto yy2; } yy260: yych = *++YYCURSOR; switch (yych) { case '1': goto yy261; default: goto yy2; } yy261: yych = *++YYCURSOR; switch (yych) { case '0': goto yy262; default: goto yy2; } yy262: yych = *++YYCURSOR; switch (yych) { case '0': goto yy263; default: goto yy2; } yy263: yych = *++YYCURSOR; switch (yych) { case '_': goto yy264; default: goto yy2; } yy264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy265; default: goto yy2; } yy265: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy266; default: goto yy2; } yy266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy267; default: goto yy2; } yy267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy268; default: goto yy2; } yy268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy269; default: goto yy2; } yy269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy270; default: goto yy2; } yy270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy271; default: goto yy2; } yy271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy272; default: goto yy2; } yy272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy273; default: goto yy2; } yy273: yych = *++YYCURSOR; switch (yych) { case '_': goto yy274; default: goto yy2; } yy274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy275; default: goto yy2; } yy275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy276; default: goto yy2; } yy276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy277; default: goto yy2; } yy277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy278; default: goto yy2; } yy278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy279; default: goto yy2; } yy279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy280; default: goto yy2; } yy280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy281; default: goto yy2; } yy281: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy282; default: goto yy2; } yy282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy283; default: goto yy2; } yy283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy284; default: goto yy2; } yy284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy285; default: goto yy2; } yy285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy286; default: goto yy2; } yy286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy287; default: goto yy2; } yy287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy288; default: goto yy2; } yy288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy289; default: goto yy2; } yy289: yych = *++YYCURSOR; switch (yych) { case '_': goto yy290; default: goto yy2; } yy290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy291; default: goto yy2; } yy291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy292; default: goto yy2; } yy292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy293; default: goto yy2; } yy293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy294; default: goto yy2; } yy294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy295; default: goto yy2; } yy295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy296; default: goto yy2; } yy296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy297; default: goto yy2; } yy297: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy298; default: goto yy2; } yy298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy299; default: goto yy2; } yy299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy300; default: goto yy2; } yy300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy301; default: goto yy2; } yy301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy302; default: goto yy2; } yy302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy303; default: goto yy2; } yy303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy304; default: goto yy2; } yy304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy305; default: goto yy2; } yy305: yych = *++YYCURSOR; switch (yych) { case '_': goto yy306; default: goto yy2; } yy306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy307; default: goto yy2; } yy307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy308; default: goto yy2; } yy308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy309; default: goto yy2; } yy309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy310; default: goto yy2; } yy310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy311; default: goto yy2; } yy311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy312; default: goto yy2; } yy312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy313; default: goto yy2; } yy313: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy314; default: goto yy2; } yy314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy315; default: goto yy2; } yy315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy316; default: goto yy2; } yy316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy317; default: goto yy2; } yy317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy318; default: goto yy2; } yy318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy319; default: goto yy2; } yy319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy320; default: goto yy2; } yy320: yych = *++YYCURSOR; switch (yych) { case '_': goto yy321; default: goto yy2; } yy321: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy322; default: goto yy2; } yy322: yych = *++YYCURSOR; switch (yych) { case '0': goto yy323; default: goto yy2; } yy323: yych = *++YYCURSOR; switch (yych) { case '0': goto yy324; default: goto yy2; } yy324: yych = *++YYCURSOR; switch (yych) { case '1': goto yy325; default: goto yy2; } yy325: yych = *++YYCURSOR; switch (yych) { case '4': goto yy326; default: goto yy2; } yy326: yych = *++YYCURSOR; switch (yych) { case '0': goto yy327; default: goto yy2; } yy327: yych = *++YYCURSOR; switch (yych) { case '_': goto yy328; default: goto yy2; } yy328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy329; default: goto yy2; } yy329: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy330; default: goto yy2; } yy330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy331; default: goto yy2; } yy331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy332; default: goto yy2; } yy332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy333; default: goto yy2; } yy333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy334; default: goto yy2; } yy334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy335; default: goto yy2; } yy335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy336; default: goto yy2; } yy336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy337; default: goto yy2; } yy337: yych = *++YYCURSOR; switch (yych) { case '_': goto yy338; default: goto yy2; } yy338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy339; default: goto yy2; } yy339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy340; default: goto yy2; } yy340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy341; default: goto yy2; } yy341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy342; default: goto yy2; } yy342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy343; default: goto yy2; } yy343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy344; default: goto yy2; } yy344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy345; default: goto yy2; } yy345: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy346; default: goto yy2; } yy346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy347; default: goto yy2; } yy347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy348; default: goto yy2; } yy348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy349; default: goto yy2; } yy349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy350; default: goto yy2; } yy350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy351; default: goto yy2; } yy351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy352; default: goto yy2; } yy352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy353; default: goto yy2; } yy353: yych = *++YYCURSOR; switch (yych) { case '_': goto yy354; default: goto yy2; } yy354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy355; default: goto yy2; } yy355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy356; default: goto yy2; } yy356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy357; default: goto yy2; } yy357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy358; default: goto yy2; } yy358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy359; default: goto yy2; } yy359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy360; default: goto yy2; } yy360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy361; default: goto yy2; } yy361: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy362; default: goto yy2; } yy362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy363; default: goto yy2; } yy363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy364; default: goto yy2; } yy364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy365; default: goto yy2; } yy365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy366; default: goto yy2; } yy366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy367; default: goto yy2; } yy367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy368; default: goto yy2; } yy368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy369; default: goto yy2; } yy369: yych = *++YYCURSOR; switch (yych) { case '_': goto yy370; default: goto yy2; } yy370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy371; default: goto yy2; } yy371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy372; default: goto yy2; } yy372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy373; default: goto yy2; } yy373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy374; default: goto yy2; } yy374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy375; default: goto yy2; } yy375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy376; default: goto yy2; } yy376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy377; default: goto yy2; } yy377: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy378; default: goto yy2; } yy378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy379; default: goto yy2; } yy379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy380; default: goto yy2; } yy380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy381; default: goto yy2; } yy381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy382; default: goto yy2; } yy382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy383; default: goto yy2; } yy383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy384; default: goto yy2; } yy384: yych = *++YYCURSOR; switch (yych) { case '_': goto yy385; default: goto yy2; } yy385: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy386; default: goto yy2; } yy386: yych = *++YYCURSOR; switch (yych) { case '0': goto yy387; default: goto yy2; } yy387: yych = *++YYCURSOR; switch (yych) { case '0': goto yy388; default: goto yy2; } yy388: yych = *++YYCURSOR; switch (yych) { case '1': goto yy389; default: goto yy2; } yy389: yych = *++YYCURSOR; switch (yych) { case '8': goto yy390; default: goto yy2; } yy390: yych = *++YYCURSOR; switch (yych) { case '0': goto yy391; default: goto yy2; } yy391: yych = *++YYCURSOR; switch (yych) { case '_': goto yy392; default: goto yy2; } yy392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy393; default: goto yy2; } yy393: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy394; default: goto yy2; } yy394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy395; default: goto yy2; } yy395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy396; default: goto yy2; } yy396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy397; default: goto yy2; } yy397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy398; default: goto yy2; } yy398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy399; default: goto yy2; } yy399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy400; default: goto yy2; } yy400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy401; default: goto yy2; } yy401: yych = *++YYCURSOR; switch (yych) { case '_': goto yy402; default: goto yy2; } yy402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy403; default: goto yy2; } yy403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy404; default: goto yy2; } yy404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy405; default: goto yy2; } yy405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy406; default: goto yy2; } yy406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy407; default: goto yy2; } yy407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy408; default: goto yy2; } yy408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy409; default: goto yy2; } yy409: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy410; default: goto yy2; } yy410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy411; default: goto yy2; } yy411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy412; default: goto yy2; } yy412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy413; default: goto yy2; } yy413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy414; default: goto yy2; } yy414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy415; default: goto yy2; } yy415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy416; default: goto yy2; } yy416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy417; default: goto yy2; } yy417: yych = *++YYCURSOR; switch (yych) { case '_': goto yy418; default: goto yy2; } yy418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy419; default: goto yy2; } yy419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy420; default: goto yy2; } yy420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy421; default: goto yy2; } yy421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy422; default: goto yy2; } yy422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy423; default: goto yy2; } yy423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy424; default: goto yy2; } yy424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy425; default: goto yy2; } yy425: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy426; default: goto yy2; } yy426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy427; default: goto yy2; } yy427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy428; default: goto yy2; } yy428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy429; default: goto yy2; } yy429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy430; default: goto yy2; } yy430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy431; default: goto yy2; } yy431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy432; default: goto yy2; } yy432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy433; default: goto yy2; } yy433: yych = *++YYCURSOR; switch (yych) { case '_': goto yy434; default: goto yy2; } yy434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy435; default: goto yy2; } yy435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy436; default: goto yy2; } yy436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy437; default: goto yy2; } yy437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy438; default: goto yy2; } yy438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy439; default: goto yy2; } yy439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy440; default: goto yy2; } yy440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy441; default: goto yy2; } yy441: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy442; default: goto yy2; } yy442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy443; default: goto yy2; } yy443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy444; default: goto yy2; } yy444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy445; default: goto yy2; } yy445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy446; default: goto yy2; } yy446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy447; default: goto yy2; } yy447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy448; default: goto yy2; } yy448: yych = *++YYCURSOR; switch (yych) { case '_': goto yy449; default: goto yy2; } yy449: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy450; default: goto yy2; } yy450: yych = *++YYCURSOR; switch (yych) { case '0': goto yy451; default: goto yy2; } yy451: yych = *++YYCURSOR; switch (yych) { case '0': goto yy452; default: goto yy2; } yy452: yych = *++YYCURSOR; switch (yych) { case '1': goto yy453; default: goto yy2; } yy453: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy454; default: goto yy2; } yy454: yych = *++YYCURSOR; switch (yych) { case '0': goto yy455; default: goto yy2; } yy455: yych = *++YYCURSOR; switch (yych) { case '_': goto yy456; default: goto yy2; } yy456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy457; default: goto yy2; } yy457: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy458; default: goto yy2; } yy458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy459; default: goto yy2; } yy459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy460; default: goto yy2; } yy460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy461; default: goto yy2; } yy461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy462; default: goto yy2; } yy462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy463; default: goto yy2; } yy463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy464; default: goto yy2; } yy464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy465; default: goto yy2; } yy465: yych = *++YYCURSOR; switch (yych) { case '_': goto yy466; default: goto yy2; } yy466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy467; default: goto yy2; } yy467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy468; default: goto yy2; } yy468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy469; default: goto yy2; } yy469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy470; default: goto yy2; } yy470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy471; default: goto yy2; } yy471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy472; default: goto yy2; } yy472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy473; default: goto yy2; } yy473: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy474; default: goto yy2; } yy474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy475; default: goto yy2; } yy475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy476; default: goto yy2; } yy476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy477; default: goto yy2; } yy477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy478; default: goto yy2; } yy478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy479; default: goto yy2; } yy479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy480; default: goto yy2; } yy480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy481; default: goto yy2; } yy481: yych = *++YYCURSOR; switch (yych) { case '_': goto yy482; default: goto yy2; } yy482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy483; default: goto yy2; } yy483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy484; default: goto yy2; } yy484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy485; default: goto yy2; } yy485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy486; default: goto yy2; } yy486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy487; default: goto yy2; } yy487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy488; default: goto yy2; } yy488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy489; default: goto yy2; } yy489: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy490; default: goto yy2; } yy490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy491; default: goto yy2; } yy491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy492; default: goto yy2; } yy492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy493; default: goto yy2; } yy493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy494; default: goto yy2; } yy494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy495; default: goto yy2; } yy495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy496; default: goto yy2; } yy496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy497; default: goto yy2; } yy497: yych = *++YYCURSOR; switch (yych) { case '_': goto yy498; default: goto yy2; } yy498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy499; default: goto yy2; } yy499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy500; default: goto yy2; } yy500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy501; default: goto yy2; } yy501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy502; default: goto yy2; } yy502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy503; default: goto yy2; } yy503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy504; default: goto yy2; } yy504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy505; default: goto yy2; } yy505: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy506; default: goto yy2; } yy506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy507; default: goto yy2; } yy507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy508; default: goto yy2; } yy508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy509; default: goto yy2; } yy509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy510; default: goto yy2; } yy510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy511; default: goto yy2; } yy511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy512; default: goto yy2; } yy512: yych = *++YYCURSOR; switch (yych) { case '_': goto yy513; default: goto yy2; } yy513: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy514; default: goto yy2; } yy514: yych = *++YYCURSOR; switch (yych) { case '0': goto yy515; default: goto yy2; } yy515: yych = *++YYCURSOR; switch (yych) { case '0': goto yy516; default: goto yy2; } yy516: yych = *++YYCURSOR; switch (yych) { case '2': goto yy517; default: goto yy2; } yy517: yych = *++YYCURSOR; switch (yych) { case '0': goto yy518; default: goto yy2; } yy518: yych = *++YYCURSOR; switch (yych) { case '0': goto yy519; default: goto yy2; } yy519: yych = *++YYCURSOR; switch (yych) { case '_': goto yy520; default: goto yy2; } yy520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy521; default: goto yy2; } yy521: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy522; default: goto yy2; } yy522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy523; default: goto yy2; } yy523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy524; default: goto yy2; } yy524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy525; default: goto yy2; } yy525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy526; default: goto yy2; } yy526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy527; default: goto yy2; } yy527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy528; default: goto yy2; } yy528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy529; default: goto yy2; } yy529: yych = *++YYCURSOR; switch (yych) { case '_': goto yy530; default: goto yy2; } yy530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy531; default: goto yy2; } yy531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy532; default: goto yy2; } yy532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy533; default: goto yy2; } yy533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy534; default: goto yy2; } yy534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy535; default: goto yy2; } yy535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy536; default: goto yy2; } yy536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy537; default: goto yy2; } yy537: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy538; default: goto yy2; } yy538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy539; default: goto yy2; } yy539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy540; default: goto yy2; } yy540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy541; default: goto yy2; } yy541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy542; default: goto yy2; } yy542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy543; default: goto yy2; } yy543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy544; default: goto yy2; } yy544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy545; default: goto yy2; } yy545: yych = *++YYCURSOR; switch (yych) { case '_': goto yy546; default: goto yy2; } yy546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy547; default: goto yy2; } yy547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy548; default: goto yy2; } yy548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy549; default: goto yy2; } yy549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy550; default: goto yy2; } yy550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy551; default: goto yy2; } yy551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy552; default: goto yy2; } yy552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy553; default: goto yy2; } yy553: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy554; default: goto yy2; } yy554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy555; default: goto yy2; } yy555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy556; default: goto yy2; } yy556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy557; default: goto yy2; } yy557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy558; default: goto yy2; } yy558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy559; default: goto yy2; } yy559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy560; default: goto yy2; } yy560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy561; default: goto yy2; } yy561: yych = *++YYCURSOR; switch (yych) { case '_': goto yy562; default: goto yy2; } yy562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy563; default: goto yy2; } yy563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy564; default: goto yy2; } yy564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy565; default: goto yy2; } yy565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy566; default: goto yy2; } yy566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy567; default: goto yy2; } yy567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy568; default: goto yy2; } yy568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy569; default: goto yy2; } yy569: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy570; default: goto yy2; } yy570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy571; default: goto yy2; } yy571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy572; default: goto yy2; } yy572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy573; default: goto yy2; } yy573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy574; default: goto yy2; } yy574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy575; default: goto yy2; } yy575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy576; default: goto yy2; } yy576: yych = *++YYCURSOR; switch (yych) { case '_': goto yy577; default: goto yy2; } yy577: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy578; default: goto yy2; } yy578: yych = *++YYCURSOR; switch (yych) { case '0': goto yy579; default: goto yy2; } yy579: yych = *++YYCURSOR; switch (yych) { case '0': goto yy580; default: goto yy2; } yy580: yych = *++YYCURSOR; switch (yych) { case '2': goto yy581; default: goto yy2; } yy581: yych = *++YYCURSOR; switch (yych) { case '4': goto yy582; default: goto yy2; } yy582: yych = *++YYCURSOR; switch (yych) { case '0': goto yy583; default: goto yy2; } yy583: yych = *++YYCURSOR; switch (yych) { case '_': goto yy584; default: goto yy2; } yy584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy585; default: goto yy2; } yy585: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy586; default: goto yy2; } yy586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy587; default: goto yy2; } yy587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy588; default: goto yy2; } yy588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy589; default: goto yy2; } yy589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy590; default: goto yy2; } yy590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy591; default: goto yy2; } yy591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy592; default: goto yy2; } yy592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy593; default: goto yy2; } yy593: yych = *++YYCURSOR; switch (yych) { case '_': goto yy594; default: goto yy2; } yy594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy595; default: goto yy2; } yy595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy596; default: goto yy2; } yy596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy597; default: goto yy2; } yy597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy598; default: goto yy2; } yy598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy599; default: goto yy2; } yy599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy600; default: goto yy2; } yy600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy601; default: goto yy2; } yy601: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy602; default: goto yy2; } yy602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy603; default: goto yy2; } yy603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy604; default: goto yy2; } yy604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy605; default: goto yy2; } yy605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy606; default: goto yy2; } yy606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy607; default: goto yy2; } yy607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy608; default: goto yy2; } yy608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy609; default: goto yy2; } yy609: yych = *++YYCURSOR; switch (yych) { case '_': goto yy610; default: goto yy2; } yy610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy611; default: goto yy2; } yy611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy612; default: goto yy2; } yy612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy613; default: goto yy2; } yy613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy614; default: goto yy2; } yy614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy615; default: goto yy2; } yy615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy616; default: goto yy2; } yy616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy617; default: goto yy2; } yy617: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy618; default: goto yy2; } yy618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy619; default: goto yy2; } yy619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy620; default: goto yy2; } yy620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy621; default: goto yy2; } yy621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy622; default: goto yy2; } yy622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy623; default: goto yy2; } yy623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy624; default: goto yy2; } yy624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy625; default: goto yy2; } yy625: yych = *++YYCURSOR; switch (yych) { case '_': goto yy626; default: goto yy2; } yy626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy627; default: goto yy2; } yy627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy628; default: goto yy2; } yy628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy629; default: goto yy2; } yy629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy630; default: goto yy2; } yy630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy631; default: goto yy2; } yy631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy632; default: goto yy2; } yy632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy633; default: goto yy2; } yy633: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy634; default: goto yy2; } yy634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy635; default: goto yy2; } yy635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy636; default: goto yy2; } yy636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy637; default: goto yy2; } yy637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy638; default: goto yy2; } yy638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy639; default: goto yy2; } yy639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy640; default: goto yy2; } yy640: yych = *++YYCURSOR; switch (yych) { case '_': goto yy641; default: goto yy2; } yy641: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy642; default: goto yy2; } yy642: yych = *++YYCURSOR; switch (yych) { case '0': goto yy643; default: goto yy2; } yy643: yych = *++YYCURSOR; switch (yych) { case '0': goto yy644; default: goto yy2; } yy644: yych = *++YYCURSOR; switch (yych) { case '2': goto yy645; default: goto yy2; } yy645: yych = *++YYCURSOR; switch (yych) { case '8': goto yy646; default: goto yy2; } yy646: yych = *++YYCURSOR; switch (yych) { case '0': goto yy647; default: goto yy2; } yy647: yych = *++YYCURSOR; switch (yych) { case '_': goto yy648; default: goto yy2; } yy648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy649; default: goto yy2; } yy649: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy650; default: goto yy2; } yy650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy651; default: goto yy2; } yy651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy652; default: goto yy2; } yy652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy653; default: goto yy2; } yy653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy654; default: goto yy2; } yy654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy655; default: goto yy2; } yy655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy656; default: goto yy2; } yy656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy657; default: goto yy2; } yy657: yych = *++YYCURSOR; switch (yych) { case '_': goto yy658; default: goto yy2; } yy658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy659; default: goto yy2; } yy659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy660; default: goto yy2; } yy660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy661; default: goto yy2; } yy661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy662; default: goto yy2; } yy662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy663; default: goto yy2; } yy663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy664; default: goto yy2; } yy664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy665; default: goto yy2; } yy665: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy666; default: goto yy2; } yy666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy667; default: goto yy2; } yy667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy668; default: goto yy2; } yy668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy669; default: goto yy2; } yy669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy670; default: goto yy2; } yy670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy671; default: goto yy2; } yy671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy672; default: goto yy2; } yy672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy673; default: goto yy2; } yy673: yych = *++YYCURSOR; switch (yych) { case '_': goto yy674; default: goto yy2; } yy674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy675; default: goto yy2; } yy675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy676; default: goto yy2; } yy676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy677; default: goto yy2; } yy677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy678; default: goto yy2; } yy678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy679; default: goto yy2; } yy679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy680; default: goto yy2; } yy680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy681; default: goto yy2; } yy681: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy682; default: goto yy2; } yy682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy683; default: goto yy2; } yy683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy684; default: goto yy2; } yy684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy685; default: goto yy2; } yy685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy686; default: goto yy2; } yy686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy687; default: goto yy2; } yy687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy688; default: goto yy2; } yy688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy689; default: goto yy2; } yy689: yych = *++YYCURSOR; switch (yych) { case '_': goto yy690; default: goto yy2; } yy690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy691; default: goto yy2; } yy691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy692; default: goto yy2; } yy692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy693; default: goto yy2; } yy693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy694; default: goto yy2; } yy694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy695; default: goto yy2; } yy695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy696; default: goto yy2; } yy696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy697; default: goto yy2; } yy697: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy698; default: goto yy2; } yy698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy699; default: goto yy2; } yy699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy700; default: goto yy2; } yy700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy701; default: goto yy2; } yy701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy702; default: goto yy2; } yy702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy703; default: goto yy2; } yy703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy704; default: goto yy2; } yy704: yych = *++YYCURSOR; switch (yych) { case '_': goto yy705; default: goto yy2; } yy705: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy706; default: goto yy2; } yy706: yych = *++YYCURSOR; switch (yych) { case '0': goto yy707; default: goto yy2; } yy707: yych = *++YYCURSOR; switch (yych) { case '0': goto yy708; default: goto yy2; } yy708: yych = *++YYCURSOR; switch (yych) { case '2': goto yy709; default: goto yy2; } yy709: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy710; default: goto yy2; } yy710: yych = *++YYCURSOR; switch (yych) { case '0': goto yy711; default: goto yy2; } yy711: yych = *++YYCURSOR; switch (yych) { case '_': goto yy712; default: goto yy2; } yy712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy713; default: goto yy2; } yy713: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy714; default: goto yy2; } yy714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy715; default: goto yy2; } yy715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy716; default: goto yy2; } yy716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy717; default: goto yy2; } yy717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy718; default: goto yy2; } yy718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy719; default: goto yy2; } yy719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy720; default: goto yy2; } yy720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy721; default: goto yy2; } yy721: yych = *++YYCURSOR; switch (yych) { case '_': goto yy722; default: goto yy2; } yy722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy723; default: goto yy2; } yy723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy724; default: goto yy2; } yy724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy725; default: goto yy2; } yy725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy726; default: goto yy2; } yy726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy727; default: goto yy2; } yy727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy728; default: goto yy2; } yy728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy729; default: goto yy2; } yy729: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy730; default: goto yy2; } yy730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy731; default: goto yy2; } yy731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy732; default: goto yy2; } yy732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy733; default: goto yy2; } yy733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy734; default: goto yy2; } yy734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy735; default: goto yy2; } yy735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy736; default: goto yy2; } yy736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy737; default: goto yy2; } yy737: yych = *++YYCURSOR; switch (yych) { case '_': goto yy738; default: goto yy2; } yy738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy739; default: goto yy2; } yy739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy740; default: goto yy2; } yy740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy741; default: goto yy2; } yy741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy742; default: goto yy2; } yy742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy743; default: goto yy2; } yy743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy744; default: goto yy2; } yy744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy745; default: goto yy2; } yy745: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy746; default: goto yy2; } yy746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy747; default: goto yy2; } yy747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy748; default: goto yy2; } yy748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy749; default: goto yy2; } yy749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy750; default: goto yy2; } yy750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy751; default: goto yy2; } yy751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy752; default: goto yy2; } yy752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy753; default: goto yy2; } yy753: yych = *++YYCURSOR; switch (yych) { case '_': goto yy754; default: goto yy2; } yy754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy755; default: goto yy2; } yy755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy756; default: goto yy2; } yy756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy757; default: goto yy2; } yy757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy758; default: goto yy2; } yy758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy759; default: goto yy2; } yy759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy760; default: goto yy2; } yy760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy761; default: goto yy2; } yy761: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy762; default: goto yy2; } yy762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy763; default: goto yy2; } yy763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy764; default: goto yy2; } yy764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy765; default: goto yy2; } yy765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy766; default: goto yy2; } yy766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy767; default: goto yy2; } yy767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy768; default: goto yy2; } yy768: yych = *++YYCURSOR; switch (yych) { case '_': goto yy769; default: goto yy2; } yy769: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy770; default: goto yy2; } yy770: yych = *++YYCURSOR; switch (yych) { case '0': goto yy771; default: goto yy2; } yy771: yych = *++YYCURSOR; switch (yych) { case '0': goto yy772; default: goto yy2; } yy772: yych = *++YYCURSOR; switch (yych) { case '3': goto yy773; default: goto yy2; } yy773: yych = *++YYCURSOR; switch (yych) { case '0': goto yy774; default: goto yy2; } yy774: yych = *++YYCURSOR; switch (yych) { case '0': goto yy775; default: goto yy2; } yy775: yych = *++YYCURSOR; switch (yych) { case '_': goto yy776; default: goto yy2; } yy776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy777; default: goto yy2; } yy777: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy778; default: goto yy2; } yy778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy779; default: goto yy2; } yy779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy780; default: goto yy2; } yy780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy781; default: goto yy2; } yy781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy782; default: goto yy2; } yy782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy783; default: goto yy2; } yy783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy784; default: goto yy2; } yy784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy785; default: goto yy2; } yy785: yych = *++YYCURSOR; switch (yych) { case '_': goto yy786; default: goto yy2; } yy786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy787; default: goto yy2; } yy787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy788; default: goto yy2; } yy788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy789; default: goto yy2; } yy789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy790; default: goto yy2; } yy790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy791; default: goto yy2; } yy791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy792; default: goto yy2; } yy792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy793; default: goto yy2; } yy793: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy794; default: goto yy2; } yy794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy795; default: goto yy2; } yy795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy796; default: goto yy2; } yy796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy797; default: goto yy2; } yy797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy798; default: goto yy2; } yy798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy799; default: goto yy2; } yy799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy800; default: goto yy2; } yy800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy801; default: goto yy2; } yy801: yych = *++YYCURSOR; switch (yych) { case '_': goto yy802; default: goto yy2; } yy802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy803; default: goto yy2; } yy803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy804; default: goto yy2; } yy804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy805; default: goto yy2; } yy805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy806; default: goto yy2; } yy806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy807; default: goto yy2; } yy807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy808; default: goto yy2; } yy808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy809; default: goto yy2; } yy809: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy810; default: goto yy2; } yy810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy811; default: goto yy2; } yy811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy812; default: goto yy2; } yy812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy813; default: goto yy2; } yy813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy814; default: goto yy2; } yy814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy815; default: goto yy2; } yy815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy816; default: goto yy2; } yy816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy817; default: goto yy2; } yy817: yych = *++YYCURSOR; switch (yych) { case '_': goto yy818; default: goto yy2; } yy818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy819; default: goto yy2; } yy819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy820; default: goto yy2; } yy820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy821; default: goto yy2; } yy821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy822; default: goto yy2; } yy822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy823; default: goto yy2; } yy823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy824; default: goto yy2; } yy824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy825; default: goto yy2; } yy825: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy826; default: goto yy2; } yy826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy827; default: goto yy2; } yy827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy828; default: goto yy2; } yy828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy829; default: goto yy2; } yy829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy830; default: goto yy2; } yy830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy831; default: goto yy2; } yy831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy832; default: goto yy2; } yy832: yych = *++YYCURSOR; switch (yych) { case '_': goto yy833; default: goto yy2; } yy833: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy834; default: goto yy2; } yy834: yych = *++YYCURSOR; switch (yych) { case '0': goto yy835; default: goto yy2; } yy835: yych = *++YYCURSOR; switch (yych) { case '0': goto yy836; default: goto yy2; } yy836: yych = *++YYCURSOR; switch (yych) { case '3': goto yy837; default: goto yy2; } yy837: yych = *++YYCURSOR; switch (yych) { case '4': goto yy838; default: goto yy2; } yy838: yych = *++YYCURSOR; switch (yych) { case '0': goto yy839; default: goto yy2; } yy839: yych = *++YYCURSOR; switch (yych) { case '_': goto yy840; default: goto yy2; } yy840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy841; default: goto yy2; } yy841: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy842; default: goto yy2; } yy842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy843; default: goto yy2; } yy843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy844; default: goto yy2; } yy844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy845; default: goto yy2; } yy845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy846; default: goto yy2; } yy846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy847; default: goto yy2; } yy847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy848; default: goto yy2; } yy848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy849; default: goto yy2; } yy849: yych = *++YYCURSOR; switch (yych) { case '_': goto yy850; default: goto yy2; } yy850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy851; default: goto yy2; } yy851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy852; default: goto yy2; } yy852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy853; default: goto yy2; } yy853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy854; default: goto yy2; } yy854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy855; default: goto yy2; } yy855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy856; default: goto yy2; } yy856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy857; default: goto yy2; } yy857: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy858; default: goto yy2; } yy858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy859; default: goto yy2; } yy859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy860; default: goto yy2; } yy860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy861; default: goto yy2; } yy861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy862; default: goto yy2; } yy862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy863; default: goto yy2; } yy863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy864; default: goto yy2; } yy864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy865; default: goto yy2; } yy865: yych = *++YYCURSOR; switch (yych) { case '_': goto yy866; default: goto yy2; } yy866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy867; default: goto yy2; } yy867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy868; default: goto yy2; } yy868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy869; default: goto yy2; } yy869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy870; default: goto yy2; } yy870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy871; default: goto yy2; } yy871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy872; default: goto yy2; } yy872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy873; default: goto yy2; } yy873: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy874; default: goto yy2; } yy874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy875; default: goto yy2; } yy875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy876; default: goto yy2; } yy876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy877; default: goto yy2; } yy877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy878; default: goto yy2; } yy878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy879; default: goto yy2; } yy879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy880; default: goto yy2; } yy880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy881; default: goto yy2; } yy881: yych = *++YYCURSOR; switch (yych) { case '_': goto yy882; default: goto yy2; } yy882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy883; default: goto yy2; } yy883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy884; default: goto yy2; } yy884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy885; default: goto yy2; } yy885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy886; default: goto yy2; } yy886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy887; default: goto yy2; } yy887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy888; default: goto yy2; } yy888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy889; default: goto yy2; } yy889: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy890; default: goto yy2; } yy890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy891; default: goto yy2; } yy891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy892; default: goto yy2; } yy892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy893; default: goto yy2; } yy893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy894; default: goto yy2; } yy894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy895; default: goto yy2; } yy895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy896; default: goto yy2; } yy896: yych = *++YYCURSOR; switch (yych) { case '_': goto yy897; default: goto yy2; } yy897: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy898; default: goto yy2; } yy898: yych = *++YYCURSOR; switch (yych) { case '0': goto yy899; default: goto yy2; } yy899: yych = *++YYCURSOR; switch (yych) { case '0': goto yy900; default: goto yy2; } yy900: yych = *++YYCURSOR; switch (yych) { case '3': goto yy901; default: goto yy2; } yy901: yych = *++YYCURSOR; switch (yych) { case '8': goto yy902; default: goto yy2; } yy902: yych = *++YYCURSOR; switch (yych) { case '0': goto yy903; default: goto yy2; } yy903: yych = *++YYCURSOR; switch (yych) { case '_': goto yy904; default: goto yy2; } yy904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy905; default: goto yy2; } yy905: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy906; default: goto yy2; } yy906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy907; default: goto yy2; } yy907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy908; default: goto yy2; } yy908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy909; default: goto yy2; } yy909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy910; default: goto yy2; } yy910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy911; default: goto yy2; } yy911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy912; default: goto yy2; } yy912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy913; default: goto yy2; } yy913: yych = *++YYCURSOR; switch (yych) { case '_': goto yy914; default: goto yy2; } yy914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy915; default: goto yy2; } yy915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy916; default: goto yy2; } yy916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy917; default: goto yy2; } yy917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy918; default: goto yy2; } yy918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy919; default: goto yy2; } yy919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy920; default: goto yy2; } yy920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy921; default: goto yy2; } yy921: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy922; default: goto yy2; } yy922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy923; default: goto yy2; } yy923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy924; default: goto yy2; } yy924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy925; default: goto yy2; } yy925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy926; default: goto yy2; } yy926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy927; default: goto yy2; } yy927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy928; default: goto yy2; } yy928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy929; default: goto yy2; } yy929: yych = *++YYCURSOR; switch (yych) { case '_': goto yy930; default: goto yy2; } yy930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy931; default: goto yy2; } yy931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy932; default: goto yy2; } yy932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy933; default: goto yy2; } yy933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy934; default: goto yy2; } yy934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy935; default: goto yy2; } yy935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy936; default: goto yy2; } yy936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy937; default: goto yy2; } yy937: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy938; default: goto yy2; } yy938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy939; default: goto yy2; } yy939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy940; default: goto yy2; } yy940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy941; default: goto yy2; } yy941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy942; default: goto yy2; } yy942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy943; default: goto yy2; } yy943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy944; default: goto yy2; } yy944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy945; default: goto yy2; } yy945: yych = *++YYCURSOR; switch (yych) { case '_': goto yy946; default: goto yy2; } yy946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy947; default: goto yy2; } yy947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy948; default: goto yy2; } yy948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy949; default: goto yy2; } yy949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy950; default: goto yy2; } yy950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy951; default: goto yy2; } yy951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy952; default: goto yy2; } yy952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy953; default: goto yy2; } yy953: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy954; default: goto yy2; } yy954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy955; default: goto yy2; } yy955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy956; default: goto yy2; } yy956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy957; default: goto yy2; } yy957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy958; default: goto yy2; } yy958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy959; default: goto yy2; } yy959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy960; default: goto yy2; } yy960: yych = *++YYCURSOR; switch (yych) { case '_': goto yy961; default: goto yy2; } yy961: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy962; default: goto yy2; } yy962: yych = *++YYCURSOR; switch (yych) { case '0': goto yy963; default: goto yy2; } yy963: yych = *++YYCURSOR; switch (yych) { case '0': goto yy964; default: goto yy2; } yy964: yych = *++YYCURSOR; switch (yych) { case '3': goto yy965; default: goto yy2; } yy965: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy966; default: goto yy2; } yy966: yych = *++YYCURSOR; switch (yych) { case '0': goto yy967; default: goto yy2; } yy967: yych = *++YYCURSOR; switch (yych) { case '_': goto yy968; default: goto yy2; } yy968: yych = *++YYCURSOR; switch (yych) { case '1': goto yy969; default: goto yy2; } yy969: yych = *++YYCURSOR; switch (yych) { case 's': goto yy970; default: goto yy2; } yy970: yych = *++YYCURSOR; switch (yych) { case 't': goto yy971; default: goto yy2; } yy971: yych = *++YYCURSOR; switch (yych) { case '_': goto yy972; default: goto yy2; } yy972: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy973; default: goto yy2; } yy973: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy974; default: goto yy2; } yy974: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy975; default: goto yy2; } yy975: yych = *++YYCURSOR; switch (yych) { case 't': goto yy976; default: goto yy2; } yy976: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy977; default: goto yy2; } yy977: yych = *++YYCURSOR; switch (yych) { case '_': goto yy978; default: goto yy2; } yy978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy979; default: goto yy2; } yy979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy980; default: goto yy2; } yy980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy981; default: goto yy2; } yy981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy982; default: goto yy2; } yy982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy983; default: goto yy2; } yy983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy984; default: goto yy2; } yy984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy985; default: goto yy2; } yy985: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy986; default: goto yy2; } yy986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy987; default: goto yy2; } yy987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy988; default: goto yy2; } yy988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy989; default: goto yy2; } yy989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy990; default: goto yy2; } yy990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy991; default: goto yy2; } yy991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy992; default: goto yy2; } yy992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy993; default: goto yy2; } yy993: yych = *++YYCURSOR; switch (yych) { case '_': goto yy994; default: goto yy2; } yy994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy995; default: goto yy2; } yy995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy996; default: goto yy2; } yy996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy997; default: goto yy2; } yy997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy998; default: goto yy2; } yy998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy999; default: goto yy2; } yy999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1000; default: goto yy2; } yy1000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1001; default: goto yy2; } yy1001: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1002; default: goto yy2; } yy1002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1003; default: goto yy2; } yy1003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1004; default: goto yy2; } yy1004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1005; default: goto yy2; } yy1005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1006; default: goto yy2; } yy1006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1007; default: goto yy2; } yy1007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1008; default: goto yy2; } yy1008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1009; default: goto yy2; } yy1009: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1010; default: goto yy2; } yy1010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1011; default: goto yy2; } yy1011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1012; default: goto yy2; } yy1012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1013; default: goto yy2; } yy1013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1014; default: goto yy2; } yy1014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1015; default: goto yy2; } yy1015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1016; default: goto yy2; } yy1016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1017; default: goto yy2; } yy1017: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1018; default: goto yy2; } yy1018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1019; default: goto yy2; } yy1019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1020; default: goto yy2; } yy1020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1021; default: goto yy2; } yy1021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1022; default: goto yy2; } yy1022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1023; default: goto yy2; } yy1023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1024; default: goto yy2; } yy1024: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1025; default: goto yy2; } yy1025: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1026; default: goto yy2; } yy1026: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1027; default: goto yy2; } yy1027: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1028; default: goto yy2; } yy1028: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1029; default: goto yy2; } yy1029: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1030; default: goto yy2; } yy1030: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1031; default: goto yy2; } yy1031: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1032; default: goto yy2; } yy1032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1033; default: goto yy2; } yy1033: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1034; default: goto yy2; } yy1034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1035; default: goto yy2; } yy1035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1036; default: goto yy2; } yy1036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1037; default: goto yy2; } yy1037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1038; default: goto yy2; } yy1038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1039; default: goto yy2; } yy1039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1040; default: goto yy2; } yy1040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1041; default: goto yy2; } yy1041: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1042; default: goto yy2; } yy1042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1043; default: goto yy2; } yy1043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1044; default: goto yy2; } yy1044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1045; default: goto yy2; } yy1045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1046; default: goto yy2; } yy1046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1047; default: goto yy2; } yy1047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1048; default: goto yy2; } yy1048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1049; default: goto yy2; } yy1049: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1050; default: goto yy2; } yy1050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1051; default: goto yy2; } yy1051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1052; default: goto yy2; } yy1052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1053; default: goto yy2; } yy1053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1054; default: goto yy2; } yy1054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1055; default: goto yy2; } yy1055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1056; default: goto yy2; } yy1056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1057; default: goto yy2; } yy1057: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1058; default: goto yy2; } yy1058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1059; default: goto yy2; } yy1059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1060; default: goto yy2; } yy1060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1061; default: goto yy2; } yy1061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1062; default: goto yy2; } yy1062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1063; default: goto yy2; } yy1063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1064; default: goto yy2; } yy1064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1065; default: goto yy2; } yy1065: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1066; default: goto yy2; } yy1066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1067; default: goto yy2; } yy1067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1068; default: goto yy2; } yy1068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1069; default: goto yy2; } yy1069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1070; default: goto yy2; } yy1070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1071; default: goto yy2; } yy1071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1072; default: goto yy2; } yy1072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1073; default: goto yy2; } yy1073: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1074; default: goto yy2; } yy1074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1075; default: goto yy2; } yy1075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1076; default: goto yy2; } yy1076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1077; default: goto yy2; } yy1077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1078; default: goto yy2; } yy1078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1079; default: goto yy2; } yy1079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1080; default: goto yy2; } yy1080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1081; default: goto yy2; } yy1081: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1082; default: goto yy2; } yy1082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1083; default: goto yy2; } yy1083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1084; default: goto yy2; } yy1084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1085; default: goto yy2; } yy1085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1086; default: goto yy2; } yy1086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1087; default: goto yy2; } yy1087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1088; default: goto yy2; } yy1088: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1089; default: goto yy2; } yy1089: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1090; default: goto yy2; } yy1090: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1091; default: goto yy2; } yy1091: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1092; default: goto yy2; } yy1092: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1093; default: goto yy2; } yy1093: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1094; default: goto yy2; } yy1094: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1095; default: goto yy2; } yy1095: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1096; default: goto yy2; } yy1096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1097; default: goto yy2; } yy1097: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1098; default: goto yy2; } yy1098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1099; default: goto yy2; } yy1099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1100; default: goto yy2; } yy1100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1101; default: goto yy2; } yy1101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1102; default: goto yy2; } yy1102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1103; default: goto yy2; } yy1103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1104; default: goto yy2; } yy1104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1105; default: goto yy2; } yy1105: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1106; default: goto yy2; } yy1106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1107; default: goto yy2; } yy1107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1108; default: goto yy2; } yy1108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1109; default: goto yy2; } yy1109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1110; default: goto yy2; } yy1110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1111; default: goto yy2; } yy1111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1112; default: goto yy2; } yy1112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1113; default: goto yy2; } yy1113: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1114; default: goto yy2; } yy1114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1115; default: goto yy2; } yy1115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1116; default: goto yy2; } yy1116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1117; default: goto yy2; } yy1117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1118; default: goto yy2; } yy1118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1119; default: goto yy2; } yy1119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1120; default: goto yy2; } yy1120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1121; default: goto yy2; } yy1121: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1122; default: goto yy2; } yy1122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1123; default: goto yy2; } yy1123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1124; default: goto yy2; } yy1124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1125; default: goto yy2; } yy1125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1126; default: goto yy2; } yy1126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1127; default: goto yy2; } yy1127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1128; default: goto yy2; } yy1128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1129; default: goto yy2; } yy1129: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1130; default: goto yy2; } yy1130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1131; default: goto yy2; } yy1131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1132; default: goto yy2; } yy1132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1133; default: goto yy2; } yy1133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1134; default: goto yy2; } yy1134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1135; default: goto yy2; } yy1135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1136; default: goto yy2; } yy1136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1137; default: goto yy2; } yy1137: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1138; default: goto yy2; } yy1138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1139; default: goto yy2; } yy1139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1140; default: goto yy2; } yy1140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1141; default: goto yy2; } yy1141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1142; default: goto yy2; } yy1142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1143; default: goto yy2; } yy1143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1144; default: goto yy2; } yy1144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1145; default: goto yy2; } yy1145: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1146; default: goto yy2; } yy1146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1147; default: goto yy2; } yy1147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1148; default: goto yy2; } yy1148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1149; default: goto yy2; } yy1149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1150; default: goto yy2; } yy1150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1151; default: goto yy2; } yy1151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1152; default: goto yy2; } yy1152: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1153; default: goto yy2; } yy1153: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1154; default: goto yy2; } yy1154: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1155; default: goto yy2; } yy1155: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1156; default: goto yy2; } yy1156: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1157; default: goto yy2; } yy1157: yych = *++YYCURSOR; switch (yych) { case '8': goto yy1158; default: goto yy2; } yy1158: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1159; default: goto yy2; } yy1159: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1160; default: goto yy2; } yy1160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1161; default: goto yy2; } yy1161: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1162; default: goto yy2; } yy1162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1163; default: goto yy2; } yy1163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1164; default: goto yy2; } yy1164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1165; default: goto yy2; } yy1165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1166; default: goto yy2; } yy1166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1167; default: goto yy2; } yy1167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1168; default: goto yy2; } yy1168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1169; default: goto yy2; } yy1169: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1170; default: goto yy2; } yy1170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1171; default: goto yy2; } yy1171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1172; default: goto yy2; } yy1172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1173; default: goto yy2; } yy1173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1174; default: goto yy2; } yy1174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1175; default: goto yy2; } yy1175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1176; default: goto yy2; } yy1176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1177; default: goto yy2; } yy1177: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1178; default: goto yy2; } yy1178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1179; default: goto yy2; } yy1179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1180; default: goto yy2; } yy1180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1181; default: goto yy2; } yy1181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1182; default: goto yy2; } yy1182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1183; default: goto yy2; } yy1183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1184; default: goto yy2; } yy1184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1185; default: goto yy2; } yy1185: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1186; default: goto yy2; } yy1186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1187; default: goto yy2; } yy1187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1188; default: goto yy2; } yy1188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1189; default: goto yy2; } yy1189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1190; default: goto yy2; } yy1190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1191; default: goto yy2; } yy1191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1192; default: goto yy2; } yy1192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1193; default: goto yy2; } yy1193: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1194; default: goto yy2; } yy1194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1195; default: goto yy2; } yy1195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1196; default: goto yy2; } yy1196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1197; default: goto yy2; } yy1197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1198; default: goto yy2; } yy1198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1199; default: goto yy2; } yy1199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1200; default: goto yy2; } yy1200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1201; default: goto yy2; } yy1201: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1202; default: goto yy2; } yy1202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1203; default: goto yy2; } yy1203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1204; default: goto yy2; } yy1204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1205; default: goto yy2; } yy1205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1206; default: goto yy2; } yy1206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1207; default: goto yy2; } yy1207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1208; default: goto yy2; } yy1208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1209; default: goto yy2; } yy1209: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1210; default: goto yy2; } yy1210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1211; default: goto yy2; } yy1211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1212; default: goto yy2; } yy1212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1213; default: goto yy2; } yy1213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1214; default: goto yy2; } yy1214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1215; default: goto yy2; } yy1215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1216; default: goto yy2; } yy1216: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1217; default: goto yy2; } yy1217: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1218; default: goto yy2; } yy1218: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1219; default: goto yy2; } yy1219: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1220; default: goto yy2; } yy1220: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1221; default: goto yy2; } yy1221: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy1222; default: goto yy2; } yy1222: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1223; default: goto yy2; } yy1223: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1224; default: goto yy2; } yy1224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1225; default: goto yy2; } yy1225: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1226; default: goto yy2; } yy1226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1227; default: goto yy2; } yy1227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1228; default: goto yy2; } yy1228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1229; default: goto yy2; } yy1229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1230; default: goto yy2; } yy1230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1231; default: goto yy2; } yy1231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1232; default: goto yy2; } yy1232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1233; default: goto yy2; } yy1233: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1234; default: goto yy2; } yy1234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1235; default: goto yy2; } yy1235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1236; default: goto yy2; } yy1236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1237; default: goto yy2; } yy1237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1238; default: goto yy2; } yy1238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1239; default: goto yy2; } yy1239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1240; default: goto yy2; } yy1240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1241; default: goto yy2; } yy1241: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1242; default: goto yy2; } yy1242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1243; default: goto yy2; } yy1243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1244; default: goto yy2; } yy1244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1245; default: goto yy2; } yy1245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1246; default: goto yy2; } yy1246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1247; default: goto yy2; } yy1247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1248; default: goto yy2; } yy1248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1249; default: goto yy2; } yy1249: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1250; default: goto yy2; } yy1250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1251; default: goto yy2; } yy1251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1252; default: goto yy2; } yy1252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1253; default: goto yy2; } yy1253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1254; default: goto yy2; } yy1254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1255; default: goto yy2; } yy1255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1256; default: goto yy2; } yy1256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1257; default: goto yy2; } yy1257: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1258; default: goto yy2; } yy1258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1259; default: goto yy2; } yy1259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1260; default: goto yy2; } yy1260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1261; default: goto yy2; } yy1261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1262; default: goto yy2; } yy1262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1263; default: goto yy2; } yy1263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1264; default: goto yy2; } yy1264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1265; default: goto yy2; } yy1265: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1266; default: goto yy2; } yy1266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1267; default: goto yy2; } yy1267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1268; default: goto yy2; } yy1268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1269; default: goto yy2; } yy1269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1270; default: goto yy2; } yy1270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1271; default: goto yy2; } yy1271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1272; default: goto yy2; } yy1272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1273; default: goto yy2; } yy1273: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1274; default: goto yy2; } yy1274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1275; default: goto yy2; } yy1275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1276; default: goto yy2; } yy1276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1277; default: goto yy2; } yy1277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1278; default: goto yy2; } yy1278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1279; default: goto yy2; } yy1279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1280; default: goto yy2; } yy1280: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1281; default: goto yy2; } yy1281: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1282; default: goto yy2; } yy1282: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1283; default: goto yy2; } yy1283: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1284; default: goto yy2; } yy1284: yych = *++YYCURSOR; switch (yych) { case '5': goto yy1285; default: goto yy2; } yy1285: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1286; default: goto yy2; } yy1286: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1287; default: goto yy2; } yy1287: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1288; default: goto yy2; } yy1288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1289; default: goto yy2; } yy1289: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1290; default: goto yy2; } yy1290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1291; default: goto yy2; } yy1291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1292; default: goto yy2; } yy1292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1293; default: goto yy2; } yy1293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1294; default: goto yy2; } yy1294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1295; default: goto yy2; } yy1295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1296; default: goto yy2; } yy1296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1297; default: goto yy2; } yy1297: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1298; default: goto yy2; } yy1298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1299; default: goto yy2; } yy1299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1300; default: goto yy2; } yy1300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1301; default: goto yy2; } yy1301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1302; default: goto yy2; } yy1302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1303; default: goto yy2; } yy1303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1304; default: goto yy2; } yy1304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1305; default: goto yy2; } yy1305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1306; default: goto yy2; } yy1306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1307; default: goto yy2; } yy1307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1308; default: goto yy2; } yy1308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1309; default: goto yy2; } yy1309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1310; default: goto yy2; } yy1310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1311; default: goto yy2; } yy1311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1312; default: goto yy2; } yy1312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1313; default: goto yy2; } yy1313: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1314; default: goto yy2; } yy1314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1315; default: goto yy2; } yy1315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1316; default: goto yy2; } yy1316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1317; default: goto yy2; } yy1317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1318; default: goto yy2; } yy1318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1319; default: goto yy2; } yy1319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1320; default: goto yy2; } yy1320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1321; default: goto yy2; } yy1321: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1322; default: goto yy2; } yy1322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1323; default: goto yy2; } yy1323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1324; default: goto yy2; } yy1324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1325; default: goto yy2; } yy1325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1326; default: goto yy2; } yy1326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1327; default: goto yy2; } yy1327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1328; default: goto yy2; } yy1328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1329; default: goto yy2; } yy1329: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1330; default: goto yy2; } yy1330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1331; default: goto yy2; } yy1331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1332; default: goto yy2; } yy1332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1333; default: goto yy2; } yy1333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1334; default: goto yy2; } yy1334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1335; default: goto yy2; } yy1335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1336; default: goto yy2; } yy1336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1337; default: goto yy2; } yy1337: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1338; default: goto yy2; } yy1338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1339; default: goto yy2; } yy1339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1340; default: goto yy2; } yy1340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1341; default: goto yy2; } yy1341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1342; default: goto yy2; } yy1342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1343; default: goto yy2; } yy1343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1344; default: goto yy2; } yy1344: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1345; default: goto yy2; } yy1345: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1346; default: goto yy2; } yy1346: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1347; default: goto yy2; } yy1347: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1348; default: goto yy2; } yy1348: yych = *++YYCURSOR; switch (yych) { case '5': goto yy1349; default: goto yy2; } yy1349: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1350; default: goto yy2; } yy1350: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1351; default: goto yy2; } yy1351: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1352; default: goto yy2; } yy1352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1353; default: goto yy2; } yy1353: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1354; default: goto yy2; } yy1354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1355; default: goto yy2; } yy1355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1356; default: goto yy2; } yy1356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1357; default: goto yy2; } yy1357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1358; default: goto yy2; } yy1358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1359; default: goto yy2; } yy1359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1360; default: goto yy2; } yy1360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1361; default: goto yy2; } yy1361: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1362; default: goto yy2; } yy1362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1363; default: goto yy2; } yy1363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1364; default: goto yy2; } yy1364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1365; default: goto yy2; } yy1365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1366; default: goto yy2; } yy1366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1367; default: goto yy2; } yy1367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1368; default: goto yy2; } yy1368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1369; default: goto yy2; } yy1369: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1370; default: goto yy2; } yy1370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1371; default: goto yy2; } yy1371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1372; default: goto yy2; } yy1372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1373; default: goto yy2; } yy1373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1374; default: goto yy2; } yy1374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1375; default: goto yy2; } yy1375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1376; default: goto yy2; } yy1376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1377; default: goto yy2; } yy1377: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1378; default: goto yy2; } yy1378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1379; default: goto yy2; } yy1379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1380; default: goto yy2; } yy1380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1381; default: goto yy2; } yy1381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1382; default: goto yy2; } yy1382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1383; default: goto yy2; } yy1383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1384; default: goto yy2; } yy1384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1385; default: goto yy2; } yy1385: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1386; default: goto yy2; } yy1386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1387; default: goto yy2; } yy1387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1388; default: goto yy2; } yy1388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1389; default: goto yy2; } yy1389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1390; default: goto yy2; } yy1390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1391; default: goto yy2; } yy1391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1392; default: goto yy2; } yy1392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1393; default: goto yy2; } yy1393: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1394; default: goto yy2; } yy1394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1395; default: goto yy2; } yy1395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1396; default: goto yy2; } yy1396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1397; default: goto yy2; } yy1397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1398; default: goto yy2; } yy1398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1399; default: goto yy2; } yy1399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1400; default: goto yy2; } yy1400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1401; default: goto yy2; } yy1401: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1402; default: goto yy2; } yy1402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1403; default: goto yy2; } yy1403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1404; default: goto yy2; } yy1404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1405; default: goto yy2; } yy1405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1406; default: goto yy2; } yy1406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1407; default: goto yy2; } yy1407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1408; default: goto yy2; } yy1408: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1409; default: goto yy2; } yy1409: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1410; default: goto yy2; } yy1410: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1411; default: goto yy2; } yy1411: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1412; default: goto yy2; } yy1412: yych = *++YYCURSOR; switch (yych) { case '5': goto yy1413; default: goto yy2; } yy1413: yych = *++YYCURSOR; switch (yych) { case '8': goto yy1414; default: goto yy2; } yy1414: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1415; default: goto yy2; } yy1415: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1416; default: goto yy2; } yy1416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1417; default: goto yy2; } yy1417: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1418; default: goto yy2; } yy1418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1419; default: goto yy2; } yy1419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1420; default: goto yy2; } yy1420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1421; default: goto yy2; } yy1421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1422; default: goto yy2; } yy1422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1423; default: goto yy2; } yy1423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1424; default: goto yy2; } yy1424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1425; default: goto yy2; } yy1425: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1426; default: goto yy2; } yy1426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1427; default: goto yy2; } yy1427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1428; default: goto yy2; } yy1428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1429; default: goto yy2; } yy1429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1430; default: goto yy2; } yy1430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1431; default: goto yy2; } yy1431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1432; default: goto yy2; } yy1432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1433; default: goto yy2; } yy1433: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1434; default: goto yy2; } yy1434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1435; default: goto yy2; } yy1435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1436; default: goto yy2; } yy1436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1437; default: goto yy2; } yy1437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1438; default: goto yy2; } yy1438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1439; default: goto yy2; } yy1439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1440; default: goto yy2; } yy1440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1441; default: goto yy2; } yy1441: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1442; default: goto yy2; } yy1442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1443; default: goto yy2; } yy1443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1444; default: goto yy2; } yy1444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1445; default: goto yy2; } yy1445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1446; default: goto yy2; } yy1446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1447; default: goto yy2; } yy1447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1448; default: goto yy2; } yy1448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1449; default: goto yy2; } yy1449: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1450; default: goto yy2; } yy1450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1451; default: goto yy2; } yy1451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1452; default: goto yy2; } yy1452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1453; default: goto yy2; } yy1453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1454; default: goto yy2; } yy1454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1455; default: goto yy2; } yy1455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1456; default: goto yy2; } yy1456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1457; default: goto yy2; } yy1457: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1458; default: goto yy2; } yy1458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1459; default: goto yy2; } yy1459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1460; default: goto yy2; } yy1460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1461; default: goto yy2; } yy1461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1462; default: goto yy2; } yy1462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1463; default: goto yy2; } yy1463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1464; default: goto yy2; } yy1464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1465; default: goto yy2; } yy1465: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1466; default: goto yy2; } yy1466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1467; default: goto yy2; } yy1467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1468; default: goto yy2; } yy1468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1469; default: goto yy2; } yy1469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1470; default: goto yy2; } yy1470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1471; default: goto yy2; } yy1471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1472; default: goto yy2; } yy1472: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1473; default: goto yy2; } yy1473: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1474; default: goto yy2; } yy1474: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1475; default: goto yy2; } yy1475: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1476; default: goto yy2; } yy1476: yych = *++YYCURSOR; switch (yych) { case '5': goto yy1477; default: goto yy2; } yy1477: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy1478; default: goto yy2; } yy1478: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1479; default: goto yy2; } yy1479: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1480; default: goto yy2; } yy1480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1481; default: goto yy2; } yy1481: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1482; default: goto yy2; } yy1482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1483; default: goto yy2; } yy1483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1484; default: goto yy2; } yy1484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1485; default: goto yy2; } yy1485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1486; default: goto yy2; } yy1486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1487; default: goto yy2; } yy1487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1488; default: goto yy2; } yy1488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1489; default: goto yy2; } yy1489: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1490; default: goto yy2; } yy1490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1491; default: goto yy2; } yy1491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1492; default: goto yy2; } yy1492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1493; default: goto yy2; } yy1493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1494; default: goto yy2; } yy1494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1495; default: goto yy2; } yy1495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1496; default: goto yy2; } yy1496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1497; default: goto yy2; } yy1497: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1498; default: goto yy2; } yy1498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1499; default: goto yy2; } yy1499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1500; default: goto yy2; } yy1500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1501; default: goto yy2; } yy1501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1502; default: goto yy2; } yy1502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1503; default: goto yy2; } yy1503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1504; default: goto yy2; } yy1504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1505; default: goto yy2; } yy1505: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1506; default: goto yy2; } yy1506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1507; default: goto yy2; } yy1507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1508; default: goto yy2; } yy1508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1509; default: goto yy2; } yy1509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1510; default: goto yy2; } yy1510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1511; default: goto yy2; } yy1511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1512; default: goto yy2; } yy1512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1513; default: goto yy2; } yy1513: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1514; default: goto yy2; } yy1514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1515; default: goto yy2; } yy1515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1516; default: goto yy2; } yy1516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1517; default: goto yy2; } yy1517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1518; default: goto yy2; } yy1518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1519; default: goto yy2; } yy1519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1520; default: goto yy2; } yy1520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1521; default: goto yy2; } yy1521: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1522; default: goto yy2; } yy1522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1523; default: goto yy2; } yy1523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1524; default: goto yy2; } yy1524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1525; default: goto yy2; } yy1525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1526; default: goto yy2; } yy1526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1527; default: goto yy2; } yy1527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1528; default: goto yy2; } yy1528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1529; default: goto yy2; } yy1529: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1530; default: goto yy2; } yy1530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1531; default: goto yy2; } yy1531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1532; default: goto yy2; } yy1532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1533; default: goto yy2; } yy1533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1534; default: goto yy2; } yy1534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1535; default: goto yy2; } yy1535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1536; default: goto yy2; } yy1536: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1537; default: goto yy2; } yy1537: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1538; default: goto yy2; } yy1538: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1539; default: goto yy2; } yy1539: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1540; default: goto yy2; } yy1540: yych = *++YYCURSOR; switch (yych) { case '6': goto yy1541; default: goto yy2; } yy1541: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1542; default: goto yy2; } yy1542: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1543; default: goto yy2; } yy1543: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1544; default: goto yy2; } yy1544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1545; default: goto yy2; } yy1545: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1546; default: goto yy2; } yy1546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1547; default: goto yy2; } yy1547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1548; default: goto yy2; } yy1548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1549; default: goto yy2; } yy1549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1550; default: goto yy2; } yy1550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1551; default: goto yy2; } yy1551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1552; default: goto yy2; } yy1552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1553; default: goto yy2; } yy1553: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1554; default: goto yy2; } yy1554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1555; default: goto yy2; } yy1555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1556; default: goto yy2; } yy1556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1557; default: goto yy2; } yy1557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1558; default: goto yy2; } yy1558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1559; default: goto yy2; } yy1559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1560; default: goto yy2; } yy1560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1561; default: goto yy2; } yy1561: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1562; default: goto yy2; } yy1562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1563; default: goto yy2; } yy1563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1564; default: goto yy2; } yy1564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1565; default: goto yy2; } yy1565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1566; default: goto yy2; } yy1566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1567; default: goto yy2; } yy1567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1568; default: goto yy2; } yy1568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1569; default: goto yy2; } yy1569: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1570; default: goto yy2; } yy1570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1571; default: goto yy2; } yy1571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1572; default: goto yy2; } yy1572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1573; default: goto yy2; } yy1573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1574; default: goto yy2; } yy1574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1575; default: goto yy2; } yy1575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1576; default: goto yy2; } yy1576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1577; default: goto yy2; } yy1577: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1578; default: goto yy2; } yy1578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1579; default: goto yy2; } yy1579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1580; default: goto yy2; } yy1580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1581; default: goto yy2; } yy1581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1582; default: goto yy2; } yy1582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1583; default: goto yy2; } yy1583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1584; default: goto yy2; } yy1584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1585; default: goto yy2; } yy1585: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1586; default: goto yy2; } yy1586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1587; default: goto yy2; } yy1587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1588; default: goto yy2; } yy1588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1589; default: goto yy2; } yy1589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1590; default: goto yy2; } yy1590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1591; default: goto yy2; } yy1591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1592; default: goto yy2; } yy1592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1593; default: goto yy2; } yy1593: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1594; default: goto yy2; } yy1594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1595; default: goto yy2; } yy1595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1596; default: goto yy2; } yy1596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1597; default: goto yy2; } yy1597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1598; default: goto yy2; } yy1598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1599; default: goto yy2; } yy1599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1600; default: goto yy2; } yy1600: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1601; default: goto yy2; } yy1601: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1602; default: goto yy2; } yy1602: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1603; default: goto yy2; } yy1603: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1604; default: goto yy2; } yy1604: yych = *++YYCURSOR; switch (yych) { case '6': goto yy1605; default: goto yy2; } yy1605: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1606; default: goto yy2; } yy1606: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1607; default: goto yy2; } yy1607: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1608; default: goto yy2; } yy1608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1609; default: goto yy2; } yy1609: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1610; default: goto yy2; } yy1610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1611; default: goto yy2; } yy1611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1612; default: goto yy2; } yy1612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1613; default: goto yy2; } yy1613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1614; default: goto yy2; } yy1614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1615; default: goto yy2; } yy1615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1616; default: goto yy2; } yy1616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1617; default: goto yy2; } yy1617: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1618; default: goto yy2; } yy1618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1619; default: goto yy2; } yy1619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1620; default: goto yy2; } yy1620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1621; default: goto yy2; } yy1621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1622; default: goto yy2; } yy1622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1623; default: goto yy2; } yy1623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1624; default: goto yy2; } yy1624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1625; default: goto yy2; } yy1625: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1626; default: goto yy2; } yy1626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1627; default: goto yy2; } yy1627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1628; default: goto yy2; } yy1628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1629; default: goto yy2; } yy1629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1630; default: goto yy2; } yy1630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1631; default: goto yy2; } yy1631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1632; default: goto yy2; } yy1632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1633; default: goto yy2; } yy1633: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1634; default: goto yy2; } yy1634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1635; default: goto yy2; } yy1635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1636; default: goto yy2; } yy1636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1637; default: goto yy2; } yy1637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1638; default: goto yy2; } yy1638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1639; default: goto yy2; } yy1639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1640; default: goto yy2; } yy1640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1641; default: goto yy2; } yy1641: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1642; default: goto yy2; } yy1642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1643; default: goto yy2; } yy1643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1644; default: goto yy2; } yy1644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1645; default: goto yy2; } yy1645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1646; default: goto yy2; } yy1646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1647; default: goto yy2; } yy1647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1648; default: goto yy2; } yy1648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1649; default: goto yy2; } yy1649: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1650; default: goto yy2; } yy1650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1651; default: goto yy2; } yy1651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1652; default: goto yy2; } yy1652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1653; default: goto yy2; } yy1653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1654; default: goto yy2; } yy1654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1655; default: goto yy2; } yy1655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1656; default: goto yy2; } yy1656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1657; default: goto yy2; } yy1657: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1658; default: goto yy2; } yy1658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1659; default: goto yy2; } yy1659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1660; default: goto yy2; } yy1660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1661; default: goto yy2; } yy1661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1662; default: goto yy2; } yy1662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1663; default: goto yy2; } yy1663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1664; default: goto yy2; } yy1664: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1665; default: goto yy2; } yy1665: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1666; default: goto yy2; } yy1666: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1667; default: goto yy2; } yy1667: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1668; default: goto yy2; } yy1668: yych = *++YYCURSOR; switch (yych) { case '6': goto yy1669; default: goto yy2; } yy1669: yych = *++YYCURSOR; switch (yych) { case '8': goto yy1670; default: goto yy2; } yy1670: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1671; default: goto yy2; } yy1671: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1672; default: goto yy2; } yy1672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1673; default: goto yy2; } yy1673: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1674; default: goto yy2; } yy1674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1675; default: goto yy2; } yy1675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1676; default: goto yy2; } yy1676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1677; default: goto yy2; } yy1677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1678; default: goto yy2; } yy1678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1679; default: goto yy2; } yy1679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1680; default: goto yy2; } yy1680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1681; default: goto yy2; } yy1681: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1682; default: goto yy2; } yy1682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1683; default: goto yy2; } yy1683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1684; default: goto yy2; } yy1684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1685; default: goto yy2; } yy1685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1686; default: goto yy2; } yy1686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1687; default: goto yy2; } yy1687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1688; default: goto yy2; } yy1688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1689; default: goto yy2; } yy1689: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1690; default: goto yy2; } yy1690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1691; default: goto yy2; } yy1691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1692; default: goto yy2; } yy1692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1693; default: goto yy2; } yy1693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1694; default: goto yy2; } yy1694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1695; default: goto yy2; } yy1695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1696; default: goto yy2; } yy1696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1697; default: goto yy2; } yy1697: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1698; default: goto yy2; } yy1698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1699; default: goto yy2; } yy1699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1700; default: goto yy2; } yy1700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1701; default: goto yy2; } yy1701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1702; default: goto yy2; } yy1702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1703; default: goto yy2; } yy1703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1704; default: goto yy2; } yy1704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1705; default: goto yy2; } yy1705: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1706; default: goto yy2; } yy1706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1707; default: goto yy2; } yy1707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1708; default: goto yy2; } yy1708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1709; default: goto yy2; } yy1709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1710; default: goto yy2; } yy1710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1711; default: goto yy2; } yy1711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1712; default: goto yy2; } yy1712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1713; default: goto yy2; } yy1713: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1714; default: goto yy2; } yy1714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1715; default: goto yy2; } yy1715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1716; default: goto yy2; } yy1716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1717; default: goto yy2; } yy1717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1718; default: goto yy2; } yy1718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1719; default: goto yy2; } yy1719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1720; default: goto yy2; } yy1720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1721; default: goto yy2; } yy1721: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1722; default: goto yy2; } yy1722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1723; default: goto yy2; } yy1723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1724; default: goto yy2; } yy1724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1725; default: goto yy2; } yy1725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1726; default: goto yy2; } yy1726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1727; default: goto yy2; } yy1727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1728; default: goto yy2; } yy1728: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1729; default: goto yy2; } yy1729: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1730; default: goto yy2; } yy1730: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1731; default: goto yy2; } yy1731: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1732; default: goto yy2; } yy1732: yych = *++YYCURSOR; switch (yych) { case '6': goto yy1733; default: goto yy2; } yy1733: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy1734; default: goto yy2; } yy1734: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1735; default: goto yy2; } yy1735: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1736; default: goto yy2; } yy1736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1737; default: goto yy2; } yy1737: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1738; default: goto yy2; } yy1738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1739; default: goto yy2; } yy1739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1740; default: goto yy2; } yy1740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1741; default: goto yy2; } yy1741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1742; default: goto yy2; } yy1742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1743; default: goto yy2; } yy1743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1744; default: goto yy2; } yy1744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1745; default: goto yy2; } yy1745: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1746; default: goto yy2; } yy1746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1747; default: goto yy2; } yy1747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1748; default: goto yy2; } yy1748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1749; default: goto yy2; } yy1749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1750; default: goto yy2; } yy1750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1751; default: goto yy2; } yy1751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1752; default: goto yy2; } yy1752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1753; default: goto yy2; } yy1753: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1754; default: goto yy2; } yy1754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1755; default: goto yy2; } yy1755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1756; default: goto yy2; } yy1756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1757; default: goto yy2; } yy1757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1758; default: goto yy2; } yy1758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1759; default: goto yy2; } yy1759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1760; default: goto yy2; } yy1760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1761; default: goto yy2; } yy1761: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1762; default: goto yy2; } yy1762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1763; default: goto yy2; } yy1763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1764; default: goto yy2; } yy1764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1765; default: goto yy2; } yy1765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1766; default: goto yy2; } yy1766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1767; default: goto yy2; } yy1767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1768; default: goto yy2; } yy1768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1769; default: goto yy2; } yy1769: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1770; default: goto yy2; } yy1770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1771; default: goto yy2; } yy1771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1772; default: goto yy2; } yy1772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1773; default: goto yy2; } yy1773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1774; default: goto yy2; } yy1774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1775; default: goto yy2; } yy1775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1776; default: goto yy2; } yy1776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1777; default: goto yy2; } yy1777: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1778; default: goto yy2; } yy1778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1779; default: goto yy2; } yy1779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1780; default: goto yy2; } yy1780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1781; default: goto yy2; } yy1781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1782; default: goto yy2; } yy1782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1783; default: goto yy2; } yy1783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1784; default: goto yy2; } yy1784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1785; default: goto yy2; } yy1785: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1786; default: goto yy2; } yy1786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1787; default: goto yy2; } yy1787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1788; default: goto yy2; } yy1788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1789; default: goto yy2; } yy1789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1790; default: goto yy2; } yy1790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1791; default: goto yy2; } yy1791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1792; default: goto yy2; } yy1792: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1793; default: goto yy2; } yy1793: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1794; default: goto yy2; } yy1794: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1795; default: goto yy2; } yy1795: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1796; default: goto yy2; } yy1796: yych = *++YYCURSOR; switch (yych) { case '7': goto yy1797; default: goto yy2; } yy1797: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1798; default: goto yy2; } yy1798: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1799; default: goto yy2; } yy1799: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1800; default: goto yy2; } yy1800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1801; default: goto yy2; } yy1801: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1802; default: goto yy2; } yy1802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1803; default: goto yy2; } yy1803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1804; default: goto yy2; } yy1804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1805; default: goto yy2; } yy1805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1806; default: goto yy2; } yy1806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1807; default: goto yy2; } yy1807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1808; default: goto yy2; } yy1808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1809; default: goto yy2; } yy1809: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1810; default: goto yy2; } yy1810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1811; default: goto yy2; } yy1811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1812; default: goto yy2; } yy1812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1813; default: goto yy2; } yy1813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1814; default: goto yy2; } yy1814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1815; default: goto yy2; } yy1815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1816; default: goto yy2; } yy1816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1817; default: goto yy2; } yy1817: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1818; default: goto yy2; } yy1818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1819; default: goto yy2; } yy1819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1820; default: goto yy2; } yy1820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1821; default: goto yy2; } yy1821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1822; default: goto yy2; } yy1822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1823; default: goto yy2; } yy1823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1824; default: goto yy2; } yy1824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1825; default: goto yy2; } yy1825: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1826; default: goto yy2; } yy1826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1827; default: goto yy2; } yy1827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1828; default: goto yy2; } yy1828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1829; default: goto yy2; } yy1829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1830; default: goto yy2; } yy1830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1831; default: goto yy2; } yy1831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1832; default: goto yy2; } yy1832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1833; default: goto yy2; } yy1833: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1834; default: goto yy2; } yy1834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1835; default: goto yy2; } yy1835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1836; default: goto yy2; } yy1836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1837; default: goto yy2; } yy1837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1838; default: goto yy2; } yy1838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1839; default: goto yy2; } yy1839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1840; default: goto yy2; } yy1840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1841; default: goto yy2; } yy1841: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1842; default: goto yy2; } yy1842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1843; default: goto yy2; } yy1843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1844; default: goto yy2; } yy1844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1845; default: goto yy2; } yy1845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1846; default: goto yy2; } yy1846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1847; default: goto yy2; } yy1847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1848; default: goto yy2; } yy1848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1849; default: goto yy2; } yy1849: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1850; default: goto yy2; } yy1850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1851; default: goto yy2; } yy1851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1852; default: goto yy2; } yy1852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1853; default: goto yy2; } yy1853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1854; default: goto yy2; } yy1854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1855; default: goto yy2; } yy1855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1856; default: goto yy2; } yy1856: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1857; default: goto yy2; } yy1857: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1858; default: goto yy2; } yy1858: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1859; default: goto yy2; } yy1859: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1860; default: goto yy2; } yy1860: yych = *++YYCURSOR; switch (yych) { case '7': goto yy1861; default: goto yy2; } yy1861: yych = *++YYCURSOR; switch (yych) { case '4': goto yy1862; default: goto yy2; } yy1862: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1863; default: goto yy2; } yy1863: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1864; default: goto yy2; } yy1864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1865; default: goto yy2; } yy1865: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1866; default: goto yy2; } yy1866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1867; default: goto yy2; } yy1867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1868; default: goto yy2; } yy1868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1869; default: goto yy2; } yy1869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1870; default: goto yy2; } yy1870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1871; default: goto yy2; } yy1871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1872; default: goto yy2; } yy1872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1873; default: goto yy2; } yy1873: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1874; default: goto yy2; } yy1874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1875; default: goto yy2; } yy1875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1876; default: goto yy2; } yy1876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1877; default: goto yy2; } yy1877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1878; default: goto yy2; } yy1878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1879; default: goto yy2; } yy1879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1880; default: goto yy2; } yy1880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1881; default: goto yy2; } yy1881: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1882; default: goto yy2; } yy1882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1883; default: goto yy2; } yy1883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1884; default: goto yy2; } yy1884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1885; default: goto yy2; } yy1885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1886; default: goto yy2; } yy1886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1887; default: goto yy2; } yy1887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1888; default: goto yy2; } yy1888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1889; default: goto yy2; } yy1889: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1890; default: goto yy2; } yy1890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1891; default: goto yy2; } yy1891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1892; default: goto yy2; } yy1892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1893; default: goto yy2; } yy1893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1894; default: goto yy2; } yy1894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1895; default: goto yy2; } yy1895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1896; default: goto yy2; } yy1896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1897; default: goto yy2; } yy1897: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1898; default: goto yy2; } yy1898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1899; default: goto yy2; } yy1899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1900; default: goto yy2; } yy1900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1901; default: goto yy2; } yy1901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1902; default: goto yy2; } yy1902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1903; default: goto yy2; } yy1903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1904; default: goto yy2; } yy1904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1905; default: goto yy2; } yy1905: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1906; default: goto yy2; } yy1906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1907; default: goto yy2; } yy1907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1908; default: goto yy2; } yy1908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1909; default: goto yy2; } yy1909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1910; default: goto yy2; } yy1910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1911; default: goto yy2; } yy1911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1912; default: goto yy2; } yy1912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1913; default: goto yy2; } yy1913: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1914; default: goto yy2; } yy1914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1915; default: goto yy2; } yy1915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1916; default: goto yy2; } yy1916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1917; default: goto yy2; } yy1917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1918; default: goto yy2; } yy1918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1919; default: goto yy2; } yy1919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1920; default: goto yy2; } yy1920: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1921; default: goto yy2; } yy1921: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1922; default: goto yy2; } yy1922: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1923; default: goto yy2; } yy1923: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1924; default: goto yy2; } yy1924: yych = *++YYCURSOR; switch (yych) { case '7': goto yy1925; default: goto yy2; } yy1925: yych = *++YYCURSOR; switch (yych) { case '8': goto yy1926; default: goto yy2; } yy1926: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1927; default: goto yy2; } yy1927: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1928; default: goto yy2; } yy1928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1929; default: goto yy2; } yy1929: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1930; default: goto yy2; } yy1930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1931; default: goto yy2; } yy1931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1932; default: goto yy2; } yy1932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1933; default: goto yy2; } yy1933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1934; default: goto yy2; } yy1934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1935; default: goto yy2; } yy1935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1936; default: goto yy2; } yy1936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1937; default: goto yy2; } yy1937: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1938; default: goto yy2; } yy1938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1939; default: goto yy2; } yy1939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1940; default: goto yy2; } yy1940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1941; default: goto yy2; } yy1941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1942; default: goto yy2; } yy1942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1943; default: goto yy2; } yy1943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1944; default: goto yy2; } yy1944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1945; default: goto yy2; } yy1945: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1946; default: goto yy2; } yy1946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1947; default: goto yy2; } yy1947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1948; default: goto yy2; } yy1948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1949; default: goto yy2; } yy1949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1950; default: goto yy2; } yy1950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1951; default: goto yy2; } yy1951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1952; default: goto yy2; } yy1952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1953; default: goto yy2; } yy1953: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1954; default: goto yy2; } yy1954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1955; default: goto yy2; } yy1955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1956; default: goto yy2; } yy1956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1957; default: goto yy2; } yy1957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1958; default: goto yy2; } yy1958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1959; default: goto yy2; } yy1959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1960; default: goto yy2; } yy1960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1961; default: goto yy2; } yy1961: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1962; default: goto yy2; } yy1962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1963; default: goto yy2; } yy1963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1964; default: goto yy2; } yy1964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1965; default: goto yy2; } yy1965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1966; default: goto yy2; } yy1966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1967; default: goto yy2; } yy1967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1968; default: goto yy2; } yy1968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1969; default: goto yy2; } yy1969: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1970; default: goto yy2; } yy1970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1971; default: goto yy2; } yy1971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1972; default: goto yy2; } yy1972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1973; default: goto yy2; } yy1973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1974; default: goto yy2; } yy1974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1975; default: goto yy2; } yy1975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1976; default: goto yy2; } yy1976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1977; default: goto yy2; } yy1977: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1978; default: goto yy2; } yy1978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1979; default: goto yy2; } yy1979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1980; default: goto yy2; } yy1980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1981; default: goto yy2; } yy1981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1982; default: goto yy2; } yy1982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1983; default: goto yy2; } yy1983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy1984; default: goto yy2; } yy1984: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1985; default: goto yy2; } yy1985: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy1986; default: goto yy2; } yy1986: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1987; default: goto yy2; } yy1987: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1988; default: goto yy2; } yy1988: yych = *++YYCURSOR; switch (yych) { case '7': goto yy1989; default: goto yy2; } yy1989: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy1990; default: goto yy2; } yy1990: yych = *++YYCURSOR; switch (yych) { case '0': goto yy1991; default: goto yy2; } yy1991: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1992; default: goto yy2; } yy1992: yych = *++YYCURSOR; switch (yych) { case '2': goto yy1993; default: goto yy2; } yy1993: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy1994; default: goto yy2; } yy1994: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy1995; default: goto yy2; } yy1995: yych = *++YYCURSOR; switch (yych) { case '_': goto yy1996; default: goto yy2; } yy1996: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy1997; default: goto yy2; } yy1997: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy1998; default: goto yy2; } yy1998: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy1999; default: goto yy2; } yy1999: yych = *++YYCURSOR; switch (yych) { case 't': goto yy2000; default: goto yy2; } yy2000: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy2001; default: goto yy2; } yy2001: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2002; default: goto yy2; } yy2002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2003; default: goto yy2; } yy2003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2004; default: goto yy2; } yy2004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2005; default: goto yy2; } yy2005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2006; default: goto yy2; } yy2006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2007; default: goto yy2; } yy2007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2008; default: goto yy2; } yy2008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2009; default: goto yy2; } yy2009: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2010; default: goto yy2; } yy2010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2011; default: goto yy2; } yy2011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2012; default: goto yy2; } yy2012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2013; default: goto yy2; } yy2013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2014; default: goto yy2; } yy2014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2015; default: goto yy2; } yy2015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2016; default: goto yy2; } yy2016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2017; default: goto yy2; } yy2017: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2018; default: goto yy2; } yy2018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2019; default: goto yy2; } yy2019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2020; default: goto yy2; } yy2020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2021; default: goto yy2; } yy2021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2022; default: goto yy2; } yy2022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2023; default: goto yy2; } yy2023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2024; default: goto yy2; } yy2024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2025; default: goto yy2; } yy2025: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2026; default: goto yy2; } yy2026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2027; default: goto yy2; } yy2027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2028; default: goto yy2; } yy2028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2029; default: goto yy2; } yy2029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2030; default: goto yy2; } yy2030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2031; default: goto yy2; } yy2031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2032; default: goto yy2; } yy2032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2033; default: goto yy2; } yy2033: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2034; default: goto yy2; } yy2034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2035; default: goto yy2; } yy2035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2036; default: goto yy2; } yy2036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2037; default: goto yy2; } yy2037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2038; default: goto yy2; } yy2038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2039; default: goto yy2; } yy2039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2040; default: goto yy2; } yy2040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2041; default: goto yy2; } yy2041: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2042; default: goto yy2; } yy2042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2043; default: goto yy2; } yy2043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2044; default: goto yy2; } yy2044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2045; default: goto yy2; } yy2045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2046; default: goto yy2; } yy2046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2047; default: goto yy2; } yy2047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2048; default: goto yy2; } yy2048: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2049; default: goto yy2; } yy2049: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2050; default: goto yy2; } yy2050: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2051; default: goto yy2; } yy2051: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2052; default: goto yy2; } yy2052: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2053; default: goto yy2; } yy2053: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2054; default: goto yy2; } yy2054: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2055; default: goto yy2; } yy2055: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2056; default: goto yy2; } yy2056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2057; default: goto yy2; } yy2057: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2058; default: goto yy2; } yy2058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2059; default: goto yy2; } yy2059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2060; default: goto yy2; } yy2060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2061; default: goto yy2; } yy2061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2062; default: goto yy2; } yy2062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2063; default: goto yy2; } yy2063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2064; default: goto yy2; } yy2064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2065; default: goto yy2; } yy2065: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2066; default: goto yy2; } yy2066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2067; default: goto yy2; } yy2067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2068; default: goto yy2; } yy2068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2069; default: goto yy2; } yy2069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2070; default: goto yy2; } yy2070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2071; default: goto yy2; } yy2071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2072; default: goto yy2; } yy2072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2073; default: goto yy2; } yy2073: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2074; default: goto yy2; } yy2074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2075; default: goto yy2; } yy2075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2076; default: goto yy2; } yy2076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2077; default: goto yy2; } yy2077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2078; default: goto yy2; } yy2078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2079; default: goto yy2; } yy2079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2080; default: goto yy2; } yy2080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2081; default: goto yy2; } yy2081: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2082; default: goto yy2; } yy2082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2083; default: goto yy2; } yy2083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2084; default: goto yy2; } yy2084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2085; default: goto yy2; } yy2085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2086; default: goto yy2; } yy2086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2087; default: goto yy2; } yy2087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2088; default: goto yy2; } yy2088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2089; default: goto yy2; } yy2089: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2090; default: goto yy2; } yy2090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2091; default: goto yy2; } yy2091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2092; default: goto yy2; } yy2092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2093; default: goto yy2; } yy2093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2094; default: goto yy2; } yy2094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2095; default: goto yy2; } yy2095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2096; default: goto yy2; } yy2096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2097; default: goto yy2; } yy2097: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2098; default: goto yy2; } yy2098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2099; default: goto yy2; } yy2099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2100; default: goto yy2; } yy2100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2101; default: goto yy2; } yy2101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2102; default: goto yy2; } yy2102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2103; default: goto yy2; } yy2103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2104; default: goto yy2; } yy2104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2105; default: goto yy2; } yy2105: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2106; default: goto yy2; } yy2106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2107; default: goto yy2; } yy2107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2108; default: goto yy2; } yy2108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2109; default: goto yy2; } yy2109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2110; default: goto yy2; } yy2110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2111; default: goto yy2; } yy2111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2112; default: goto yy2; } yy2112: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2113; default: goto yy2; } yy2113: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2114; default: goto yy2; } yy2114: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2115; default: goto yy2; } yy2115: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2116; default: goto yy2; } yy2116: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2117; default: goto yy2; } yy2117: yych = *++YYCURSOR; switch (yych) { case '4': goto yy2118; default: goto yy2; } yy2118: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2119; default: goto yy2; } yy2119: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2120; default: goto yy2; } yy2120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2121; default: goto yy2; } yy2121: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2122; default: goto yy2; } yy2122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2123; default: goto yy2; } yy2123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2124; default: goto yy2; } yy2124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2125; default: goto yy2; } yy2125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2126; default: goto yy2; } yy2126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2127; default: goto yy2; } yy2127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2128; default: goto yy2; } yy2128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2129; default: goto yy2; } yy2129: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2130; default: goto yy2; } yy2130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2131; default: goto yy2; } yy2131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2132; default: goto yy2; } yy2132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2133; default: goto yy2; } yy2133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2134; default: goto yy2; } yy2134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2135; default: goto yy2; } yy2135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2136; default: goto yy2; } yy2136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2137; default: goto yy2; } yy2137: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2138; default: goto yy2; } yy2138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2139; default: goto yy2; } yy2139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2140; default: goto yy2; } yy2140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2141; default: goto yy2; } yy2141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2142; default: goto yy2; } yy2142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2143; default: goto yy2; } yy2143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2144; default: goto yy2; } yy2144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2145; default: goto yy2; } yy2145: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2146; default: goto yy2; } yy2146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2147; default: goto yy2; } yy2147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2148; default: goto yy2; } yy2148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2149; default: goto yy2; } yy2149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2150; default: goto yy2; } yy2150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2151; default: goto yy2; } yy2151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2152; default: goto yy2; } yy2152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2153; default: goto yy2; } yy2153: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2154; default: goto yy2; } yy2154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2155; default: goto yy2; } yy2155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2156; default: goto yy2; } yy2156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2157; default: goto yy2; } yy2157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2158; default: goto yy2; } yy2158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2159; default: goto yy2; } yy2159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2160; default: goto yy2; } yy2160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2161; default: goto yy2; } yy2161: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2162; default: goto yy2; } yy2162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2163; default: goto yy2; } yy2163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2164; default: goto yy2; } yy2164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2165; default: goto yy2; } yy2165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2166; default: goto yy2; } yy2166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2167; default: goto yy2; } yy2167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2168; default: goto yy2; } yy2168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2169; default: goto yy2; } yy2169: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2170; default: goto yy2; } yy2170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2171; default: goto yy2; } yy2171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2172; default: goto yy2; } yy2172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2173; default: goto yy2; } yy2173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2174; default: goto yy2; } yy2174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2175; default: goto yy2; } yy2175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2176; default: goto yy2; } yy2176: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2177; default: goto yy2; } yy2177: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2178; default: goto yy2; } yy2178: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2179; default: goto yy2; } yy2179: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2180; default: goto yy2; } yy2180: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2181; default: goto yy2; } yy2181: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2182; default: goto yy2; } yy2182: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2183; default: goto yy2; } yy2183: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2184; default: goto yy2; } yy2184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2185; default: goto yy2; } yy2185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2186; default: goto yy2; } yy2186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2187; default: goto yy2; } yy2187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2188; default: goto yy2; } yy2188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2189; default: goto yy2; } yy2189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2190; default: goto yy2; } yy2190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2191; default: goto yy2; } yy2191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2192; default: goto yy2; } yy2192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2193; default: goto yy2; } yy2193: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2194; default: goto yy2; } yy2194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2195; default: goto yy2; } yy2195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2196; default: goto yy2; } yy2196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2197; default: goto yy2; } yy2197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2198; default: goto yy2; } yy2198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2199; default: goto yy2; } yy2199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2200; default: goto yy2; } yy2200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2201; default: goto yy2; } yy2201: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2202; default: goto yy2; } yy2202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2203; default: goto yy2; } yy2203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2204; default: goto yy2; } yy2204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2205; default: goto yy2; } yy2205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2206; default: goto yy2; } yy2206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2207; default: goto yy2; } yy2207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2208; default: goto yy2; } yy2208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2209; default: goto yy2; } yy2209: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2210; default: goto yy2; } yy2210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2211; default: goto yy2; } yy2211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2212; default: goto yy2; } yy2212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2213; default: goto yy2; } yy2213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2214; default: goto yy2; } yy2214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2215; default: goto yy2; } yy2215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2216; default: goto yy2; } yy2216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2217; default: goto yy2; } yy2217: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2218; default: goto yy2; } yy2218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2219; default: goto yy2; } yy2219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2220; default: goto yy2; } yy2220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2221; default: goto yy2; } yy2221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2222; default: goto yy2; } yy2222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2223; default: goto yy2; } yy2223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2224; default: goto yy2; } yy2224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2225; default: goto yy2; } yy2225: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2226; default: goto yy2; } yy2226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2227; default: goto yy2; } yy2227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2228; default: goto yy2; } yy2228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2229; default: goto yy2; } yy2229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2230; default: goto yy2; } yy2230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2231; default: goto yy2; } yy2231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2232; default: goto yy2; } yy2232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2233; default: goto yy2; } yy2233: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2234; default: goto yy2; } yy2234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2235; default: goto yy2; } yy2235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2236; default: goto yy2; } yy2236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2237; default: goto yy2; } yy2237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2238; default: goto yy2; } yy2238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2239; default: goto yy2; } yy2239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2240; default: goto yy2; } yy2240: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2241; default: goto yy2; } yy2241: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2242; default: goto yy2; } yy2242: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2243; default: goto yy2; } yy2243: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2244; default: goto yy2; } yy2244: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2245; default: goto yy2; } yy2245: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy2246; default: goto yy2; } yy2246: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2247; default: goto yy2; } yy2247: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2248; default: goto yy2; } yy2248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2249; default: goto yy2; } yy2249: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2250; default: goto yy2; } yy2250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2251; default: goto yy2; } yy2251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2252; default: goto yy2; } yy2252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2253; default: goto yy2; } yy2253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2254; default: goto yy2; } yy2254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2255; default: goto yy2; } yy2255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2256; default: goto yy2; } yy2256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2257; default: goto yy2; } yy2257: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2258; default: goto yy2; } yy2258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2259; default: goto yy2; } yy2259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2260; default: goto yy2; } yy2260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2261; default: goto yy2; } yy2261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2262; default: goto yy2; } yy2262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2263; default: goto yy2; } yy2263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2264; default: goto yy2; } yy2264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2265; default: goto yy2; } yy2265: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2266; default: goto yy2; } yy2266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2267; default: goto yy2; } yy2267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2268; default: goto yy2; } yy2268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2269; default: goto yy2; } yy2269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2270; default: goto yy2; } yy2270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2271; default: goto yy2; } yy2271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2272; default: goto yy2; } yy2272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2273; default: goto yy2; } yy2273: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2274; default: goto yy2; } yy2274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2275; default: goto yy2; } yy2275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2276; default: goto yy2; } yy2276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2277; default: goto yy2; } yy2277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2278; default: goto yy2; } yy2278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2279; default: goto yy2; } yy2279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2280; default: goto yy2; } yy2280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2281; default: goto yy2; } yy2281: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2282; default: goto yy2; } yy2282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2283; default: goto yy2; } yy2283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2284; default: goto yy2; } yy2284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2285; default: goto yy2; } yy2285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2286; default: goto yy2; } yy2286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2287; default: goto yy2; } yy2287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2288; default: goto yy2; } yy2288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2289; default: goto yy2; } yy2289: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2290; default: goto yy2; } yy2290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2291; default: goto yy2; } yy2291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2292; default: goto yy2; } yy2292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2293; default: goto yy2; } yy2293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2294; default: goto yy2; } yy2294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2295; default: goto yy2; } yy2295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2296; default: goto yy2; } yy2296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2297; default: goto yy2; } yy2297: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2298; default: goto yy2; } yy2298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2299; default: goto yy2; } yy2299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2300; default: goto yy2; } yy2300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2301; default: goto yy2; } yy2301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2302; default: goto yy2; } yy2302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2303; default: goto yy2; } yy2303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2304; default: goto yy2; } yy2304: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2305; default: goto yy2; } yy2305: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2306; default: goto yy2; } yy2306: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2307; default: goto yy2; } yy2307: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2308; default: goto yy2; } yy2308: yych = *++YYCURSOR; switch (yych) { case '9': goto yy2309; default: goto yy2; } yy2309: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2310; default: goto yy2; } yy2310: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2311; default: goto yy2; } yy2311: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2312; default: goto yy2; } yy2312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2313; default: goto yy2; } yy2313: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2314; default: goto yy2; } yy2314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2315; default: goto yy2; } yy2315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2316; default: goto yy2; } yy2316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2317; default: goto yy2; } yy2317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2318; default: goto yy2; } yy2318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2319; default: goto yy2; } yy2319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2320; default: goto yy2; } yy2320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2321; default: goto yy2; } yy2321: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2322; default: goto yy2; } yy2322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2323; default: goto yy2; } yy2323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2324; default: goto yy2; } yy2324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2325; default: goto yy2; } yy2325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2326; default: goto yy2; } yy2326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2327; default: goto yy2; } yy2327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2328; default: goto yy2; } yy2328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2329; default: goto yy2; } yy2329: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2330; default: goto yy2; } yy2330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2331; default: goto yy2; } yy2331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2332; default: goto yy2; } yy2332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2333; default: goto yy2; } yy2333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2334; default: goto yy2; } yy2334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2335; default: goto yy2; } yy2335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2336; default: goto yy2; } yy2336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2337; default: goto yy2; } yy2337: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2338; default: goto yy2; } yy2338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2339; default: goto yy2; } yy2339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2340; default: goto yy2; } yy2340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2341; default: goto yy2; } yy2341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2342; default: goto yy2; } yy2342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2343; default: goto yy2; } yy2343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2344; default: goto yy2; } yy2344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2345; default: goto yy2; } yy2345: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2346; default: goto yy2; } yy2346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2347; default: goto yy2; } yy2347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2348; default: goto yy2; } yy2348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2349; default: goto yy2; } yy2349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2350; default: goto yy2; } yy2350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2351; default: goto yy2; } yy2351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2352; default: goto yy2; } yy2352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2353; default: goto yy2; } yy2353: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2354; default: goto yy2; } yy2354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2355; default: goto yy2; } yy2355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2356; default: goto yy2; } yy2356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2357; default: goto yy2; } yy2357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2358; default: goto yy2; } yy2358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2359; default: goto yy2; } yy2359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2360; default: goto yy2; } yy2360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2361; default: goto yy2; } yy2361: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2362; default: goto yy2; } yy2362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2363; default: goto yy2; } yy2363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2364; default: goto yy2; } yy2364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2365; default: goto yy2; } yy2365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2366; default: goto yy2; } yy2366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2367; default: goto yy2; } yy2367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2368; default: goto yy2; } yy2368: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2369; default: goto yy2; } yy2369: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2370; default: goto yy2; } yy2370: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2371; default: goto yy2; } yy2371: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2372; default: goto yy2; } yy2372: yych = *++YYCURSOR; switch (yych) { case '9': goto yy2373; default: goto yy2; } yy2373: yych = *++YYCURSOR; switch (yych) { case '4': goto yy2374; default: goto yy2; } yy2374: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2375; default: goto yy2; } yy2375: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2376; default: goto yy2; } yy2376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2377; default: goto yy2; } yy2377: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2378; default: goto yy2; } yy2378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2379; default: goto yy2; } yy2379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2380; default: goto yy2; } yy2380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2381; default: goto yy2; } yy2381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2382; default: goto yy2; } yy2382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2383; default: goto yy2; } yy2383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2384; default: goto yy2; } yy2384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2385; default: goto yy2; } yy2385: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2386; default: goto yy2; } yy2386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2387; default: goto yy2; } yy2387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2388; default: goto yy2; } yy2388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2389; default: goto yy2; } yy2389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2390; default: goto yy2; } yy2390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2391; default: goto yy2; } yy2391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2392; default: goto yy2; } yy2392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2393; default: goto yy2; } yy2393: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2394; default: goto yy2; } yy2394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2395; default: goto yy2; } yy2395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2396; default: goto yy2; } yy2396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2397; default: goto yy2; } yy2397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2398; default: goto yy2; } yy2398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2399; default: goto yy2; } yy2399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2400; default: goto yy2; } yy2400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2401; default: goto yy2; } yy2401: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2402; default: goto yy2; } yy2402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2403; default: goto yy2; } yy2403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2404; default: goto yy2; } yy2404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2405; default: goto yy2; } yy2405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2406; default: goto yy2; } yy2406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2407; default: goto yy2; } yy2407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2408; default: goto yy2; } yy2408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2409; default: goto yy2; } yy2409: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2410; default: goto yy2; } yy2410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2411; default: goto yy2; } yy2411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2412; default: goto yy2; } yy2412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2413; default: goto yy2; } yy2413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2414; default: goto yy2; } yy2414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2415; default: goto yy2; } yy2415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2416; default: goto yy2; } yy2416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2417; default: goto yy2; } yy2417: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2418; default: goto yy2; } yy2418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2419; default: goto yy2; } yy2419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2420; default: goto yy2; } yy2420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2421; default: goto yy2; } yy2421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2422; default: goto yy2; } yy2422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2423; default: goto yy2; } yy2423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2424; default: goto yy2; } yy2424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2425; default: goto yy2; } yy2425: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2426; default: goto yy2; } yy2426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2427; default: goto yy2; } yy2427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2428; default: goto yy2; } yy2428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2429; default: goto yy2; } yy2429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2430; default: goto yy2; } yy2430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2431; default: goto yy2; } yy2431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2432; default: goto yy2; } yy2432: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2433; default: goto yy2; } yy2433: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2434; default: goto yy2; } yy2434: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2435; default: goto yy2; } yy2435: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2436; default: goto yy2; } yy2436: yych = *++YYCURSOR; switch (yych) { case '9': goto yy2437; default: goto yy2; } yy2437: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2438; default: goto yy2; } yy2438: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2439; default: goto yy2; } yy2439: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2440; default: goto yy2; } yy2440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2441; default: goto yy2; } yy2441: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2442; default: goto yy2; } yy2442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2443; default: goto yy2; } yy2443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2444; default: goto yy2; } yy2444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2445; default: goto yy2; } yy2445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2446; default: goto yy2; } yy2446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2447; default: goto yy2; } yy2447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2448; default: goto yy2; } yy2448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2449; default: goto yy2; } yy2449: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2450; default: goto yy2; } yy2450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2451; default: goto yy2; } yy2451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2452; default: goto yy2; } yy2452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2453; default: goto yy2; } yy2453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2454; default: goto yy2; } yy2454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2455; default: goto yy2; } yy2455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2456; default: goto yy2; } yy2456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2457; default: goto yy2; } yy2457: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2458; default: goto yy2; } yy2458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2459; default: goto yy2; } yy2459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2460; default: goto yy2; } yy2460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2461; default: goto yy2; } yy2461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2462; default: goto yy2; } yy2462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2463; default: goto yy2; } yy2463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2464; default: goto yy2; } yy2464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2465; default: goto yy2; } yy2465: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2466; default: goto yy2; } yy2466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2467; default: goto yy2; } yy2467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2468; default: goto yy2; } yy2468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2469; default: goto yy2; } yy2469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2470; default: goto yy2; } yy2470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2471; default: goto yy2; } yy2471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2472; default: goto yy2; } yy2472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2473; default: goto yy2; } yy2473: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2474; default: goto yy2; } yy2474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2475; default: goto yy2; } yy2475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2476; default: goto yy2; } yy2476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2477; default: goto yy2; } yy2477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2478; default: goto yy2; } yy2478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2479; default: goto yy2; } yy2479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2480; default: goto yy2; } yy2480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2481; default: goto yy2; } yy2481: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2482; default: goto yy2; } yy2482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2483; default: goto yy2; } yy2483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2484; default: goto yy2; } yy2484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2485; default: goto yy2; } yy2485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2486; default: goto yy2; } yy2486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2487; default: goto yy2; } yy2487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2488; default: goto yy2; } yy2488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2489; default: goto yy2; } yy2489: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2490; default: goto yy2; } yy2490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2491; default: goto yy2; } yy2491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2492; default: goto yy2; } yy2492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2493; default: goto yy2; } yy2493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2494; default: goto yy2; } yy2494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2495; default: goto yy2; } yy2495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2496; default: goto yy2; } yy2496: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2497; default: goto yy2; } yy2497: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2498; default: goto yy2; } yy2498: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2499; default: goto yy2; } yy2499: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2500; default: goto yy2; } yy2500: yych = *++YYCURSOR; switch (yych) { case '9': goto yy2501; default: goto yy2; } yy2501: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy2502; default: goto yy2; } yy2502: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2503; default: goto yy2; } yy2503: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2504; default: goto yy2; } yy2504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2505; default: goto yy2; } yy2505: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2506; default: goto yy2; } yy2506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2507; default: goto yy2; } yy2507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2508; default: goto yy2; } yy2508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2509; default: goto yy2; } yy2509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2510; default: goto yy2; } yy2510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2511; default: goto yy2; } yy2511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2512; default: goto yy2; } yy2512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2513; default: goto yy2; } yy2513: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2514; default: goto yy2; } yy2514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2515; default: goto yy2; } yy2515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2516; default: goto yy2; } yy2516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2517; default: goto yy2; } yy2517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2518; default: goto yy2; } yy2518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2519; default: goto yy2; } yy2519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2520; default: goto yy2; } yy2520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2521; default: goto yy2; } yy2521: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2522; default: goto yy2; } yy2522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2523; default: goto yy2; } yy2523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2524; default: goto yy2; } yy2524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2525; default: goto yy2; } yy2525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2526; default: goto yy2; } yy2526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2527; default: goto yy2; } yy2527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2528; default: goto yy2; } yy2528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2529; default: goto yy2; } yy2529: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2530; default: goto yy2; } yy2530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2531; default: goto yy2; } yy2531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2532; default: goto yy2; } yy2532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2533; default: goto yy2; } yy2533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2534; default: goto yy2; } yy2534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2535; default: goto yy2; } yy2535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2536; default: goto yy2; } yy2536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2537; default: goto yy2; } yy2537: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2538; default: goto yy2; } yy2538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2539; default: goto yy2; } yy2539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2540; default: goto yy2; } yy2540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2541; default: goto yy2; } yy2541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2542; default: goto yy2; } yy2542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2543; default: goto yy2; } yy2543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2544; default: goto yy2; } yy2544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2545; default: goto yy2; } yy2545: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2546; default: goto yy2; } yy2546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2547; default: goto yy2; } yy2547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2548; default: goto yy2; } yy2548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2549; default: goto yy2; } yy2549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2550; default: goto yy2; } yy2550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2551; default: goto yy2; } yy2551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2552; default: goto yy2; } yy2552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2553; default: goto yy2; } yy2553: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2554; default: goto yy2; } yy2554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2555; default: goto yy2; } yy2555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2556; default: goto yy2; } yy2556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2557; default: goto yy2; } yy2557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2558; default: goto yy2; } yy2558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2559; default: goto yy2; } yy2559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2560; default: goto yy2; } yy2560: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2561; default: goto yy2; } yy2561: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2562; default: goto yy2; } yy2562: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2563; default: goto yy2; } yy2563: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2564; default: goto yy2; } yy2564: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy2565; default: goto yy2; } yy2565: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2566; default: goto yy2; } yy2566: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2567; default: goto yy2; } yy2567: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2568; default: goto yy2; } yy2568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2569; default: goto yy2; } yy2569: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2570; default: goto yy2; } yy2570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2571; default: goto yy2; } yy2571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2572; default: goto yy2; } yy2572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2573; default: goto yy2; } yy2573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2574; default: goto yy2; } yy2574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2575; default: goto yy2; } yy2575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2576; default: goto yy2; } yy2576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2577; default: goto yy2; } yy2577: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2578; default: goto yy2; } yy2578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2579; default: goto yy2; } yy2579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2580; default: goto yy2; } yy2580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2581; default: goto yy2; } yy2581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2582; default: goto yy2; } yy2582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2583; default: goto yy2; } yy2583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2584; default: goto yy2; } yy2584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2585; default: goto yy2; } yy2585: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2586; default: goto yy2; } yy2586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2587; default: goto yy2; } yy2587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2588; default: goto yy2; } yy2588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2589; default: goto yy2; } yy2589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2590; default: goto yy2; } yy2590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2591; default: goto yy2; } yy2591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2592; default: goto yy2; } yy2592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2593; default: goto yy2; } yy2593: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2594; default: goto yy2; } yy2594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2595; default: goto yy2; } yy2595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2596; default: goto yy2; } yy2596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2597; default: goto yy2; } yy2597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2598; default: goto yy2; } yy2598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2599; default: goto yy2; } yy2599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2600; default: goto yy2; } yy2600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2601; default: goto yy2; } yy2601: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2602; default: goto yy2; } yy2602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2603; default: goto yy2; } yy2603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2604; default: goto yy2; } yy2604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2605; default: goto yy2; } yy2605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2606; default: goto yy2; } yy2606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2607; default: goto yy2; } yy2607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2608; default: goto yy2; } yy2608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2609; default: goto yy2; } yy2609: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2610; default: goto yy2; } yy2610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2611; default: goto yy2; } yy2611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2612; default: goto yy2; } yy2612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2613; default: goto yy2; } yy2613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2614; default: goto yy2; } yy2614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2615; default: goto yy2; } yy2615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2616; default: goto yy2; } yy2616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2617; default: goto yy2; } yy2617: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2618; default: goto yy2; } yy2618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2619; default: goto yy2; } yy2619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2620; default: goto yy2; } yy2620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2621; default: goto yy2; } yy2621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2622; default: goto yy2; } yy2622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2623; default: goto yy2; } yy2623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2624; default: goto yy2; } yy2624: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2625; default: goto yy2; } yy2625: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2626; default: goto yy2; } yy2626: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2627; default: goto yy2; } yy2627: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2628; default: goto yy2; } yy2628: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy2629; default: goto yy2; } yy2629: yych = *++YYCURSOR; switch (yych) { case '4': goto yy2630; default: goto yy2; } yy2630: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2631; default: goto yy2; } yy2631: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2632; default: goto yy2; } yy2632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2633; default: goto yy2; } yy2633: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2634; default: goto yy2; } yy2634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2635; default: goto yy2; } yy2635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2636; default: goto yy2; } yy2636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2637; default: goto yy2; } yy2637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2638; default: goto yy2; } yy2638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2639; default: goto yy2; } yy2639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2640; default: goto yy2; } yy2640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2641; default: goto yy2; } yy2641: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2642; default: goto yy2; } yy2642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2643; default: goto yy2; } yy2643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2644; default: goto yy2; } yy2644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2645; default: goto yy2; } yy2645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2646; default: goto yy2; } yy2646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2647; default: goto yy2; } yy2647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2648; default: goto yy2; } yy2648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2649; default: goto yy2; } yy2649: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2650; default: goto yy2; } yy2650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2651; default: goto yy2; } yy2651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2652; default: goto yy2; } yy2652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2653; default: goto yy2; } yy2653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2654; default: goto yy2; } yy2654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2655; default: goto yy2; } yy2655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2656; default: goto yy2; } yy2656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2657; default: goto yy2; } yy2657: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2658; default: goto yy2; } yy2658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2659; default: goto yy2; } yy2659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2660; default: goto yy2; } yy2660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2661; default: goto yy2; } yy2661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2662; default: goto yy2; } yy2662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2663; default: goto yy2; } yy2663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2664; default: goto yy2; } yy2664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2665; default: goto yy2; } yy2665: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2666; default: goto yy2; } yy2666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2667; default: goto yy2; } yy2667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2668; default: goto yy2; } yy2668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2669; default: goto yy2; } yy2669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2670; default: goto yy2; } yy2670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2671; default: goto yy2; } yy2671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2672; default: goto yy2; } yy2672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2673; default: goto yy2; } yy2673: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2674; default: goto yy2; } yy2674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2675; default: goto yy2; } yy2675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2676; default: goto yy2; } yy2676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2677; default: goto yy2; } yy2677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2678; default: goto yy2; } yy2678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2679; default: goto yy2; } yy2679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2680; default: goto yy2; } yy2680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2681; default: goto yy2; } yy2681: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2682; default: goto yy2; } yy2682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2683; default: goto yy2; } yy2683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2684; default: goto yy2; } yy2684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2685; default: goto yy2; } yy2685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2686; default: goto yy2; } yy2686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2687; default: goto yy2; } yy2687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2688; default: goto yy2; } yy2688: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2689; default: goto yy2; } yy2689: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2690; default: goto yy2; } yy2690: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2691; default: goto yy2; } yy2691: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2692; default: goto yy2; } yy2692: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy2693; default: goto yy2; } yy2693: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2694; default: goto yy2; } yy2694: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2695; default: goto yy2; } yy2695: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2696; default: goto yy2; } yy2696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2697; default: goto yy2; } yy2697: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2698; default: goto yy2; } yy2698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2699; default: goto yy2; } yy2699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2700; default: goto yy2; } yy2700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2701; default: goto yy2; } yy2701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2702; default: goto yy2; } yy2702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2703; default: goto yy2; } yy2703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2704; default: goto yy2; } yy2704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2705; default: goto yy2; } yy2705: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2706; default: goto yy2; } yy2706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2707; default: goto yy2; } yy2707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2708; default: goto yy2; } yy2708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2709; default: goto yy2; } yy2709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2710; default: goto yy2; } yy2710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2711; default: goto yy2; } yy2711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2712; default: goto yy2; } yy2712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2713; default: goto yy2; } yy2713: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2714; default: goto yy2; } yy2714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2715; default: goto yy2; } yy2715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2716; default: goto yy2; } yy2716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2717; default: goto yy2; } yy2717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2718; default: goto yy2; } yy2718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2719; default: goto yy2; } yy2719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2720; default: goto yy2; } yy2720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2721; default: goto yy2; } yy2721: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2722; default: goto yy2; } yy2722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2723; default: goto yy2; } yy2723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2724; default: goto yy2; } yy2724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2725; default: goto yy2; } yy2725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2726; default: goto yy2; } yy2726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2727; default: goto yy2; } yy2727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2728; default: goto yy2; } yy2728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2729; default: goto yy2; } yy2729: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2730; default: goto yy2; } yy2730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2731; default: goto yy2; } yy2731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2732; default: goto yy2; } yy2732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2733; default: goto yy2; } yy2733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2734; default: goto yy2; } yy2734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2735; default: goto yy2; } yy2735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2736; default: goto yy2; } yy2736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2737; default: goto yy2; } yy2737: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2738; default: goto yy2; } yy2738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2739; default: goto yy2; } yy2739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2740; default: goto yy2; } yy2740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2741; default: goto yy2; } yy2741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2742; default: goto yy2; } yy2742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2743; default: goto yy2; } yy2743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2744; default: goto yy2; } yy2744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2745; default: goto yy2; } yy2745: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2746; default: goto yy2; } yy2746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2747; default: goto yy2; } yy2747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2748; default: goto yy2; } yy2748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2749; default: goto yy2; } yy2749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2750; default: goto yy2; } yy2750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2751; default: goto yy2; } yy2751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2752; default: goto yy2; } yy2752: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2753; default: goto yy2; } yy2753: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2754; default: goto yy2; } yy2754: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2755; default: goto yy2; } yy2755: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2756; default: goto yy2; } yy2756: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy2757; default: goto yy2; } yy2757: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy2758; default: goto yy2; } yy2758: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2759; default: goto yy2; } yy2759: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2760; default: goto yy2; } yy2760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2761; default: goto yy2; } yy2761: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2762; default: goto yy2; } yy2762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2763; default: goto yy2; } yy2763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2764; default: goto yy2; } yy2764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2765; default: goto yy2; } yy2765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2766; default: goto yy2; } yy2766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2767; default: goto yy2; } yy2767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2768; default: goto yy2; } yy2768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2769; default: goto yy2; } yy2769: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2770; default: goto yy2; } yy2770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2771; default: goto yy2; } yy2771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2772; default: goto yy2; } yy2772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2773; default: goto yy2; } yy2773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2774; default: goto yy2; } yy2774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2775; default: goto yy2; } yy2775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2776; default: goto yy2; } yy2776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2777; default: goto yy2; } yy2777: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2778; default: goto yy2; } yy2778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2779; default: goto yy2; } yy2779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2780; default: goto yy2; } yy2780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2781; default: goto yy2; } yy2781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2782; default: goto yy2; } yy2782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2783; default: goto yy2; } yy2783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2784; default: goto yy2; } yy2784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2785; default: goto yy2; } yy2785: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2786; default: goto yy2; } yy2786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2787; default: goto yy2; } yy2787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2788; default: goto yy2; } yy2788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2789; default: goto yy2; } yy2789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2790; default: goto yy2; } yy2790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2791; default: goto yy2; } yy2791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2792; default: goto yy2; } yy2792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2793; default: goto yy2; } yy2793: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2794; default: goto yy2; } yy2794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2795; default: goto yy2; } yy2795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2796; default: goto yy2; } yy2796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2797; default: goto yy2; } yy2797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2798; default: goto yy2; } yy2798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2799; default: goto yy2; } yy2799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2800; default: goto yy2; } yy2800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2801; default: goto yy2; } yy2801: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2802; default: goto yy2; } yy2802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2803; default: goto yy2; } yy2803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2804; default: goto yy2; } yy2804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2805; default: goto yy2; } yy2805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2806; default: goto yy2; } yy2806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2807; default: goto yy2; } yy2807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2808; default: goto yy2; } yy2808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2809; default: goto yy2; } yy2809: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2810; default: goto yy2; } yy2810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2811; default: goto yy2; } yy2811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2812; default: goto yy2; } yy2812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2813; default: goto yy2; } yy2813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2814; default: goto yy2; } yy2814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2815; default: goto yy2; } yy2815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2816; default: goto yy2; } yy2816: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2817; default: goto yy2; } yy2817: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2818; default: goto yy2; } yy2818: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2819; default: goto yy2; } yy2819: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2820; default: goto yy2; } yy2820: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy2821; default: goto yy2; } yy2821: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2822; default: goto yy2; } yy2822: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2823; default: goto yy2; } yy2823: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2824; default: goto yy2; } yy2824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2825; default: goto yy2; } yy2825: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2826; default: goto yy2; } yy2826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2827; default: goto yy2; } yy2827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2828; default: goto yy2; } yy2828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2829; default: goto yy2; } yy2829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2830; default: goto yy2; } yy2830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2831; default: goto yy2; } yy2831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2832; default: goto yy2; } yy2832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2833; default: goto yy2; } yy2833: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2834; default: goto yy2; } yy2834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2835; default: goto yy2; } yy2835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2836; default: goto yy2; } yy2836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2837; default: goto yy2; } yy2837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2838; default: goto yy2; } yy2838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2839; default: goto yy2; } yy2839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2840; default: goto yy2; } yy2840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2841; default: goto yy2; } yy2841: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2842; default: goto yy2; } yy2842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2843; default: goto yy2; } yy2843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2844; default: goto yy2; } yy2844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2845; default: goto yy2; } yy2845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2846; default: goto yy2; } yy2846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2847; default: goto yy2; } yy2847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2848; default: goto yy2; } yy2848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2849; default: goto yy2; } yy2849: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2850; default: goto yy2; } yy2850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2851; default: goto yy2; } yy2851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2852; default: goto yy2; } yy2852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2853; default: goto yy2; } yy2853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2854; default: goto yy2; } yy2854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2855; default: goto yy2; } yy2855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2856; default: goto yy2; } yy2856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2857; default: goto yy2; } yy2857: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2858; default: goto yy2; } yy2858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2859; default: goto yy2; } yy2859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2860; default: goto yy2; } yy2860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2861; default: goto yy2; } yy2861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2862; default: goto yy2; } yy2862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2863; default: goto yy2; } yy2863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2864; default: goto yy2; } yy2864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2865; default: goto yy2; } yy2865: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2866; default: goto yy2; } yy2866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2867; default: goto yy2; } yy2867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2868; default: goto yy2; } yy2868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2869; default: goto yy2; } yy2869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2870; default: goto yy2; } yy2870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2871; default: goto yy2; } yy2871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2872; default: goto yy2; } yy2872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2873; default: goto yy2; } yy2873: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2874; default: goto yy2; } yy2874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2875; default: goto yy2; } yy2875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2876; default: goto yy2; } yy2876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2877; default: goto yy2; } yy2877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2878; default: goto yy2; } yy2878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2879; default: goto yy2; } yy2879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2880; default: goto yy2; } yy2880: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2881; default: goto yy2; } yy2881: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2882; default: goto yy2; } yy2882: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2883; default: goto yy2; } yy2883: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2884; default: goto yy2; } yy2884: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy2885; default: goto yy2; } yy2885: yych = *++YYCURSOR; switch (yych) { case '4': goto yy2886; default: goto yy2; } yy2886: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2887; default: goto yy2; } yy2887: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2888; default: goto yy2; } yy2888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2889; default: goto yy2; } yy2889: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2890; default: goto yy2; } yy2890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2891; default: goto yy2; } yy2891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2892; default: goto yy2; } yy2892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2893; default: goto yy2; } yy2893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2894; default: goto yy2; } yy2894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2895; default: goto yy2; } yy2895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2896; default: goto yy2; } yy2896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2897; default: goto yy2; } yy2897: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2898; default: goto yy2; } yy2898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2899; default: goto yy2; } yy2899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2900; default: goto yy2; } yy2900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2901; default: goto yy2; } yy2901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2902; default: goto yy2; } yy2902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2903; default: goto yy2; } yy2903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2904; default: goto yy2; } yy2904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2905; default: goto yy2; } yy2905: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2906; default: goto yy2; } yy2906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2907; default: goto yy2; } yy2907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2908; default: goto yy2; } yy2908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2909; default: goto yy2; } yy2909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2910; default: goto yy2; } yy2910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2911; default: goto yy2; } yy2911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2912; default: goto yy2; } yy2912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2913; default: goto yy2; } yy2913: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2914; default: goto yy2; } yy2914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2915; default: goto yy2; } yy2915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2916; default: goto yy2; } yy2916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2917; default: goto yy2; } yy2917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2918; default: goto yy2; } yy2918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2919; default: goto yy2; } yy2919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2920; default: goto yy2; } yy2920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2921; default: goto yy2; } yy2921: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2922; default: goto yy2; } yy2922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2923; default: goto yy2; } yy2923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2924; default: goto yy2; } yy2924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2925; default: goto yy2; } yy2925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2926; default: goto yy2; } yy2926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2927; default: goto yy2; } yy2927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2928; default: goto yy2; } yy2928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2929; default: goto yy2; } yy2929: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2930; default: goto yy2; } yy2930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2931; default: goto yy2; } yy2931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2932; default: goto yy2; } yy2932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2933; default: goto yy2; } yy2933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2934; default: goto yy2; } yy2934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2935; default: goto yy2; } yy2935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2936; default: goto yy2; } yy2936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2937; default: goto yy2; } yy2937: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2938; default: goto yy2; } yy2938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2939; default: goto yy2; } yy2939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2940; default: goto yy2; } yy2940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2941; default: goto yy2; } yy2941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2942; default: goto yy2; } yy2942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2943; default: goto yy2; } yy2943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2944; default: goto yy2; } yy2944: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2945; default: goto yy2; } yy2945: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy2946; default: goto yy2; } yy2946: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2947; default: goto yy2; } yy2947: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2948; default: goto yy2; } yy2948: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy2949; default: goto yy2; } yy2949: yych = *++YYCURSOR; switch (yych) { case '8': goto yy2950; default: goto yy2; } yy2950: yych = *++YYCURSOR; switch (yych) { case '0': goto yy2951; default: goto yy2; } yy2951: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2952; default: goto yy2; } yy2952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2953; default: goto yy2; } yy2953: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2954; default: goto yy2; } yy2954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2955; default: goto yy2; } yy2955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2956; default: goto yy2; } yy2956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2957; default: goto yy2; } yy2957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2958; default: goto yy2; } yy2958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2959; default: goto yy2; } yy2959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2960; default: goto yy2; } yy2960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2961; default: goto yy2; } yy2961: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2962; default: goto yy2; } yy2962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2963; default: goto yy2; } yy2963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2964; default: goto yy2; } yy2964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2965; default: goto yy2; } yy2965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2966; default: goto yy2; } yy2966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2967; default: goto yy2; } yy2967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2968; default: goto yy2; } yy2968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2969; default: goto yy2; } yy2969: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2970; default: goto yy2; } yy2970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2971; default: goto yy2; } yy2971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2972; default: goto yy2; } yy2972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2973; default: goto yy2; } yy2973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2974; default: goto yy2; } yy2974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2975; default: goto yy2; } yy2975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2976; default: goto yy2; } yy2976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2977; default: goto yy2; } yy2977: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2978; default: goto yy2; } yy2978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2979; default: goto yy2; } yy2979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2980; default: goto yy2; } yy2980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2981; default: goto yy2; } yy2981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2982; default: goto yy2; } yy2982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2983; default: goto yy2; } yy2983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2984; default: goto yy2; } yy2984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2985; default: goto yy2; } yy2985: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2986; default: goto yy2; } yy2986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2987; default: goto yy2; } yy2987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2988; default: goto yy2; } yy2988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2989; default: goto yy2; } yy2989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2990; default: goto yy2; } yy2990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2991; default: goto yy2; } yy2991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2992; default: goto yy2; } yy2992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2993; default: goto yy2; } yy2993: yych = *++YYCURSOR; switch (yych) { case '_': goto yy2994; default: goto yy2; } yy2994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2995; default: goto yy2; } yy2995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2996; default: goto yy2; } yy2996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2997; default: goto yy2; } yy2997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2998; default: goto yy2; } yy2998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2999; default: goto yy2; } yy2999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3000; default: goto yy2; } yy3000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3001; default: goto yy2; } yy3001: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3002; default: goto yy2; } yy3002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3003; default: goto yy2; } yy3003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3004; default: goto yy2; } yy3004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3005; default: goto yy2; } yy3005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3006; default: goto yy2; } yy3006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3007; default: goto yy2; } yy3007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3008; default: goto yy2; } yy3008: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3009; default: goto yy2; } yy3009: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3010; default: goto yy2; } yy3010: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3011; default: goto yy2; } yy3011: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3012; default: goto yy2; } yy3012: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy3013; default: goto yy2; } yy3013: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3014; default: goto yy2; } yy3014: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3015; default: goto yy2; } yy3015: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3016; default: goto yy2; } yy3016: yych = *++YYCURSOR; switch (yych) { case '3': goto yy3017; default: goto yy2; } yy3017: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy3018; default: goto yy2; } yy3018: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy3019; default: goto yy2; } yy3019: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3020; default: goto yy2; } yy3020: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy3021; default: goto yy2; } yy3021: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy3022; default: goto yy2; } yy3022: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy3023; default: goto yy2; } yy3023: yych = *++YYCURSOR; switch (yych) { case 't': goto yy3024; default: goto yy2; } yy3024: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy3025; default: goto yy2; } yy3025: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3026; default: goto yy2; } yy3026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3027; default: goto yy2; } yy3027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3028; default: goto yy2; } yy3028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3029; default: goto yy2; } yy3029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3030; default: goto yy2; } yy3030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3031; default: goto yy2; } yy3031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3032; default: goto yy2; } yy3032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3033; default: goto yy2; } yy3033: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3034; default: goto yy2; } yy3034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3035; default: goto yy2; } yy3035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3036; default: goto yy2; } yy3036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3037; default: goto yy2; } yy3037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3038; default: goto yy2; } yy3038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3039; default: goto yy2; } yy3039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3040; default: goto yy2; } yy3040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3041; default: goto yy2; } yy3041: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3042; default: goto yy2; } yy3042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3043; default: goto yy2; } yy3043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3044; default: goto yy2; } yy3044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3045; default: goto yy2; } yy3045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3046; default: goto yy2; } yy3046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3047; default: goto yy2; } yy3047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3048; default: goto yy2; } yy3048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3049; default: goto yy2; } yy3049: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3050; default: goto yy2; } yy3050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3051; default: goto yy2; } yy3051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3052; default: goto yy2; } yy3052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3053; default: goto yy2; } yy3053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3054; default: goto yy2; } yy3054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3055; default: goto yy2; } yy3055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3056; default: goto yy2; } yy3056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3057; default: goto yy2; } yy3057: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3058; default: goto yy2; } yy3058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3059; default: goto yy2; } yy3059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3060; default: goto yy2; } yy3060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3061; default: goto yy2; } yy3061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3062; default: goto yy2; } yy3062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3063; default: goto yy2; } yy3063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3064; default: goto yy2; } yy3064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3065; default: goto yy2; } yy3065: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3066; default: goto yy2; } yy3066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3067; default: goto yy2; } yy3067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3068; default: goto yy2; } yy3068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3069; default: goto yy2; } yy3069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3070; default: goto yy2; } yy3070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3071; default: goto yy2; } yy3071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3072; default: goto yy2; } yy3072: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3073; default: goto yy2; } yy3073: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3074; default: goto yy2; } yy3074: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3075; default: goto yy2; } yy3075: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3076; default: goto yy2; } yy3076: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3077; default: goto yy2; } yy3077: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3078; default: goto yy2; } yy3078: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3079; default: goto yy2; } yy3079: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3080; default: goto yy2; } yy3080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3081; default: goto yy2; } yy3081: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3082; default: goto yy2; } yy3082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3083; default: goto yy2; } yy3083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3084; default: goto yy2; } yy3084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3085; default: goto yy2; } yy3085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3086; default: goto yy2; } yy3086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3087; default: goto yy2; } yy3087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3088; default: goto yy2; } yy3088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3089; default: goto yy2; } yy3089: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3090; default: goto yy2; } yy3090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3091; default: goto yy2; } yy3091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3092; default: goto yy2; } yy3092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3093; default: goto yy2; } yy3093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3094; default: goto yy2; } yy3094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3095; default: goto yy2; } yy3095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3096; default: goto yy2; } yy3096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3097; default: goto yy2; } yy3097: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3098; default: goto yy2; } yy3098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3099; default: goto yy2; } yy3099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3100; default: goto yy2; } yy3100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3101; default: goto yy2; } yy3101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3102; default: goto yy2; } yy3102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3103; default: goto yy2; } yy3103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3104; default: goto yy2; } yy3104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3105; default: goto yy2; } yy3105: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3106; default: goto yy2; } yy3106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3107; default: goto yy2; } yy3107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3108; default: goto yy2; } yy3108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3109; default: goto yy2; } yy3109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3110; default: goto yy2; } yy3110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3111; default: goto yy2; } yy3111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3112; default: goto yy2; } yy3112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3113; default: goto yy2; } yy3113: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3114; default: goto yy2; } yy3114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3115; default: goto yy2; } yy3115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3116; default: goto yy2; } yy3116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3117; default: goto yy2; } yy3117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3118; default: goto yy2; } yy3118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3119; default: goto yy2; } yy3119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3120; default: goto yy2; } yy3120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3121; default: goto yy2; } yy3121: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3122; default: goto yy2; } yy3122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3123; default: goto yy2; } yy3123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3124; default: goto yy2; } yy3124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3125; default: goto yy2; } yy3125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3126; default: goto yy2; } yy3126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3127; default: goto yy2; } yy3127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3128; default: goto yy2; } yy3128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3129; default: goto yy2; } yy3129: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3130; default: goto yy2; } yy3130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3131; default: goto yy2; } yy3131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3132; default: goto yy2; } yy3132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3133; default: goto yy2; } yy3133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3134; default: goto yy2; } yy3134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3135; default: goto yy2; } yy3135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3136; default: goto yy2; } yy3136: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3137; default: goto yy2; } yy3137: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3138; default: goto yy2; } yy3138: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3139; default: goto yy2; } yy3139: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3140; default: goto yy2; } yy3140: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3141; default: goto yy2; } yy3141: yych = *++YYCURSOR; switch (yych) { case '4': goto yy3142; default: goto yy2; } yy3142: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3143; default: goto yy2; } yy3143: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3144; default: goto yy2; } yy3144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3145; default: goto yy2; } yy3145: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3146; default: goto yy2; } yy3146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3147; default: goto yy2; } yy3147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3148; default: goto yy2; } yy3148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3149; default: goto yy2; } yy3149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3150; default: goto yy2; } yy3150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3151; default: goto yy2; } yy3151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3152; default: goto yy2; } yy3152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3153; default: goto yy2; } yy3153: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3154; default: goto yy2; } yy3154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3155; default: goto yy2; } yy3155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3156; default: goto yy2; } yy3156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3157; default: goto yy2; } yy3157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3158; default: goto yy2; } yy3158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3159; default: goto yy2; } yy3159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3160; default: goto yy2; } yy3160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3161; default: goto yy2; } yy3161: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3162; default: goto yy2; } yy3162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3163; default: goto yy2; } yy3163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3164; default: goto yy2; } yy3164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3165; default: goto yy2; } yy3165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3166; default: goto yy2; } yy3166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3167; default: goto yy2; } yy3167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3168; default: goto yy2; } yy3168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3169; default: goto yy2; } yy3169: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3170; default: goto yy2; } yy3170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3171; default: goto yy2; } yy3171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3172; default: goto yy2; } yy3172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3173; default: goto yy2; } yy3173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3174; default: goto yy2; } yy3174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3175; default: goto yy2; } yy3175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3176; default: goto yy2; } yy3176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3177; default: goto yy2; } yy3177: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3178; default: goto yy2; } yy3178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3179; default: goto yy2; } yy3179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3180; default: goto yy2; } yy3180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3181; default: goto yy2; } yy3181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3182; default: goto yy2; } yy3182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3183; default: goto yy2; } yy3183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3184; default: goto yy2; } yy3184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3185; default: goto yy2; } yy3185: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3186; default: goto yy2; } yy3186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3187; default: goto yy2; } yy3187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3188; default: goto yy2; } yy3188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3189; default: goto yy2; } yy3189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3190; default: goto yy2; } yy3190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3191; default: goto yy2; } yy3191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3192; default: goto yy2; } yy3192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3193; default: goto yy2; } yy3193: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3194; default: goto yy2; } yy3194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3195; default: goto yy2; } yy3195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3196; default: goto yy2; } yy3196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3197; default: goto yy2; } yy3197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3198; default: goto yy2; } yy3198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3199; default: goto yy2; } yy3199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3200; default: goto yy2; } yy3200: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3201; default: goto yy2; } yy3201: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3202; default: goto yy2; } yy3202: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3203; default: goto yy2; } yy3203: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3204; default: goto yy2; } yy3204: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3205; default: goto yy2; } yy3205: yych = *++YYCURSOR; switch (yych) { case '8': goto yy3206; default: goto yy2; } yy3206: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3207; default: goto yy2; } yy3207: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3208; default: goto yy2; } yy3208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3209; default: goto yy2; } yy3209: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3210; default: goto yy2; } yy3210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3211; default: goto yy2; } yy3211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3212; default: goto yy2; } yy3212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3213; default: goto yy2; } yy3213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3214; default: goto yy2; } yy3214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3215; default: goto yy2; } yy3215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3216; default: goto yy2; } yy3216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3217; default: goto yy2; } yy3217: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3218; default: goto yy2; } yy3218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3219; default: goto yy2; } yy3219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3220; default: goto yy2; } yy3220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3221; default: goto yy2; } yy3221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3222; default: goto yy2; } yy3222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3223; default: goto yy2; } yy3223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3224; default: goto yy2; } yy3224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3225; default: goto yy2; } yy3225: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3226; default: goto yy2; } yy3226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3227; default: goto yy2; } yy3227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3228; default: goto yy2; } yy3228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3229; default: goto yy2; } yy3229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3230; default: goto yy2; } yy3230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3231; default: goto yy2; } yy3231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3232; default: goto yy2; } yy3232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3233; default: goto yy2; } yy3233: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3234; default: goto yy2; } yy3234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3235; default: goto yy2; } yy3235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3236; default: goto yy2; } yy3236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3237; default: goto yy2; } yy3237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3238; default: goto yy2; } yy3238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3239; default: goto yy2; } yy3239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3240; default: goto yy2; } yy3240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3241; default: goto yy2; } yy3241: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3242; default: goto yy2; } yy3242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3243; default: goto yy2; } yy3243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3244; default: goto yy2; } yy3244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3245; default: goto yy2; } yy3245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3246; default: goto yy2; } yy3246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3247; default: goto yy2; } yy3247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3248; default: goto yy2; } yy3248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3249; default: goto yy2; } yy3249: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3250; default: goto yy2; } yy3250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3251; default: goto yy2; } yy3251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3252; default: goto yy2; } yy3252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3253; default: goto yy2; } yy3253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3254; default: goto yy2; } yy3254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3255; default: goto yy2; } yy3255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3256; default: goto yy2; } yy3256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3257; default: goto yy2; } yy3257: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3258; default: goto yy2; } yy3258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3259; default: goto yy2; } yy3259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3260; default: goto yy2; } yy3260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3261; default: goto yy2; } yy3261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3262; default: goto yy2; } yy3262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3263; default: goto yy2; } yy3263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3264; default: goto yy2; } yy3264: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3265; default: goto yy2; } yy3265: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3266; default: goto yy2; } yy3266: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3267; default: goto yy2; } yy3267: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3268; default: goto yy2; } yy3268: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3269; default: goto yy2; } yy3269: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3270; default: goto yy2; } yy3270: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3271; default: goto yy2; } yy3271: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3272; default: goto yy2; } yy3272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3273; default: goto yy2; } yy3273: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3274; default: goto yy2; } yy3274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3275; default: goto yy2; } yy3275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3276; default: goto yy2; } yy3276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3277; default: goto yy2; } yy3277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3278; default: goto yy2; } yy3278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3279; default: goto yy2; } yy3279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3280; default: goto yy2; } yy3280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3281; default: goto yy2; } yy3281: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3282; default: goto yy2; } yy3282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3283; default: goto yy2; } yy3283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3284; default: goto yy2; } yy3284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3285; default: goto yy2; } yy3285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3286; default: goto yy2; } yy3286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3287; default: goto yy2; } yy3287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3288; default: goto yy2; } yy3288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3289; default: goto yy2; } yy3289: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3290; default: goto yy2; } yy3290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3291; default: goto yy2; } yy3291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3292; default: goto yy2; } yy3292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3293; default: goto yy2; } yy3293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3294; default: goto yy2; } yy3294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3295; default: goto yy2; } yy3295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3296; default: goto yy2; } yy3296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3297; default: goto yy2; } yy3297: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3298; default: goto yy2; } yy3298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3299; default: goto yy2; } yy3299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3300; default: goto yy2; } yy3300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3301; default: goto yy2; } yy3301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3302; default: goto yy2; } yy3302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3303; default: goto yy2; } yy3303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3304; default: goto yy2; } yy3304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3305; default: goto yy2; } yy3305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3306; default: goto yy2; } yy3306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3307; default: goto yy2; } yy3307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3308; default: goto yy2; } yy3308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3309; default: goto yy2; } yy3309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3310; default: goto yy2; } yy3310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3311; default: goto yy2; } yy3311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3312; default: goto yy2; } yy3312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3313; default: goto yy2; } yy3313: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3314; default: goto yy2; } yy3314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3315; default: goto yy2; } yy3315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3316; default: goto yy2; } yy3316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3317; default: goto yy2; } yy3317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3318; default: goto yy2; } yy3318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3319; default: goto yy2; } yy3319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3320; default: goto yy2; } yy3320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3321; default: goto yy2; } yy3321: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3322; default: goto yy2; } yy3322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3323; default: goto yy2; } yy3323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3324; default: goto yy2; } yy3324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3325; default: goto yy2; } yy3325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3326; default: goto yy2; } yy3326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3327; default: goto yy2; } yy3327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3328; default: goto yy2; } yy3328: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3329; default: goto yy2; } yy3329: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3330; default: goto yy2; } yy3330: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3331; default: goto yy2; } yy3331: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3332; default: goto yy2; } yy3332: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy3333; default: goto yy2; } yy3333: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3334; default: goto yy2; } yy3334: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3335; default: goto yy2; } yy3335: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3336; default: goto yy2; } yy3336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3337; default: goto yy2; } yy3337: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3338; default: goto yy2; } yy3338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3339; default: goto yy2; } yy3339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3340; default: goto yy2; } yy3340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3341; default: goto yy2; } yy3341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3342; default: goto yy2; } yy3342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3343; default: goto yy2; } yy3343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3344; default: goto yy2; } yy3344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3345; default: goto yy2; } yy3345: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3346; default: goto yy2; } yy3346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3347; default: goto yy2; } yy3347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3348; default: goto yy2; } yy3348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3349; default: goto yy2; } yy3349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3350; default: goto yy2; } yy3350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3351; default: goto yy2; } yy3351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3352; default: goto yy2; } yy3352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3353; default: goto yy2; } yy3353: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3354; default: goto yy2; } yy3354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3355; default: goto yy2; } yy3355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3356; default: goto yy2; } yy3356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3357; default: goto yy2; } yy3357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3358; default: goto yy2; } yy3358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3359; default: goto yy2; } yy3359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3360; default: goto yy2; } yy3360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3361; default: goto yy2; } yy3361: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3362; default: goto yy2; } yy3362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3363; default: goto yy2; } yy3363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3364; default: goto yy2; } yy3364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3365; default: goto yy2; } yy3365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3366; default: goto yy2; } yy3366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3367; default: goto yy2; } yy3367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3368; default: goto yy2; } yy3368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3369; default: goto yy2; } yy3369: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3370; default: goto yy2; } yy3370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3371; default: goto yy2; } yy3371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3372; default: goto yy2; } yy3372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3373; default: goto yy2; } yy3373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3374; default: goto yy2; } yy3374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3375; default: goto yy2; } yy3375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3376; default: goto yy2; } yy3376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3377; default: goto yy2; } yy3377: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3378; default: goto yy2; } yy3378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3379; default: goto yy2; } yy3379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3380; default: goto yy2; } yy3380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3381; default: goto yy2; } yy3381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3382; default: goto yy2; } yy3382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3383; default: goto yy2; } yy3383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3384; default: goto yy2; } yy3384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3385; default: goto yy2; } yy3385: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3386; default: goto yy2; } yy3386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3387; default: goto yy2; } yy3387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3388; default: goto yy2; } yy3388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3389; default: goto yy2; } yy3389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3390; default: goto yy2; } yy3390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3391; default: goto yy2; } yy3391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3392; default: goto yy2; } yy3392: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3393; default: goto yy2; } yy3393: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3394; default: goto yy2; } yy3394: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3395; default: goto yy2; } yy3395: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3396; default: goto yy2; } yy3396: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy3397; default: goto yy2; } yy3397: yych = *++YYCURSOR; switch (yych) { case '4': goto yy3398; default: goto yy2; } yy3398: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3399; default: goto yy2; } yy3399: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3400; default: goto yy2; } yy3400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3401; default: goto yy2; } yy3401: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3402; default: goto yy2; } yy3402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3403; default: goto yy2; } yy3403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3404; default: goto yy2; } yy3404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3405; default: goto yy2; } yy3405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3406; default: goto yy2; } yy3406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3407; default: goto yy2; } yy3407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3408; default: goto yy2; } yy3408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3409; default: goto yy2; } yy3409: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3410; default: goto yy2; } yy3410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3411; default: goto yy2; } yy3411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3412; default: goto yy2; } yy3412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3413; default: goto yy2; } yy3413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3414; default: goto yy2; } yy3414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3415; default: goto yy2; } yy3415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3416; default: goto yy2; } yy3416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3417; default: goto yy2; } yy3417: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3418; default: goto yy2; } yy3418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3419; default: goto yy2; } yy3419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3420; default: goto yy2; } yy3420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3421; default: goto yy2; } yy3421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3422; default: goto yy2; } yy3422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3423; default: goto yy2; } yy3423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3424; default: goto yy2; } yy3424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3425; default: goto yy2; } yy3425: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3426; default: goto yy2; } yy3426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3427; default: goto yy2; } yy3427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3428; default: goto yy2; } yy3428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3429; default: goto yy2; } yy3429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3430; default: goto yy2; } yy3430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3431; default: goto yy2; } yy3431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3432; default: goto yy2; } yy3432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3433; default: goto yy2; } yy3433: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3434; default: goto yy2; } yy3434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3435; default: goto yy2; } yy3435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3436; default: goto yy2; } yy3436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3437; default: goto yy2; } yy3437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3438; default: goto yy2; } yy3438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3439; default: goto yy2; } yy3439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3440; default: goto yy2; } yy3440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3441; default: goto yy2; } yy3441: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3442; default: goto yy2; } yy3442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3443; default: goto yy2; } yy3443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3444; default: goto yy2; } yy3444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3445; default: goto yy2; } yy3445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3446; default: goto yy2; } yy3446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3447; default: goto yy2; } yy3447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3448; default: goto yy2; } yy3448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3449; default: goto yy2; } yy3449: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3450; default: goto yy2; } yy3450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3451; default: goto yy2; } yy3451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3452; default: goto yy2; } yy3452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3453; default: goto yy2; } yy3453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3454; default: goto yy2; } yy3454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3455; default: goto yy2; } yy3455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3456; default: goto yy2; } yy3456: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3457; default: goto yy2; } yy3457: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3458; default: goto yy2; } yy3458: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3459; default: goto yy2; } yy3459: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3460; default: goto yy2; } yy3460: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy3461; default: goto yy2; } yy3461: yych = *++YYCURSOR; switch (yych) { case '8': goto yy3462; default: goto yy2; } yy3462: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3463; default: goto yy2; } yy3463: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3464; default: goto yy2; } yy3464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3465; default: goto yy2; } yy3465: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3466; default: goto yy2; } yy3466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3467; default: goto yy2; } yy3467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3468; default: goto yy2; } yy3468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3469; default: goto yy2; } yy3469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3470; default: goto yy2; } yy3470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3471; default: goto yy2; } yy3471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3472; default: goto yy2; } yy3472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3473; default: goto yy2; } yy3473: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3474; default: goto yy2; } yy3474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3475; default: goto yy2; } yy3475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3476; default: goto yy2; } yy3476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3477; default: goto yy2; } yy3477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3478; default: goto yy2; } yy3478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3479; default: goto yy2; } yy3479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3480; default: goto yy2; } yy3480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3481; default: goto yy2; } yy3481: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3482; default: goto yy2; } yy3482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3483; default: goto yy2; } yy3483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3484; default: goto yy2; } yy3484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3485; default: goto yy2; } yy3485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3486; default: goto yy2; } yy3486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3487; default: goto yy2; } yy3487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3488; default: goto yy2; } yy3488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3489; default: goto yy2; } yy3489: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3490; default: goto yy2; } yy3490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3491; default: goto yy2; } yy3491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3492; default: goto yy2; } yy3492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3493; default: goto yy2; } yy3493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3494; default: goto yy2; } yy3494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3495; default: goto yy2; } yy3495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3496; default: goto yy2; } yy3496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3497; default: goto yy2; } yy3497: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3498; default: goto yy2; } yy3498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3499; default: goto yy2; } yy3499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3500; default: goto yy2; } yy3500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3501; default: goto yy2; } yy3501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3502; default: goto yy2; } yy3502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3503; default: goto yy2; } yy3503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3504; default: goto yy2; } yy3504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3505; default: goto yy2; } yy3505: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3506; default: goto yy2; } yy3506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3507; default: goto yy2; } yy3507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3508; default: goto yy2; } yy3508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3509; default: goto yy2; } yy3509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3510; default: goto yy2; } yy3510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3511; default: goto yy2; } yy3511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3512; default: goto yy2; } yy3512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3513; default: goto yy2; } yy3513: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3514; default: goto yy2; } yy3514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3515; default: goto yy2; } yy3515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3516; default: goto yy2; } yy3516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3517; default: goto yy2; } yy3517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3518; default: goto yy2; } yy3518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3519; default: goto yy2; } yy3519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3520; default: goto yy2; } yy3520: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3521; default: goto yy2; } yy3521: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3522; default: goto yy2; } yy3522: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3523; default: goto yy2; } yy3523: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3524; default: goto yy2; } yy3524: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy3525; default: goto yy2; } yy3525: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3526; default: goto yy2; } yy3526: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3527; default: goto yy2; } yy3527: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3528; default: goto yy2; } yy3528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3529; default: goto yy2; } yy3529: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3530; default: goto yy2; } yy3530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3531; default: goto yy2; } yy3531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3532; default: goto yy2; } yy3532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3533; default: goto yy2; } yy3533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3534; default: goto yy2; } yy3534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3535; default: goto yy2; } yy3535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3536; default: goto yy2; } yy3536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3537; default: goto yy2; } yy3537: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3538; default: goto yy2; } yy3538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3539; default: goto yy2; } yy3539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3540; default: goto yy2; } yy3540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3541; default: goto yy2; } yy3541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3542; default: goto yy2; } yy3542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3543; default: goto yy2; } yy3543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3544; default: goto yy2; } yy3544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3545; default: goto yy2; } yy3545: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3546; default: goto yy2; } yy3546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3547; default: goto yy2; } yy3547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3548; default: goto yy2; } yy3548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3549; default: goto yy2; } yy3549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3550; default: goto yy2; } yy3550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3551; default: goto yy2; } yy3551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3552; default: goto yy2; } yy3552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3553; default: goto yy2; } yy3553: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3554; default: goto yy2; } yy3554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3555; default: goto yy2; } yy3555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3556; default: goto yy2; } yy3556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3557; default: goto yy2; } yy3557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3558; default: goto yy2; } yy3558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3559; default: goto yy2; } yy3559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3560; default: goto yy2; } yy3560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3561; default: goto yy2; } yy3561: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3562; default: goto yy2; } yy3562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3563; default: goto yy2; } yy3563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3564; default: goto yy2; } yy3564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3565; default: goto yy2; } yy3565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3566; default: goto yy2; } yy3566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3567; default: goto yy2; } yy3567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3568; default: goto yy2; } yy3568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3569; default: goto yy2; } yy3569: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3570; default: goto yy2; } yy3570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3571; default: goto yy2; } yy3571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3572; default: goto yy2; } yy3572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3573; default: goto yy2; } yy3573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3574; default: goto yy2; } yy3574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3575; default: goto yy2; } yy3575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3576; default: goto yy2; } yy3576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3577; default: goto yy2; } yy3577: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3578; default: goto yy2; } yy3578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3579; default: goto yy2; } yy3579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3580; default: goto yy2; } yy3580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3581; default: goto yy2; } yy3581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3582; default: goto yy2; } yy3582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3583; default: goto yy2; } yy3583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3584; default: goto yy2; } yy3584: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3585; default: goto yy2; } yy3585: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3586; default: goto yy2; } yy3586: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3587; default: goto yy2; } yy3587: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3588; default: goto yy2; } yy3588: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy3589; default: goto yy2; } yy3589: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3590; default: goto yy2; } yy3590: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3591; default: goto yy2; } yy3591: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3592; default: goto yy2; } yy3592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3593; default: goto yy2; } yy3593: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3594; default: goto yy2; } yy3594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3595; default: goto yy2; } yy3595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3596; default: goto yy2; } yy3596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3597; default: goto yy2; } yy3597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3598; default: goto yy2; } yy3598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3599; default: goto yy2; } yy3599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3600; default: goto yy2; } yy3600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3601; default: goto yy2; } yy3601: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3602; default: goto yy2; } yy3602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3603; default: goto yy2; } yy3603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3604; default: goto yy2; } yy3604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3605; default: goto yy2; } yy3605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3606; default: goto yy2; } yy3606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3607; default: goto yy2; } yy3607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3608; default: goto yy2; } yy3608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3609; default: goto yy2; } yy3609: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3610; default: goto yy2; } yy3610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3611; default: goto yy2; } yy3611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3612; default: goto yy2; } yy3612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3613; default: goto yy2; } yy3613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3614; default: goto yy2; } yy3614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3615; default: goto yy2; } yy3615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3616; default: goto yy2; } yy3616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3617; default: goto yy2; } yy3617: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3618; default: goto yy2; } yy3618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3619; default: goto yy2; } yy3619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3620; default: goto yy2; } yy3620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3621; default: goto yy2; } yy3621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3622; default: goto yy2; } yy3622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3623; default: goto yy2; } yy3623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3624; default: goto yy2; } yy3624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3625; default: goto yy2; } yy3625: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3626; default: goto yy2; } yy3626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3627; default: goto yy2; } yy3627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3628; default: goto yy2; } yy3628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3629; default: goto yy2; } yy3629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3630; default: goto yy2; } yy3630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3631; default: goto yy2; } yy3631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3632; default: goto yy2; } yy3632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3633; default: goto yy2; } yy3633: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3634; default: goto yy2; } yy3634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3635; default: goto yy2; } yy3635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3636; default: goto yy2; } yy3636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3637; default: goto yy2; } yy3637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3638; default: goto yy2; } yy3638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3639; default: goto yy2; } yy3639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3640; default: goto yy2; } yy3640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3641; default: goto yy2; } yy3641: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3642; default: goto yy2; } yy3642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3643; default: goto yy2; } yy3643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3644; default: goto yy2; } yy3644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3645; default: goto yy2; } yy3645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3646; default: goto yy2; } yy3646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3647; default: goto yy2; } yy3647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3648; default: goto yy2; } yy3648: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3649; default: goto yy2; } yy3649: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3650; default: goto yy2; } yy3650: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3651; default: goto yy2; } yy3651: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3652; default: goto yy2; } yy3652: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy3653; default: goto yy2; } yy3653: yych = *++YYCURSOR; switch (yych) { case '4': goto yy3654; default: goto yy2; } yy3654: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3655; default: goto yy2; } yy3655: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3656; default: goto yy2; } yy3656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3657; default: goto yy2; } yy3657: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3658; default: goto yy2; } yy3658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3659; default: goto yy2; } yy3659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3660; default: goto yy2; } yy3660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3661; default: goto yy2; } yy3661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3662; default: goto yy2; } yy3662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3663; default: goto yy2; } yy3663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3664; default: goto yy2; } yy3664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3665; default: goto yy2; } yy3665: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3666; default: goto yy2; } yy3666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3667; default: goto yy2; } yy3667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3668; default: goto yy2; } yy3668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3669; default: goto yy2; } yy3669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3670; default: goto yy2; } yy3670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3671; default: goto yy2; } yy3671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3672; default: goto yy2; } yy3672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3673; default: goto yy2; } yy3673: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3674; default: goto yy2; } yy3674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3675; default: goto yy2; } yy3675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3676; default: goto yy2; } yy3676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3677; default: goto yy2; } yy3677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3678; default: goto yy2; } yy3678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3679; default: goto yy2; } yy3679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3680; default: goto yy2; } yy3680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3681; default: goto yy2; } yy3681: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3682; default: goto yy2; } yy3682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3683; default: goto yy2; } yy3683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3684; default: goto yy2; } yy3684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3685; default: goto yy2; } yy3685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3686; default: goto yy2; } yy3686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3687; default: goto yy2; } yy3687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3688; default: goto yy2; } yy3688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3689; default: goto yy2; } yy3689: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3690; default: goto yy2; } yy3690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3691; default: goto yy2; } yy3691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3692; default: goto yy2; } yy3692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3693; default: goto yy2; } yy3693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3694; default: goto yy2; } yy3694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3695; default: goto yy2; } yy3695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3696; default: goto yy2; } yy3696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3697; default: goto yy2; } yy3697: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3698; default: goto yy2; } yy3698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3699; default: goto yy2; } yy3699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3700; default: goto yy2; } yy3700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3701; default: goto yy2; } yy3701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3702; default: goto yy2; } yy3702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3703; default: goto yy2; } yy3703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3704; default: goto yy2; } yy3704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3705; default: goto yy2; } yy3705: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3706; default: goto yy2; } yy3706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3707; default: goto yy2; } yy3707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3708; default: goto yy2; } yy3708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3709; default: goto yy2; } yy3709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3710; default: goto yy2; } yy3710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3711; default: goto yy2; } yy3711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3712; default: goto yy2; } yy3712: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3713; default: goto yy2; } yy3713: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3714; default: goto yy2; } yy3714: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3715; default: goto yy2; } yy3715: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3716; default: goto yy2; } yy3716: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy3717; default: goto yy2; } yy3717: yych = *++YYCURSOR; switch (yych) { case '8': goto yy3718; default: goto yy2; } yy3718: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3719; default: goto yy2; } yy3719: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3720; default: goto yy2; } yy3720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3721; default: goto yy2; } yy3721: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3722; default: goto yy2; } yy3722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3723; default: goto yy2; } yy3723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3724; default: goto yy2; } yy3724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3725; default: goto yy2; } yy3725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3726; default: goto yy2; } yy3726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3727; default: goto yy2; } yy3727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3728; default: goto yy2; } yy3728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3729; default: goto yy2; } yy3729: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3730; default: goto yy2; } yy3730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3731; default: goto yy2; } yy3731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3732; default: goto yy2; } yy3732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3733; default: goto yy2; } yy3733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3734; default: goto yy2; } yy3734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3735; default: goto yy2; } yy3735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3736; default: goto yy2; } yy3736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3737; default: goto yy2; } yy3737: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3738; default: goto yy2; } yy3738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3739; default: goto yy2; } yy3739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3740; default: goto yy2; } yy3740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3741; default: goto yy2; } yy3741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3742; default: goto yy2; } yy3742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3743; default: goto yy2; } yy3743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3744; default: goto yy2; } yy3744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3745; default: goto yy2; } yy3745: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3746; default: goto yy2; } yy3746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3747; default: goto yy2; } yy3747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3748; default: goto yy2; } yy3748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3749; default: goto yy2; } yy3749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3750; default: goto yy2; } yy3750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3751; default: goto yy2; } yy3751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3752; default: goto yy2; } yy3752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3753; default: goto yy2; } yy3753: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3754; default: goto yy2; } yy3754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3755; default: goto yy2; } yy3755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3756; default: goto yy2; } yy3756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3757; default: goto yy2; } yy3757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3758; default: goto yy2; } yy3758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3759; default: goto yy2; } yy3759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3760; default: goto yy2; } yy3760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3761; default: goto yy2; } yy3761: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3762; default: goto yy2; } yy3762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3763; default: goto yy2; } yy3763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3764; default: goto yy2; } yy3764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3765; default: goto yy2; } yy3765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3766; default: goto yy2; } yy3766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3767; default: goto yy2; } yy3767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3768; default: goto yy2; } yy3768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3769; default: goto yy2; } yy3769: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3770; default: goto yy2; } yy3770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3771; default: goto yy2; } yy3771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3772; default: goto yy2; } yy3772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3773; default: goto yy2; } yy3773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3774; default: goto yy2; } yy3774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3775; default: goto yy2; } yy3775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3776; default: goto yy2; } yy3776: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3777; default: goto yy2; } yy3777: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3778; default: goto yy2; } yy3778: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3779; default: goto yy2; } yy3779: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3780; default: goto yy2; } yy3780: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy3781; default: goto yy2; } yy3781: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy3782; default: goto yy2; } yy3782: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3783; default: goto yy2; } yy3783: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3784; default: goto yy2; } yy3784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3785; default: goto yy2; } yy3785: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3786; default: goto yy2; } yy3786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3787; default: goto yy2; } yy3787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3788; default: goto yy2; } yy3788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3789; default: goto yy2; } yy3789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3790; default: goto yy2; } yy3790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3791; default: goto yy2; } yy3791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3792; default: goto yy2; } yy3792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3793; default: goto yy2; } yy3793: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3794; default: goto yy2; } yy3794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3795; default: goto yy2; } yy3795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3796; default: goto yy2; } yy3796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3797; default: goto yy2; } yy3797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3798; default: goto yy2; } yy3798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3799; default: goto yy2; } yy3799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3800; default: goto yy2; } yy3800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3801; default: goto yy2; } yy3801: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3802; default: goto yy2; } yy3802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3803; default: goto yy2; } yy3803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3804; default: goto yy2; } yy3804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3805; default: goto yy2; } yy3805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3806; default: goto yy2; } yy3806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3807; default: goto yy2; } yy3807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3808; default: goto yy2; } yy3808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3809; default: goto yy2; } yy3809: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3810; default: goto yy2; } yy3810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3811; default: goto yy2; } yy3811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3812; default: goto yy2; } yy3812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3813; default: goto yy2; } yy3813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3814; default: goto yy2; } yy3814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3815; default: goto yy2; } yy3815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3816; default: goto yy2; } yy3816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3817; default: goto yy2; } yy3817: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3818; default: goto yy2; } yy3818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3819; default: goto yy2; } yy3819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3820; default: goto yy2; } yy3820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3821; default: goto yy2; } yy3821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3822; default: goto yy2; } yy3822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3823; default: goto yy2; } yy3823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3824; default: goto yy2; } yy3824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3825; default: goto yy2; } yy3825: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3826; default: goto yy2; } yy3826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3827; default: goto yy2; } yy3827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3828; default: goto yy2; } yy3828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3829; default: goto yy2; } yy3829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3830; default: goto yy2; } yy3830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3831; default: goto yy2; } yy3831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3832; default: goto yy2; } yy3832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3833; default: goto yy2; } yy3833: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3834; default: goto yy2; } yy3834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3835; default: goto yy2; } yy3835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3836; default: goto yy2; } yy3836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3837; default: goto yy2; } yy3837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3838; default: goto yy2; } yy3838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3839; default: goto yy2; } yy3839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3840; default: goto yy2; } yy3840: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3841; default: goto yy2; } yy3841: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3842; default: goto yy2; } yy3842: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3843; default: goto yy2; } yy3843: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3844; default: goto yy2; } yy3844: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy3845; default: goto yy2; } yy3845: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3846; default: goto yy2; } yy3846: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3847; default: goto yy2; } yy3847: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3848; default: goto yy2; } yy3848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3849; default: goto yy2; } yy3849: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3850; default: goto yy2; } yy3850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3851; default: goto yy2; } yy3851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3852; default: goto yy2; } yy3852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3853; default: goto yy2; } yy3853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3854; default: goto yy2; } yy3854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3855; default: goto yy2; } yy3855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3856; default: goto yy2; } yy3856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3857; default: goto yy2; } yy3857: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3858; default: goto yy2; } yy3858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3859; default: goto yy2; } yy3859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3860; default: goto yy2; } yy3860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3861; default: goto yy2; } yy3861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3862; default: goto yy2; } yy3862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3863; default: goto yy2; } yy3863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3864; default: goto yy2; } yy3864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3865; default: goto yy2; } yy3865: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3866; default: goto yy2; } yy3866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3867; default: goto yy2; } yy3867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3868; default: goto yy2; } yy3868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3869; default: goto yy2; } yy3869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3870; default: goto yy2; } yy3870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3871; default: goto yy2; } yy3871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3872; default: goto yy2; } yy3872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3873; default: goto yy2; } yy3873: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3874; default: goto yy2; } yy3874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3875; default: goto yy2; } yy3875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3876; default: goto yy2; } yy3876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3877; default: goto yy2; } yy3877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3878; default: goto yy2; } yy3878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3879; default: goto yy2; } yy3879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3880; default: goto yy2; } yy3880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3881; default: goto yy2; } yy3881: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3882; default: goto yy2; } yy3882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3883; default: goto yy2; } yy3883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3884; default: goto yy2; } yy3884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3885; default: goto yy2; } yy3885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3886; default: goto yy2; } yy3886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3887; default: goto yy2; } yy3887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3888; default: goto yy2; } yy3888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3889; default: goto yy2; } yy3889: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3890; default: goto yy2; } yy3890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3891; default: goto yy2; } yy3891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3892; default: goto yy2; } yy3892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3893; default: goto yy2; } yy3893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3894; default: goto yy2; } yy3894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3895; default: goto yy2; } yy3895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3896; default: goto yy2; } yy3896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3897; default: goto yy2; } yy3897: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3898; default: goto yy2; } yy3898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3899; default: goto yy2; } yy3899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3900; default: goto yy2; } yy3900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3901; default: goto yy2; } yy3901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3902; default: goto yy2; } yy3902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3903; default: goto yy2; } yy3903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3904; default: goto yy2; } yy3904: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3905; default: goto yy2; } yy3905: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3906; default: goto yy2; } yy3906: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3907; default: goto yy2; } yy3907: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3908; default: goto yy2; } yy3908: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy3909; default: goto yy2; } yy3909: yych = *++YYCURSOR; switch (yych) { case '4': goto yy3910; default: goto yy2; } yy3910: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3911; default: goto yy2; } yy3911: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3912; default: goto yy2; } yy3912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3913; default: goto yy2; } yy3913: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3914; default: goto yy2; } yy3914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3915; default: goto yy2; } yy3915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3916; default: goto yy2; } yy3916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3917; default: goto yy2; } yy3917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3918; default: goto yy2; } yy3918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3919; default: goto yy2; } yy3919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3920; default: goto yy2; } yy3920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3921; default: goto yy2; } yy3921: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3922; default: goto yy2; } yy3922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3923; default: goto yy2; } yy3923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3924; default: goto yy2; } yy3924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3925; default: goto yy2; } yy3925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3926; default: goto yy2; } yy3926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3927; default: goto yy2; } yy3927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3928; default: goto yy2; } yy3928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3929; default: goto yy2; } yy3929: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3930; default: goto yy2; } yy3930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3931; default: goto yy2; } yy3931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3932; default: goto yy2; } yy3932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3933; default: goto yy2; } yy3933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3934; default: goto yy2; } yy3934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3935; default: goto yy2; } yy3935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3936; default: goto yy2; } yy3936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3937; default: goto yy2; } yy3937: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3938; default: goto yy2; } yy3938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3939; default: goto yy2; } yy3939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3940; default: goto yy2; } yy3940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3941; default: goto yy2; } yy3941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3942; default: goto yy2; } yy3942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3943; default: goto yy2; } yy3943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3944; default: goto yy2; } yy3944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3945; default: goto yy2; } yy3945: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3946; default: goto yy2; } yy3946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3947; default: goto yy2; } yy3947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3948; default: goto yy2; } yy3948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3949; default: goto yy2; } yy3949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3950; default: goto yy2; } yy3950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3951; default: goto yy2; } yy3951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3952; default: goto yy2; } yy3952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3953; default: goto yy2; } yy3953: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3954; default: goto yy2; } yy3954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3955; default: goto yy2; } yy3955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3956; default: goto yy2; } yy3956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3957; default: goto yy2; } yy3957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3958; default: goto yy2; } yy3958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3959; default: goto yy2; } yy3959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3960; default: goto yy2; } yy3960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3961; default: goto yy2; } yy3961: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3962; default: goto yy2; } yy3962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3963; default: goto yy2; } yy3963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3964; default: goto yy2; } yy3964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3965; default: goto yy2; } yy3965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3966; default: goto yy2; } yy3966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3967; default: goto yy2; } yy3967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3968; default: goto yy2; } yy3968: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3969; default: goto yy2; } yy3969: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy3970; default: goto yy2; } yy3970: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3971; default: goto yy2; } yy3971: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3972; default: goto yy2; } yy3972: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy3973; default: goto yy2; } yy3973: yych = *++YYCURSOR; switch (yych) { case '8': goto yy3974; default: goto yy2; } yy3974: yych = *++YYCURSOR; switch (yych) { case '0': goto yy3975; default: goto yy2; } yy3975: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3976; default: goto yy2; } yy3976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3977; default: goto yy2; } yy3977: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3978; default: goto yy2; } yy3978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3979; default: goto yy2; } yy3979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3980; default: goto yy2; } yy3980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3981; default: goto yy2; } yy3981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3982; default: goto yy2; } yy3982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3983; default: goto yy2; } yy3983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3984; default: goto yy2; } yy3984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3985; default: goto yy2; } yy3985: yych = *++YYCURSOR; switch (yych) { case '_': goto yy3986; default: goto yy2; } yy3986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3987; default: goto yy2; } yy3987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3988; default: goto yy2; } yy3988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3989; default: goto yy2; } yy3989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3990; default: goto yy2; } yy3990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3991; default: goto yy2; } yy3991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3992; default: goto yy2; } yy3992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3993; default: goto yy2; } yy3993: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3994; default: goto yy2; } yy3994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3995; default: goto yy2; } yy3995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3996; default: goto yy2; } yy3996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3997; default: goto yy2; } yy3997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3998; default: goto yy2; } yy3998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3999; default: goto yy2; } yy3999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4000; default: goto yy2; } yy4000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4001; default: goto yy2; } yy4001: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4002; default: goto yy2; } yy4002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4003; default: goto yy2; } yy4003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4004; default: goto yy2; } yy4004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4005; default: goto yy2; } yy4005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4006; default: goto yy2; } yy4006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4007; default: goto yy2; } yy4007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4008; default: goto yy2; } yy4008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4009; default: goto yy2; } yy4009: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4010; default: goto yy2; } yy4010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4011; default: goto yy2; } yy4011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4012; default: goto yy2; } yy4012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4013; default: goto yy2; } yy4013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4014; default: goto yy2; } yy4014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4015; default: goto yy2; } yy4015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4016; default: goto yy2; } yy4016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4017; default: goto yy2; } yy4017: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4018; default: goto yy2; } yy4018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4019; default: goto yy2; } yy4019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4020; default: goto yy2; } yy4020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4021; default: goto yy2; } yy4021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4022; default: goto yy2; } yy4022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4023; default: goto yy2; } yy4023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4024; default: goto yy2; } yy4024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4025; default: goto yy2; } yy4025: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4026; default: goto yy2; } yy4026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4027; default: goto yy2; } yy4027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4028; default: goto yy2; } yy4028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4029; default: goto yy2; } yy4029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4030; default: goto yy2; } yy4030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4031; default: goto yy2; } yy4031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4032; default: goto yy2; } yy4032: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4033; default: goto yy2; } yy4033: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4034; default: goto yy2; } yy4034: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4035; default: goto yy2; } yy4035: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4036; default: goto yy2; } yy4036: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy4037; default: goto yy2; } yy4037: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy4038; default: goto yy2; } yy4038: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4039; default: goto yy2; } yy4039: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4040; default: goto yy2; } yy4040: yych = *++YYCURSOR; switch (yych) { case '4': goto yy4041; default: goto yy2; } yy4041: yych = *++YYCURSOR; switch (yych) { case 't': goto yy4042; default: goto yy2; } yy4042: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy4043; default: goto yy2; } yy4043: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4044; default: goto yy2; } yy4044: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy4045; default: goto yy2; } yy4045: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy4046; default: goto yy2; } yy4046: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy4047; default: goto yy2; } yy4047: yych = *++YYCURSOR; switch (yych) { case 't': goto yy4048; default: goto yy2; } yy4048: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy4049; default: goto yy2; } yy4049: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4050; default: goto yy2; } yy4050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4051; default: goto yy2; } yy4051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4052; default: goto yy2; } yy4052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4053; default: goto yy2; } yy4053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4054; default: goto yy2; } yy4054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4055; default: goto yy2; } yy4055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4056; default: goto yy2; } yy4056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4057; default: goto yy2; } yy4057: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4058; default: goto yy2; } yy4058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4059; default: goto yy2; } yy4059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4060; default: goto yy2; } yy4060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4061; default: goto yy2; } yy4061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4062; default: goto yy2; } yy4062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4063; default: goto yy2; } yy4063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4064; default: goto yy2; } yy4064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4065; default: goto yy2; } yy4065: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4066; default: goto yy2; } yy4066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4067; default: goto yy2; } yy4067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4068; default: goto yy2; } yy4068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4069; default: goto yy2; } yy4069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4070; default: goto yy2; } yy4070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4071; default: goto yy2; } yy4071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4072; default: goto yy2; } yy4072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4073; default: goto yy2; } yy4073: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4074; default: goto yy2; } yy4074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4075; default: goto yy2; } yy4075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4076; default: goto yy2; } yy4076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4077; default: goto yy2; } yy4077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4078; default: goto yy2; } yy4078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4079; default: goto yy2; } yy4079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4080; default: goto yy2; } yy4080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4081; default: goto yy2; } yy4081: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4082; default: goto yy2; } yy4082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4083; default: goto yy2; } yy4083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4084; default: goto yy2; } yy4084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4085; default: goto yy2; } yy4085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4086; default: goto yy2; } yy4086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4087; default: goto yy2; } yy4087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4088; default: goto yy2; } yy4088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4089; default: goto yy2; } yy4089: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4090; default: goto yy2; } yy4090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4091; default: goto yy2; } yy4091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4092; default: goto yy2; } yy4092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4093; default: goto yy2; } yy4093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4094; default: goto yy2; } yy4094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4095; default: goto yy2; } yy4095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4096; default: goto yy2; } yy4096: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4097; default: goto yy2; } yy4097: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4098; default: goto yy2; } yy4098: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4099; default: goto yy2; } yy4099: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4100; default: goto yy2; } yy4100: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4101; default: goto yy2; } yy4101: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4102; default: goto yy2; } yy4102: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4103; default: goto yy2; } yy4103: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4104; default: goto yy2; } yy4104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4105; default: goto yy2; } yy4105: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4106; default: goto yy2; } yy4106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4107; default: goto yy2; } yy4107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4108; default: goto yy2; } yy4108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4109; default: goto yy2; } yy4109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4110; default: goto yy2; } yy4110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4111; default: goto yy2; } yy4111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4112; default: goto yy2; } yy4112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4113; default: goto yy2; } yy4113: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4114; default: goto yy2; } yy4114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4115; default: goto yy2; } yy4115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4116; default: goto yy2; } yy4116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4117; default: goto yy2; } yy4117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4118; default: goto yy2; } yy4118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4119; default: goto yy2; } yy4119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4120; default: goto yy2; } yy4120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4121; default: goto yy2; } yy4121: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4122; default: goto yy2; } yy4122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4123; default: goto yy2; } yy4123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4124; default: goto yy2; } yy4124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4125; default: goto yy2; } yy4125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4126; default: goto yy2; } yy4126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4127; default: goto yy2; } yy4127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4128; default: goto yy2; } yy4128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4129; default: goto yy2; } yy4129: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4130; default: goto yy2; } yy4130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4131; default: goto yy2; } yy4131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4132; default: goto yy2; } yy4132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4133; default: goto yy2; } yy4133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4134; default: goto yy2; } yy4134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4135; default: goto yy2; } yy4135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4136; default: goto yy2; } yy4136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4137; default: goto yy2; } yy4137: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4138; default: goto yy2; } yy4138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4139; default: goto yy2; } yy4139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4140; default: goto yy2; } yy4140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4141; default: goto yy2; } yy4141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4142; default: goto yy2; } yy4142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4143; default: goto yy2; } yy4143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4144; default: goto yy2; } yy4144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4145; default: goto yy2; } yy4145: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4146; default: goto yy2; } yy4146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4147; default: goto yy2; } yy4147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4148; default: goto yy2; } yy4148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4149; default: goto yy2; } yy4149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4150; default: goto yy2; } yy4150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4151; default: goto yy2; } yy4151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4152; default: goto yy2; } yy4152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4153; default: goto yy2; } yy4153: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4154; default: goto yy2; } yy4154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4155; default: goto yy2; } yy4155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4156; default: goto yy2; } yy4156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4157; default: goto yy2; } yy4157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4158; default: goto yy2; } yy4158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4159; default: goto yy2; } yy4159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4160; default: goto yy2; } yy4160: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4161; default: goto yy2; } yy4161: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4162; default: goto yy2; } yy4162: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4163; default: goto yy2; } yy4163: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4164; default: goto yy2; } yy4164: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4165; default: goto yy2; } yy4165: yych = *++YYCURSOR; switch (yych) { case '4': goto yy4166; default: goto yy2; } yy4166: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4167; default: goto yy2; } yy4167: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4168; default: goto yy2; } yy4168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4169; default: goto yy2; } yy4169: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4170; default: goto yy2; } yy4170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4171; default: goto yy2; } yy4171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4172; default: goto yy2; } yy4172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4173; default: goto yy2; } yy4173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4174; default: goto yy2; } yy4174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4175; default: goto yy2; } yy4175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4176; default: goto yy2; } yy4176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4177; default: goto yy2; } yy4177: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4178; default: goto yy2; } yy4178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4179; default: goto yy2; } yy4179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4180; default: goto yy2; } yy4180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4181; default: goto yy2; } yy4181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4182; default: goto yy2; } yy4182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4183; default: goto yy2; } yy4183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4184; default: goto yy2; } yy4184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4185; default: goto yy2; } yy4185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4186; default: goto yy2; } yy4186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4187; default: goto yy2; } yy4187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4188; default: goto yy2; } yy4188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4189; default: goto yy2; } yy4189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4190; default: goto yy2; } yy4190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4191; default: goto yy2; } yy4191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4192; default: goto yy2; } yy4192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4193; default: goto yy2; } yy4193: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4194; default: goto yy2; } yy4194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4195; default: goto yy2; } yy4195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4196; default: goto yy2; } yy4196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4197; default: goto yy2; } yy4197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4198; default: goto yy2; } yy4198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4199; default: goto yy2; } yy4199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4200; default: goto yy2; } yy4200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4201; default: goto yy2; } yy4201: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4202; default: goto yy2; } yy4202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4203; default: goto yy2; } yy4203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4204; default: goto yy2; } yy4204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4205; default: goto yy2; } yy4205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4206; default: goto yy2; } yy4206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4207; default: goto yy2; } yy4207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4208; default: goto yy2; } yy4208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4209; default: goto yy2; } yy4209: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4210; default: goto yy2; } yy4210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4211; default: goto yy2; } yy4211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4212; default: goto yy2; } yy4212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4213; default: goto yy2; } yy4213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4214; default: goto yy2; } yy4214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4215; default: goto yy2; } yy4215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4216; default: goto yy2; } yy4216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4217; default: goto yy2; } yy4217: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4218; default: goto yy2; } yy4218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4219; default: goto yy2; } yy4219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4220; default: goto yy2; } yy4220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4221; default: goto yy2; } yy4221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4222; default: goto yy2; } yy4222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4223; default: goto yy2; } yy4223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4224; default: goto yy2; } yy4224: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4225; default: goto yy2; } yy4225: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4226; default: goto yy2; } yy4226: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4227; default: goto yy2; } yy4227: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4228; default: goto yy2; } yy4228: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4229; default: goto yy2; } yy4229: yych = *++YYCURSOR; switch (yych) { case '8': goto yy4230; default: goto yy2; } yy4230: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4231; default: goto yy2; } yy4231: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4232; default: goto yy2; } yy4232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4233; default: goto yy2; } yy4233: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4234; default: goto yy2; } yy4234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4235; default: goto yy2; } yy4235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4236; default: goto yy2; } yy4236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4237; default: goto yy2; } yy4237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4238; default: goto yy2; } yy4238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4239; default: goto yy2; } yy4239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4240; default: goto yy2; } yy4240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4241; default: goto yy2; } yy4241: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4242; default: goto yy2; } yy4242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4243; default: goto yy2; } yy4243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4244; default: goto yy2; } yy4244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4245; default: goto yy2; } yy4245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4246; default: goto yy2; } yy4246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4247; default: goto yy2; } yy4247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4248; default: goto yy2; } yy4248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4249; default: goto yy2; } yy4249: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4250; default: goto yy2; } yy4250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4251; default: goto yy2; } yy4251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4252; default: goto yy2; } yy4252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4253; default: goto yy2; } yy4253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4254; default: goto yy2; } yy4254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4255; default: goto yy2; } yy4255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4256; default: goto yy2; } yy4256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4257; default: goto yy2; } yy4257: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4258; default: goto yy2; } yy4258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4259; default: goto yy2; } yy4259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4260; default: goto yy2; } yy4260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4261; default: goto yy2; } yy4261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4262; default: goto yy2; } yy4262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4263; default: goto yy2; } yy4263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4264; default: goto yy2; } yy4264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4265; default: goto yy2; } yy4265: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4266; default: goto yy2; } yy4266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4267; default: goto yy2; } yy4267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4268; default: goto yy2; } yy4268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4269; default: goto yy2; } yy4269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4270; default: goto yy2; } yy4270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4271; default: goto yy2; } yy4271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4272; default: goto yy2; } yy4272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4273; default: goto yy2; } yy4273: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4274; default: goto yy2; } yy4274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4275; default: goto yy2; } yy4275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4276; default: goto yy2; } yy4276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4277; default: goto yy2; } yy4277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4278; default: goto yy2; } yy4278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4279; default: goto yy2; } yy4279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4280; default: goto yy2; } yy4280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4281; default: goto yy2; } yy4281: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4282; default: goto yy2; } yy4282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4283; default: goto yy2; } yy4283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4284; default: goto yy2; } yy4284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4285; default: goto yy2; } yy4285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4286; default: goto yy2; } yy4286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4287; default: goto yy2; } yy4287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4288; default: goto yy2; } yy4288: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4289; default: goto yy2; } yy4289: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4290; default: goto yy2; } yy4290: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4291; default: goto yy2; } yy4291: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4292; default: goto yy2; } yy4292: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4293; default: goto yy2; } yy4293: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy4294; default: goto yy2; } yy4294: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4295; default: goto yy2; } yy4295: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4296; default: goto yy2; } yy4296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4297; default: goto yy2; } yy4297: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4298; default: goto yy2; } yy4298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4299; default: goto yy2; } yy4299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4300; default: goto yy2; } yy4300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4301; default: goto yy2; } yy4301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4302; default: goto yy2; } yy4302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4303; default: goto yy2; } yy4303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4304; default: goto yy2; } yy4304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4305; default: goto yy2; } yy4305: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4306; default: goto yy2; } yy4306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4307; default: goto yy2; } yy4307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4308; default: goto yy2; } yy4308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4309; default: goto yy2; } yy4309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4310; default: goto yy2; } yy4310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4311; default: goto yy2; } yy4311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4312; default: goto yy2; } yy4312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4313; default: goto yy2; } yy4313: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4314; default: goto yy2; } yy4314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4315; default: goto yy2; } yy4315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4316; default: goto yy2; } yy4316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4317; default: goto yy2; } yy4317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4318; default: goto yy2; } yy4318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4319; default: goto yy2; } yy4319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4320; default: goto yy2; } yy4320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4321; default: goto yy2; } yy4321: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4322; default: goto yy2; } yy4322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4323; default: goto yy2; } yy4323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4324; default: goto yy2; } yy4324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4325; default: goto yy2; } yy4325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4326; default: goto yy2; } yy4326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4327; default: goto yy2; } yy4327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4328; default: goto yy2; } yy4328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4329; default: goto yy2; } yy4329: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4330; default: goto yy2; } yy4330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4331; default: goto yy2; } yy4331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4332; default: goto yy2; } yy4332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4333; default: goto yy2; } yy4333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4334; default: goto yy2; } yy4334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4335; default: goto yy2; } yy4335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4336; default: goto yy2; } yy4336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4337; default: goto yy2; } yy4337: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4338; default: goto yy2; } yy4338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4339; default: goto yy2; } yy4339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4340; default: goto yy2; } yy4340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4341; default: goto yy2; } yy4341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4342; default: goto yy2; } yy4342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4343; default: goto yy2; } yy4343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4344; default: goto yy2; } yy4344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4345; default: goto yy2; } yy4345: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4346; default: goto yy2; } yy4346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4347; default: goto yy2; } yy4347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4348; default: goto yy2; } yy4348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4349; default: goto yy2; } yy4349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4350; default: goto yy2; } yy4350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4351; default: goto yy2; } yy4351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4352; default: goto yy2; } yy4352: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4353; default: goto yy2; } yy4353: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4354; default: goto yy2; } yy4354: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4355; default: goto yy2; } yy4355: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4356; default: goto yy2; } yy4356: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4357; default: goto yy2; } yy4357: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4358; default: goto yy2; } yy4358: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4359; default: goto yy2; } yy4359: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4360; default: goto yy2; } yy4360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4361; default: goto yy2; } yy4361: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4362; default: goto yy2; } yy4362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4363; default: goto yy2; } yy4363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4364; default: goto yy2; } yy4364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4365; default: goto yy2; } yy4365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4366; default: goto yy2; } yy4366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4367; default: goto yy2; } yy4367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4368; default: goto yy2; } yy4368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4369; default: goto yy2; } yy4369: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4370; default: goto yy2; } yy4370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4371; default: goto yy2; } yy4371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4372; default: goto yy2; } yy4372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4373; default: goto yy2; } yy4373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4374; default: goto yy2; } yy4374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4375; default: goto yy2; } yy4375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4376; default: goto yy2; } yy4376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4377; default: goto yy2; } yy4377: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4378; default: goto yy2; } yy4378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4379; default: goto yy2; } yy4379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4380; default: goto yy2; } yy4380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4381; default: goto yy2; } yy4381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4382; default: goto yy2; } yy4382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4383; default: goto yy2; } yy4383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4384; default: goto yy2; } yy4384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4385; default: goto yy2; } yy4385: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4386; default: goto yy2; } yy4386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4387; default: goto yy2; } yy4387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4388; default: goto yy2; } yy4388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4389; default: goto yy2; } yy4389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4390; default: goto yy2; } yy4390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4391; default: goto yy2; } yy4391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4392; default: goto yy2; } yy4392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4393; default: goto yy2; } yy4393: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4394; default: goto yy2; } yy4394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4395; default: goto yy2; } yy4395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4396; default: goto yy2; } yy4396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4397; default: goto yy2; } yy4397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4398; default: goto yy2; } yy4398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4399; default: goto yy2; } yy4399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4400; default: goto yy2; } yy4400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4401; default: goto yy2; } yy4401: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4402; default: goto yy2; } yy4402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4403; default: goto yy2; } yy4403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4404; default: goto yy2; } yy4404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4405; default: goto yy2; } yy4405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4406; default: goto yy2; } yy4406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4407; default: goto yy2; } yy4407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4408; default: goto yy2; } yy4408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4409; default: goto yy2; } yy4409: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4410; default: goto yy2; } yy4410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4411; default: goto yy2; } yy4411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4412; default: goto yy2; } yy4412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4413; default: goto yy2; } yy4413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4414; default: goto yy2; } yy4414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4415; default: goto yy2; } yy4415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4416; default: goto yy2; } yy4416: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4417; default: goto yy2; } yy4417: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4418; default: goto yy2; } yy4418: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4419; default: goto yy2; } yy4419: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4420; default: goto yy2; } yy4420: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4421; default: goto yy2; } yy4421: yych = *++YYCURSOR; switch (yych) { case '4': goto yy4422; default: goto yy2; } yy4422: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4423; default: goto yy2; } yy4423: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4424; default: goto yy2; } yy4424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4425; default: goto yy2; } yy4425: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4426; default: goto yy2; } yy4426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4427; default: goto yy2; } yy4427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4428; default: goto yy2; } yy4428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4429; default: goto yy2; } yy4429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4430; default: goto yy2; } yy4430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4431; default: goto yy2; } yy4431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4432; default: goto yy2; } yy4432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4433; default: goto yy2; } yy4433: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4434; default: goto yy2; } yy4434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4435; default: goto yy2; } yy4435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4436; default: goto yy2; } yy4436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4437; default: goto yy2; } yy4437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4438; default: goto yy2; } yy4438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4439; default: goto yy2; } yy4439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4440; default: goto yy2; } yy4440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4441; default: goto yy2; } yy4441: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4442; default: goto yy2; } yy4442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4443; default: goto yy2; } yy4443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4444; default: goto yy2; } yy4444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4445; default: goto yy2; } yy4445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4446; default: goto yy2; } yy4446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4447; default: goto yy2; } yy4447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4448; default: goto yy2; } yy4448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4449; default: goto yy2; } yy4449: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4450; default: goto yy2; } yy4450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4451; default: goto yy2; } yy4451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4452; default: goto yy2; } yy4452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4453; default: goto yy2; } yy4453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4454; default: goto yy2; } yy4454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4455; default: goto yy2; } yy4455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4456; default: goto yy2; } yy4456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4457; default: goto yy2; } yy4457: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4458; default: goto yy2; } yy4458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4459; default: goto yy2; } yy4459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4460; default: goto yy2; } yy4460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4461; default: goto yy2; } yy4461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4462; default: goto yy2; } yy4462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4463; default: goto yy2; } yy4463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4464; default: goto yy2; } yy4464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4465; default: goto yy2; } yy4465: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4466; default: goto yy2; } yy4466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4467; default: goto yy2; } yy4467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4468; default: goto yy2; } yy4468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4469; default: goto yy2; } yy4469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4470; default: goto yy2; } yy4470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4471; default: goto yy2; } yy4471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4472; default: goto yy2; } yy4472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4473; default: goto yy2; } yy4473: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4474; default: goto yy2; } yy4474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4475; default: goto yy2; } yy4475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4476; default: goto yy2; } yy4476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4477; default: goto yy2; } yy4477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4478; default: goto yy2; } yy4478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4479; default: goto yy2; } yy4479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4480; default: goto yy2; } yy4480: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4481; default: goto yy2; } yy4481: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4482; default: goto yy2; } yy4482: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4483; default: goto yy2; } yy4483: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4484; default: goto yy2; } yy4484: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4485; default: goto yy2; } yy4485: yych = *++YYCURSOR; switch (yych) { case '8': goto yy4486; default: goto yy2; } yy4486: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4487; default: goto yy2; } yy4487: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4488; default: goto yy2; } yy4488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4489; default: goto yy2; } yy4489: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4490; default: goto yy2; } yy4490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4491; default: goto yy2; } yy4491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4492; default: goto yy2; } yy4492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4493; default: goto yy2; } yy4493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4494; default: goto yy2; } yy4494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4495; default: goto yy2; } yy4495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4496; default: goto yy2; } yy4496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4497; default: goto yy2; } yy4497: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4498; default: goto yy2; } yy4498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4499; default: goto yy2; } yy4499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4500; default: goto yy2; } yy4500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4501; default: goto yy2; } yy4501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4502; default: goto yy2; } yy4502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4503; default: goto yy2; } yy4503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4504; default: goto yy2; } yy4504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4505; default: goto yy2; } yy4505: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4506; default: goto yy2; } yy4506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4507; default: goto yy2; } yy4507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4508; default: goto yy2; } yy4508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4509; default: goto yy2; } yy4509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4510; default: goto yy2; } yy4510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4511; default: goto yy2; } yy4511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4512; default: goto yy2; } yy4512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4513; default: goto yy2; } yy4513: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4514; default: goto yy2; } yy4514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4515; default: goto yy2; } yy4515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4516; default: goto yy2; } yy4516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4517; default: goto yy2; } yy4517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4518; default: goto yy2; } yy4518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4519; default: goto yy2; } yy4519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4520; default: goto yy2; } yy4520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4521; default: goto yy2; } yy4521: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4522; default: goto yy2; } yy4522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4523; default: goto yy2; } yy4523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4524; default: goto yy2; } yy4524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4525; default: goto yy2; } yy4525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4526; default: goto yy2; } yy4526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4527; default: goto yy2; } yy4527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4528; default: goto yy2; } yy4528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4529; default: goto yy2; } yy4529: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4530; default: goto yy2; } yy4530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4531; default: goto yy2; } yy4531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4532; default: goto yy2; } yy4532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4533; default: goto yy2; } yy4533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4534; default: goto yy2; } yy4534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4535; default: goto yy2; } yy4535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4536; default: goto yy2; } yy4536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4537; default: goto yy2; } yy4537: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4538; default: goto yy2; } yy4538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4539; default: goto yy2; } yy4539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4540; default: goto yy2; } yy4540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4541; default: goto yy2; } yy4541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4542; default: goto yy2; } yy4542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4543; default: goto yy2; } yy4543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4544; default: goto yy2; } yy4544: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4545; default: goto yy2; } yy4545: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4546; default: goto yy2; } yy4546: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4547; default: goto yy2; } yy4547: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4548; default: goto yy2; } yy4548: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4549; default: goto yy2; } yy4549: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy4550; default: goto yy2; } yy4550: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4551; default: goto yy2; } yy4551: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4552; default: goto yy2; } yy4552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4553; default: goto yy2; } yy4553: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4554; default: goto yy2; } yy4554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4555; default: goto yy2; } yy4555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4556; default: goto yy2; } yy4556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4557; default: goto yy2; } yy4557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4558; default: goto yy2; } yy4558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4559; default: goto yy2; } yy4559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4560; default: goto yy2; } yy4560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4561; default: goto yy2; } yy4561: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4562; default: goto yy2; } yy4562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4563; default: goto yy2; } yy4563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4564; default: goto yy2; } yy4564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4565; default: goto yy2; } yy4565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4566; default: goto yy2; } yy4566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4567; default: goto yy2; } yy4567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4568; default: goto yy2; } yy4568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4569; default: goto yy2; } yy4569: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4570; default: goto yy2; } yy4570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4571; default: goto yy2; } yy4571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4572; default: goto yy2; } yy4572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4573; default: goto yy2; } yy4573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4574; default: goto yy2; } yy4574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4575; default: goto yy2; } yy4575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4576; default: goto yy2; } yy4576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4577; default: goto yy2; } yy4577: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4578; default: goto yy2; } yy4578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4579; default: goto yy2; } yy4579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4580; default: goto yy2; } yy4580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4581; default: goto yy2; } yy4581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4582; default: goto yy2; } yy4582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4583; default: goto yy2; } yy4583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4584; default: goto yy2; } yy4584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4585; default: goto yy2; } yy4585: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4586; default: goto yy2; } yy4586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4587; default: goto yy2; } yy4587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4588; default: goto yy2; } yy4588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4589; default: goto yy2; } yy4589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4590; default: goto yy2; } yy4590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4591; default: goto yy2; } yy4591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4592; default: goto yy2; } yy4592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4593; default: goto yy2; } yy4593: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4594; default: goto yy2; } yy4594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4595; default: goto yy2; } yy4595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4596; default: goto yy2; } yy4596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4597; default: goto yy2; } yy4597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4598; default: goto yy2; } yy4598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4599; default: goto yy2; } yy4599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4600; default: goto yy2; } yy4600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4601; default: goto yy2; } yy4601: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4602; default: goto yy2; } yy4602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4603; default: goto yy2; } yy4603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4604; default: goto yy2; } yy4604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4605; default: goto yy2; } yy4605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4606; default: goto yy2; } yy4606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4607; default: goto yy2; } yy4607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4608; default: goto yy2; } yy4608: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4609; default: goto yy2; } yy4609: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4610; default: goto yy2; } yy4610: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4611; default: goto yy2; } yy4611: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4612; default: goto yy2; } yy4612: yych = *++YYCURSOR; switch (yych) { case '2': goto yy4613; default: goto yy2; } yy4613: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4614; default: goto yy2; } yy4614: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4615; default: goto yy2; } yy4615: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4616; default: goto yy2; } yy4616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4617; default: goto yy2; } yy4617: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4618; default: goto yy2; } yy4618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4619; default: goto yy2; } yy4619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4620; default: goto yy2; } yy4620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4621; default: goto yy2; } yy4621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4622; default: goto yy2; } yy4622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4623; default: goto yy2; } yy4623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4624; default: goto yy2; } yy4624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4625; default: goto yy2; } yy4625: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4626; default: goto yy2; } yy4626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4627; default: goto yy2; } yy4627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4628; default: goto yy2; } yy4628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4629; default: goto yy2; } yy4629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4630; default: goto yy2; } yy4630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4631; default: goto yy2; } yy4631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4632; default: goto yy2; } yy4632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4633; default: goto yy2; } yy4633: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4634; default: goto yy2; } yy4634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4635; default: goto yy2; } yy4635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4636; default: goto yy2; } yy4636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4637; default: goto yy2; } yy4637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4638; default: goto yy2; } yy4638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4639; default: goto yy2; } yy4639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4640; default: goto yy2; } yy4640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4641; default: goto yy2; } yy4641: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4642; default: goto yy2; } yy4642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4643; default: goto yy2; } yy4643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4644; default: goto yy2; } yy4644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4645; default: goto yy2; } yy4645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4646; default: goto yy2; } yy4646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4647; default: goto yy2; } yy4647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4648; default: goto yy2; } yy4648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4649; default: goto yy2; } yy4649: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4650; default: goto yy2; } yy4650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4651; default: goto yy2; } yy4651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4652; default: goto yy2; } yy4652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4653; default: goto yy2; } yy4653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4654; default: goto yy2; } yy4654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4655; default: goto yy2; } yy4655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4656; default: goto yy2; } yy4656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4657; default: goto yy2; } yy4657: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4658; default: goto yy2; } yy4658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4659; default: goto yy2; } yy4659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4660; default: goto yy2; } yy4660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4661; default: goto yy2; } yy4661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4662; default: goto yy2; } yy4662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4663; default: goto yy2; } yy4663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4664; default: goto yy2; } yy4664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4665; default: goto yy2; } yy4665: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4666; default: goto yy2; } yy4666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4667; default: goto yy2; } yy4667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4668; default: goto yy2; } yy4668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4669; default: goto yy2; } yy4669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4670; default: goto yy2; } yy4670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4671; default: goto yy2; } yy4671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4672; default: goto yy2; } yy4672: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4673; default: goto yy2; } yy4673: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4674; default: goto yy2; } yy4674: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4675; default: goto yy2; } yy4675: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4676; default: goto yy2; } yy4676: yych = *++YYCURSOR; switch (yych) { case '2': goto yy4677; default: goto yy2; } yy4677: yych = *++YYCURSOR; switch (yych) { case '4': goto yy4678; default: goto yy2; } yy4678: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4679; default: goto yy2; } yy4679: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4680; default: goto yy2; } yy4680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4681; default: goto yy2; } yy4681: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4682; default: goto yy2; } yy4682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4683; default: goto yy2; } yy4683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4684; default: goto yy2; } yy4684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4685; default: goto yy2; } yy4685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4686; default: goto yy2; } yy4686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4687; default: goto yy2; } yy4687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4688; default: goto yy2; } yy4688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4689; default: goto yy2; } yy4689: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4690; default: goto yy2; } yy4690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4691; default: goto yy2; } yy4691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4692; default: goto yy2; } yy4692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4693; default: goto yy2; } yy4693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4694; default: goto yy2; } yy4694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4695; default: goto yy2; } yy4695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4696; default: goto yy2; } yy4696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4697; default: goto yy2; } yy4697: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4698; default: goto yy2; } yy4698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4699; default: goto yy2; } yy4699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4700; default: goto yy2; } yy4700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4701; default: goto yy2; } yy4701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4702; default: goto yy2; } yy4702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4703; default: goto yy2; } yy4703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4704; default: goto yy2; } yy4704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4705; default: goto yy2; } yy4705: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4706; default: goto yy2; } yy4706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4707; default: goto yy2; } yy4707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4708; default: goto yy2; } yy4708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4709; default: goto yy2; } yy4709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4710; default: goto yy2; } yy4710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4711; default: goto yy2; } yy4711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4712; default: goto yy2; } yy4712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4713; default: goto yy2; } yy4713: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4714; default: goto yy2; } yy4714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4715; default: goto yy2; } yy4715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4716; default: goto yy2; } yy4716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4717; default: goto yy2; } yy4717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4718; default: goto yy2; } yy4718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4719; default: goto yy2; } yy4719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4720; default: goto yy2; } yy4720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4721; default: goto yy2; } yy4721: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4722; default: goto yy2; } yy4722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4723; default: goto yy2; } yy4723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4724; default: goto yy2; } yy4724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4725; default: goto yy2; } yy4725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4726; default: goto yy2; } yy4726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4727; default: goto yy2; } yy4727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4728; default: goto yy2; } yy4728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4729; default: goto yy2; } yy4729: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4730; default: goto yy2; } yy4730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4731; default: goto yy2; } yy4731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4732; default: goto yy2; } yy4732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4733; default: goto yy2; } yy4733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4734; default: goto yy2; } yy4734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4735; default: goto yy2; } yy4735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4736; default: goto yy2; } yy4736: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4737; default: goto yy2; } yy4737: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4738; default: goto yy2; } yy4738: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4739; default: goto yy2; } yy4739: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4740; default: goto yy2; } yy4740: yych = *++YYCURSOR; switch (yych) { case '2': goto yy4741; default: goto yy2; } yy4741: yych = *++YYCURSOR; switch (yych) { case '8': goto yy4742; default: goto yy2; } yy4742: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4743; default: goto yy2; } yy4743: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4744; default: goto yy2; } yy4744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4745; default: goto yy2; } yy4745: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4746; default: goto yy2; } yy4746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4747; default: goto yy2; } yy4747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4748; default: goto yy2; } yy4748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4749; default: goto yy2; } yy4749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4750; default: goto yy2; } yy4750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4751; default: goto yy2; } yy4751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4752; default: goto yy2; } yy4752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4753; default: goto yy2; } yy4753: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4754; default: goto yy2; } yy4754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4755; default: goto yy2; } yy4755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4756; default: goto yy2; } yy4756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4757; default: goto yy2; } yy4757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4758; default: goto yy2; } yy4758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4759; default: goto yy2; } yy4759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4760; default: goto yy2; } yy4760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4761; default: goto yy2; } yy4761: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4762; default: goto yy2; } yy4762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4763; default: goto yy2; } yy4763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4764; default: goto yy2; } yy4764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4765; default: goto yy2; } yy4765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4766; default: goto yy2; } yy4766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4767; default: goto yy2; } yy4767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4768; default: goto yy2; } yy4768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4769; default: goto yy2; } yy4769: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4770; default: goto yy2; } yy4770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4771; default: goto yy2; } yy4771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4772; default: goto yy2; } yy4772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4773; default: goto yy2; } yy4773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4774; default: goto yy2; } yy4774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4775; default: goto yy2; } yy4775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4776; default: goto yy2; } yy4776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4777; default: goto yy2; } yy4777: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4778; default: goto yy2; } yy4778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4779; default: goto yy2; } yy4779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4780; default: goto yy2; } yy4780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4781; default: goto yy2; } yy4781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4782; default: goto yy2; } yy4782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4783; default: goto yy2; } yy4783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4784; default: goto yy2; } yy4784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4785; default: goto yy2; } yy4785: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4786; default: goto yy2; } yy4786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4787; default: goto yy2; } yy4787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4788; default: goto yy2; } yy4788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4789; default: goto yy2; } yy4789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4790; default: goto yy2; } yy4790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4791; default: goto yy2; } yy4791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4792; default: goto yy2; } yy4792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4793; default: goto yy2; } yy4793: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4794; default: goto yy2; } yy4794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4795; default: goto yy2; } yy4795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4796; default: goto yy2; } yy4796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4797; default: goto yy2; } yy4797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4798; default: goto yy2; } yy4798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4799; default: goto yy2; } yy4799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4800; default: goto yy2; } yy4800: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4801; default: goto yy2; } yy4801: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4802; default: goto yy2; } yy4802: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4803; default: goto yy2; } yy4803: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4804; default: goto yy2; } yy4804: yych = *++YYCURSOR; switch (yych) { case '2': goto yy4805; default: goto yy2; } yy4805: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy4806; default: goto yy2; } yy4806: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4807; default: goto yy2; } yy4807: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4808; default: goto yy2; } yy4808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4809; default: goto yy2; } yy4809: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4810; default: goto yy2; } yy4810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4811; default: goto yy2; } yy4811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4812; default: goto yy2; } yy4812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4813; default: goto yy2; } yy4813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4814; default: goto yy2; } yy4814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4815; default: goto yy2; } yy4815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4816; default: goto yy2; } yy4816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4817; default: goto yy2; } yy4817: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4818; default: goto yy2; } yy4818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4819; default: goto yy2; } yy4819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4820; default: goto yy2; } yy4820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4821; default: goto yy2; } yy4821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4822; default: goto yy2; } yy4822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4823; default: goto yy2; } yy4823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4824; default: goto yy2; } yy4824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4825; default: goto yy2; } yy4825: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4826; default: goto yy2; } yy4826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4827; default: goto yy2; } yy4827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4828; default: goto yy2; } yy4828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4829; default: goto yy2; } yy4829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4830; default: goto yy2; } yy4830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4831; default: goto yy2; } yy4831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4832; default: goto yy2; } yy4832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4833; default: goto yy2; } yy4833: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4834; default: goto yy2; } yy4834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4835; default: goto yy2; } yy4835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4836; default: goto yy2; } yy4836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4837; default: goto yy2; } yy4837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4838; default: goto yy2; } yy4838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4839; default: goto yy2; } yy4839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4840; default: goto yy2; } yy4840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4841; default: goto yy2; } yy4841: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4842; default: goto yy2; } yy4842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4843; default: goto yy2; } yy4843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4844; default: goto yy2; } yy4844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4845; default: goto yy2; } yy4845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4846; default: goto yy2; } yy4846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4847; default: goto yy2; } yy4847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4848; default: goto yy2; } yy4848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4849; default: goto yy2; } yy4849: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4850; default: goto yy2; } yy4850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4851; default: goto yy2; } yy4851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4852; default: goto yy2; } yy4852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4853; default: goto yy2; } yy4853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4854; default: goto yy2; } yy4854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4855; default: goto yy2; } yy4855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4856; default: goto yy2; } yy4856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4857; default: goto yy2; } yy4857: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4858; default: goto yy2; } yy4858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4859; default: goto yy2; } yy4859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4860; default: goto yy2; } yy4860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4861; default: goto yy2; } yy4861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4862; default: goto yy2; } yy4862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4863; default: goto yy2; } yy4863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4864; default: goto yy2; } yy4864: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4865; default: goto yy2; } yy4865: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4866; default: goto yy2; } yy4866: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4867; default: goto yy2; } yy4867: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4868; default: goto yy2; } yy4868: yych = *++YYCURSOR; switch (yych) { case '3': goto yy4869; default: goto yy2; } yy4869: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4870; default: goto yy2; } yy4870: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4871; default: goto yy2; } yy4871: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4872; default: goto yy2; } yy4872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4873; default: goto yy2; } yy4873: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4874; default: goto yy2; } yy4874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4875; default: goto yy2; } yy4875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4876; default: goto yy2; } yy4876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4877; default: goto yy2; } yy4877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4878; default: goto yy2; } yy4878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4879; default: goto yy2; } yy4879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4880; default: goto yy2; } yy4880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4881; default: goto yy2; } yy4881: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4882; default: goto yy2; } yy4882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4883; default: goto yy2; } yy4883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4884; default: goto yy2; } yy4884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4885; default: goto yy2; } yy4885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4886; default: goto yy2; } yy4886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4887; default: goto yy2; } yy4887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4888; default: goto yy2; } yy4888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4889; default: goto yy2; } yy4889: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4890; default: goto yy2; } yy4890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4891; default: goto yy2; } yy4891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4892; default: goto yy2; } yy4892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4893; default: goto yy2; } yy4893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4894; default: goto yy2; } yy4894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4895; default: goto yy2; } yy4895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4896; default: goto yy2; } yy4896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4897; default: goto yy2; } yy4897: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4898; default: goto yy2; } yy4898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4899; default: goto yy2; } yy4899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4900; default: goto yy2; } yy4900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4901; default: goto yy2; } yy4901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4902; default: goto yy2; } yy4902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4903; default: goto yy2; } yy4903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4904; default: goto yy2; } yy4904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4905; default: goto yy2; } yy4905: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4906; default: goto yy2; } yy4906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4907; default: goto yy2; } yy4907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4908; default: goto yy2; } yy4908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4909; default: goto yy2; } yy4909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4910; default: goto yy2; } yy4910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4911; default: goto yy2; } yy4911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4912; default: goto yy2; } yy4912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4913; default: goto yy2; } yy4913: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4914; default: goto yy2; } yy4914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4915; default: goto yy2; } yy4915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4916; default: goto yy2; } yy4916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4917; default: goto yy2; } yy4917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4918; default: goto yy2; } yy4918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4919; default: goto yy2; } yy4919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4920; default: goto yy2; } yy4920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4921; default: goto yy2; } yy4921: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4922; default: goto yy2; } yy4922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4923; default: goto yy2; } yy4923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4924; default: goto yy2; } yy4924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4925; default: goto yy2; } yy4925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4926; default: goto yy2; } yy4926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4927; default: goto yy2; } yy4927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4928; default: goto yy2; } yy4928: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4929; default: goto yy2; } yy4929: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4930; default: goto yy2; } yy4930: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4931; default: goto yy2; } yy4931: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4932; default: goto yy2; } yy4932: yych = *++YYCURSOR; switch (yych) { case '3': goto yy4933; default: goto yy2; } yy4933: yych = *++YYCURSOR; switch (yych) { case '4': goto yy4934; default: goto yy2; } yy4934: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4935; default: goto yy2; } yy4935: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4936; default: goto yy2; } yy4936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4937; default: goto yy2; } yy4937: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4938; default: goto yy2; } yy4938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4939; default: goto yy2; } yy4939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4940; default: goto yy2; } yy4940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4941; default: goto yy2; } yy4941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4942; default: goto yy2; } yy4942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4943; default: goto yy2; } yy4943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4944; default: goto yy2; } yy4944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4945; default: goto yy2; } yy4945: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4946; default: goto yy2; } yy4946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4947; default: goto yy2; } yy4947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4948; default: goto yy2; } yy4948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4949; default: goto yy2; } yy4949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4950; default: goto yy2; } yy4950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4951; default: goto yy2; } yy4951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4952; default: goto yy2; } yy4952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4953; default: goto yy2; } yy4953: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4954; default: goto yy2; } yy4954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4955; default: goto yy2; } yy4955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4956; default: goto yy2; } yy4956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4957; default: goto yy2; } yy4957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4958; default: goto yy2; } yy4958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4959; default: goto yy2; } yy4959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4960; default: goto yy2; } yy4960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4961; default: goto yy2; } yy4961: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4962; default: goto yy2; } yy4962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4963; default: goto yy2; } yy4963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4964; default: goto yy2; } yy4964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4965; default: goto yy2; } yy4965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4966; default: goto yy2; } yy4966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4967; default: goto yy2; } yy4967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4968; default: goto yy2; } yy4968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4969; default: goto yy2; } yy4969: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4970; default: goto yy2; } yy4970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4971; default: goto yy2; } yy4971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4972; default: goto yy2; } yy4972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4973; default: goto yy2; } yy4973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4974; default: goto yy2; } yy4974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4975; default: goto yy2; } yy4975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4976; default: goto yy2; } yy4976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4977; default: goto yy2; } yy4977: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4978; default: goto yy2; } yy4978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4979; default: goto yy2; } yy4979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4980; default: goto yy2; } yy4980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4981; default: goto yy2; } yy4981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4982; default: goto yy2; } yy4982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4983; default: goto yy2; } yy4983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4984; default: goto yy2; } yy4984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4985; default: goto yy2; } yy4985: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4986; default: goto yy2; } yy4986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4987; default: goto yy2; } yy4987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4988; default: goto yy2; } yy4988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4989; default: goto yy2; } yy4989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4990; default: goto yy2; } yy4990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4991; default: goto yy2; } yy4991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy4992; default: goto yy2; } yy4992: yych = *++YYCURSOR; switch (yych) { case '_': goto yy4993; default: goto yy2; } yy4993: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy4994; default: goto yy2; } yy4994: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4995; default: goto yy2; } yy4995: yych = *++YYCURSOR; switch (yych) { case '1': goto yy4996; default: goto yy2; } yy4996: yych = *++YYCURSOR; switch (yych) { case '3': goto yy4997; default: goto yy2; } yy4997: yych = *++YYCURSOR; switch (yych) { case '8': goto yy4998; default: goto yy2; } yy4998: yych = *++YYCURSOR; switch (yych) { case '0': goto yy4999; default: goto yy2; } yy4999: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5000; default: goto yy2; } yy5000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5001; default: goto yy2; } yy5001: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5002; default: goto yy2; } yy5002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5003; default: goto yy2; } yy5003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5004; default: goto yy2; } yy5004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5005; default: goto yy2; } yy5005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5006; default: goto yy2; } yy5006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5007; default: goto yy2; } yy5007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5008; default: goto yy2; } yy5008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5009; default: goto yy2; } yy5009: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5010; default: goto yy2; } yy5010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5011; default: goto yy2; } yy5011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5012; default: goto yy2; } yy5012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5013; default: goto yy2; } yy5013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5014; default: goto yy2; } yy5014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5015; default: goto yy2; } yy5015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5016; default: goto yy2; } yy5016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5017; default: goto yy2; } yy5017: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5018; default: goto yy2; } yy5018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5019; default: goto yy2; } yy5019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5020; default: goto yy2; } yy5020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5021; default: goto yy2; } yy5021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5022; default: goto yy2; } yy5022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5023; default: goto yy2; } yy5023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5024; default: goto yy2; } yy5024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5025; default: goto yy2; } yy5025: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5026; default: goto yy2; } yy5026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5027; default: goto yy2; } yy5027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5028; default: goto yy2; } yy5028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5029; default: goto yy2; } yy5029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5030; default: goto yy2; } yy5030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5031; default: goto yy2; } yy5031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5032; default: goto yy2; } yy5032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5033; default: goto yy2; } yy5033: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5034; default: goto yy2; } yy5034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5035; default: goto yy2; } yy5035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5036; default: goto yy2; } yy5036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5037; default: goto yy2; } yy5037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5038; default: goto yy2; } yy5038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5039; default: goto yy2; } yy5039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5040; default: goto yy2; } yy5040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5041; default: goto yy2; } yy5041: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5042; default: goto yy2; } yy5042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5043; default: goto yy2; } yy5043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5044; default: goto yy2; } yy5044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5045; default: goto yy2; } yy5045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5046; default: goto yy2; } yy5046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5047; default: goto yy2; } yy5047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5048; default: goto yy2; } yy5048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5049; default: goto yy2; } yy5049: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5050; default: goto yy2; } yy5050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5051; default: goto yy2; } yy5051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5052; default: goto yy2; } yy5052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5053; default: goto yy2; } yy5053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5054; default: goto yy2; } yy5054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5055; default: goto yy2; } yy5055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5056; default: goto yy2; } yy5056: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5057; default: goto yy2; } yy5057: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5058; default: goto yy2; } yy5058: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5059; default: goto yy2; } yy5059: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5060; default: goto yy2; } yy5060: yych = *++YYCURSOR; switch (yych) { case '3': goto yy5061; default: goto yy2; } yy5061: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy5062; default: goto yy2; } yy5062: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5063; default: goto yy2; } yy5063: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5064; default: goto yy2; } yy5064: yych = *++YYCURSOR; switch (yych) { case '5': goto yy5065; default: goto yy2; } yy5065: yych = *++YYCURSOR; switch (yych) { case 't': goto yy5066; default: goto yy2; } yy5066: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy5067; default: goto yy2; } yy5067: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5068; default: goto yy2; } yy5068: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy5069; default: goto yy2; } yy5069: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy5070; default: goto yy2; } yy5070: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy5071; default: goto yy2; } yy5071: yych = *++YYCURSOR; switch (yych) { case 't': goto yy5072; default: goto yy2; } yy5072: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy5073; default: goto yy2; } yy5073: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5074; default: goto yy2; } yy5074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5075; default: goto yy2; } yy5075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5076; default: goto yy2; } yy5076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5077; default: goto yy2; } yy5077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5078; default: goto yy2; } yy5078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5079; default: goto yy2; } yy5079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5080; default: goto yy2; } yy5080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5081; default: goto yy2; } yy5081: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5082; default: goto yy2; } yy5082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5083; default: goto yy2; } yy5083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5084; default: goto yy2; } yy5084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5085; default: goto yy2; } yy5085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5086; default: goto yy2; } yy5086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5087; default: goto yy2; } yy5087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5088; default: goto yy2; } yy5088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5089; default: goto yy2; } yy5089: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5090; default: goto yy2; } yy5090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5091; default: goto yy2; } yy5091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5092; default: goto yy2; } yy5092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5093; default: goto yy2; } yy5093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5094; default: goto yy2; } yy5094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5095; default: goto yy2; } yy5095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5096; default: goto yy2; } yy5096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5097; default: goto yy2; } yy5097: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5098; default: goto yy2; } yy5098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5099; default: goto yy2; } yy5099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5100; default: goto yy2; } yy5100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5101; default: goto yy2; } yy5101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5102; default: goto yy2; } yy5102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5103; default: goto yy2; } yy5103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5104; default: goto yy2; } yy5104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5105; default: goto yy2; } yy5105: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5106; default: goto yy2; } yy5106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5107; default: goto yy2; } yy5107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5108; default: goto yy2; } yy5108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5109; default: goto yy2; } yy5109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5110; default: goto yy2; } yy5110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5111; default: goto yy2; } yy5111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5112; default: goto yy2; } yy5112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5113; default: goto yy2; } yy5113: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5114; default: goto yy2; } yy5114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5115; default: goto yy2; } yy5115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5116; default: goto yy2; } yy5116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5117; default: goto yy2; } yy5117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5118; default: goto yy2; } yy5118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5119; default: goto yy2; } yy5119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5120; default: goto yy2; } yy5120: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5121; default: goto yy2; } yy5121: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5122; default: goto yy2; } yy5122: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5123; default: goto yy2; } yy5123: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5124; default: goto yy2; } yy5124: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5125; default: goto yy2; } yy5125: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5126; default: goto yy2; } yy5126: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5127; default: goto yy2; } yy5127: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5128; default: goto yy2; } yy5128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5129; default: goto yy2; } yy5129: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5130; default: goto yy2; } yy5130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5131; default: goto yy2; } yy5131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5132; default: goto yy2; } yy5132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5133; default: goto yy2; } yy5133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5134; default: goto yy2; } yy5134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5135; default: goto yy2; } yy5135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5136; default: goto yy2; } yy5136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5137; default: goto yy2; } yy5137: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5138; default: goto yy2; } yy5138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5139; default: goto yy2; } yy5139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5140; default: goto yy2; } yy5140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5141; default: goto yy2; } yy5141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5142; default: goto yy2; } yy5142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5143; default: goto yy2; } yy5143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5144; default: goto yy2; } yy5144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5145; default: goto yy2; } yy5145: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5146; default: goto yy2; } yy5146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5147; default: goto yy2; } yy5147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5148; default: goto yy2; } yy5148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5149; default: goto yy2; } yy5149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5150; default: goto yy2; } yy5150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5151; default: goto yy2; } yy5151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5152; default: goto yy2; } yy5152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5153; default: goto yy2; } yy5153: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5154; default: goto yy2; } yy5154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5155; default: goto yy2; } yy5155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5156; default: goto yy2; } yy5156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5157; default: goto yy2; } yy5157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5158; default: goto yy2; } yy5158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5159; default: goto yy2; } yy5159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5160; default: goto yy2; } yy5160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5161; default: goto yy2; } yy5161: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5162; default: goto yy2; } yy5162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5163; default: goto yy2; } yy5163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5164; default: goto yy2; } yy5164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5165; default: goto yy2; } yy5165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5166; default: goto yy2; } yy5166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5167; default: goto yy2; } yy5167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5168; default: goto yy2; } yy5168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5169; default: goto yy2; } yy5169: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5170; default: goto yy2; } yy5170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5171; default: goto yy2; } yy5171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5172; default: goto yy2; } yy5172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5173; default: goto yy2; } yy5173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5174; default: goto yy2; } yy5174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5175; default: goto yy2; } yy5175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5176; default: goto yy2; } yy5176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5177; default: goto yy2; } yy5177: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5178; default: goto yy2; } yy5178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5179; default: goto yy2; } yy5179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5180; default: goto yy2; } yy5180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5181; default: goto yy2; } yy5181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5182; default: goto yy2; } yy5182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5183; default: goto yy2; } yy5183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5184; default: goto yy2; } yy5184: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5185; default: goto yy2; } yy5185: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5186; default: goto yy2; } yy5186: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5187; default: goto yy2; } yy5187: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5188; default: goto yy2; } yy5188: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5189; default: goto yy2; } yy5189: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5190; default: goto yy2; } yy5190: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5191; default: goto yy2; } yy5191: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5192; default: goto yy2; } yy5192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5193; default: goto yy2; } yy5193: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5194; default: goto yy2; } yy5194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5195; default: goto yy2; } yy5195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5196; default: goto yy2; } yy5196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5197; default: goto yy2; } yy5197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5198; default: goto yy2; } yy5198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5199; default: goto yy2; } yy5199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5200; default: goto yy2; } yy5200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5201; default: goto yy2; } yy5201: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5202; default: goto yy2; } yy5202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5203; default: goto yy2; } yy5203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5204; default: goto yy2; } yy5204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5205; default: goto yy2; } yy5205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5206; default: goto yy2; } yy5206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5207; default: goto yy2; } yy5207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5208; default: goto yy2; } yy5208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5209; default: goto yy2; } yy5209: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5210; default: goto yy2; } yy5210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5211; default: goto yy2; } yy5211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5212; default: goto yy2; } yy5212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5213; default: goto yy2; } yy5213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5214; default: goto yy2; } yy5214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5215; default: goto yy2; } yy5215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5216; default: goto yy2; } yy5216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5217; default: goto yy2; } yy5217: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5218; default: goto yy2; } yy5218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5219; default: goto yy2; } yy5219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5220; default: goto yy2; } yy5220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5221; default: goto yy2; } yy5221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5222; default: goto yy2; } yy5222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5223; default: goto yy2; } yy5223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5224; default: goto yy2; } yy5224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5225; default: goto yy2; } yy5225: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5226; default: goto yy2; } yy5226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5227; default: goto yy2; } yy5227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5228; default: goto yy2; } yy5228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5229; default: goto yy2; } yy5229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5230; default: goto yy2; } yy5230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5231; default: goto yy2; } yy5231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5232; default: goto yy2; } yy5232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5233; default: goto yy2; } yy5233: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5234; default: goto yy2; } yy5234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5235; default: goto yy2; } yy5235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5236; default: goto yy2; } yy5236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5237; default: goto yy2; } yy5237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5238; default: goto yy2; } yy5238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5239; default: goto yy2; } yy5239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5240; default: goto yy2; } yy5240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5241; default: goto yy2; } yy5241: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5242; default: goto yy2; } yy5242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5243; default: goto yy2; } yy5243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5244; default: goto yy2; } yy5244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5245; default: goto yy2; } yy5245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5246; default: goto yy2; } yy5246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5247; default: goto yy2; } yy5247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5248; default: goto yy2; } yy5248: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5249; default: goto yy2; } yy5249: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5250; default: goto yy2; } yy5250: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5251; default: goto yy2; } yy5251: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5252; default: goto yy2; } yy5252: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5253; default: goto yy2; } yy5253: yych = *++YYCURSOR; switch (yych) { case '8': goto yy5254; default: goto yy2; } yy5254: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5255; default: goto yy2; } yy5255: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5256; default: goto yy2; } yy5256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5257; default: goto yy2; } yy5257: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5258; default: goto yy2; } yy5258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5259; default: goto yy2; } yy5259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5260; default: goto yy2; } yy5260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5261; default: goto yy2; } yy5261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5262; default: goto yy2; } yy5262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5263; default: goto yy2; } yy5263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5264; default: goto yy2; } yy5264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5265; default: goto yy2; } yy5265: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5266; default: goto yy2; } yy5266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5267; default: goto yy2; } yy5267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5268; default: goto yy2; } yy5268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5269; default: goto yy2; } yy5269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5270; default: goto yy2; } yy5270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5271; default: goto yy2; } yy5271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5272; default: goto yy2; } yy5272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5273; default: goto yy2; } yy5273: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5274; default: goto yy2; } yy5274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5275; default: goto yy2; } yy5275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5276; default: goto yy2; } yy5276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5277; default: goto yy2; } yy5277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5278; default: goto yy2; } yy5278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5279; default: goto yy2; } yy5279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5280; default: goto yy2; } yy5280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5281; default: goto yy2; } yy5281: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5282; default: goto yy2; } yy5282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5283; default: goto yy2; } yy5283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5284; default: goto yy2; } yy5284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5285; default: goto yy2; } yy5285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5286; default: goto yy2; } yy5286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5287; default: goto yy2; } yy5287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5288; default: goto yy2; } yy5288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5289; default: goto yy2; } yy5289: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5290; default: goto yy2; } yy5290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5291; default: goto yy2; } yy5291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5292; default: goto yy2; } yy5292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5293; default: goto yy2; } yy5293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5294; default: goto yy2; } yy5294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5295; default: goto yy2; } yy5295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5296; default: goto yy2; } yy5296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5297; default: goto yy2; } yy5297: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5298; default: goto yy2; } yy5298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5299; default: goto yy2; } yy5299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5300; default: goto yy2; } yy5300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5301; default: goto yy2; } yy5301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5302; default: goto yy2; } yy5302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5303; default: goto yy2; } yy5303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5304; default: goto yy2; } yy5304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5305; default: goto yy2; } yy5305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5306; default: goto yy2; } yy5306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5307; default: goto yy2; } yy5307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5308; default: goto yy2; } yy5308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5309; default: goto yy2; } yy5309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5310; default: goto yy2; } yy5310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5311; default: goto yy2; } yy5311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5312; default: goto yy2; } yy5312: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5313; default: goto yy2; } yy5313: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5314; default: goto yy2; } yy5314: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5315; default: goto yy2; } yy5315: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5316; default: goto yy2; } yy5316: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5317; default: goto yy2; } yy5317: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy5318; default: goto yy2; } yy5318: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5319; default: goto yy2; } yy5319: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5320; default: goto yy2; } yy5320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5321; default: goto yy2; } yy5321: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5322; default: goto yy2; } yy5322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5323; default: goto yy2; } yy5323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5324; default: goto yy2; } yy5324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5325; default: goto yy2; } yy5325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5326; default: goto yy2; } yy5326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5327; default: goto yy2; } yy5327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5328; default: goto yy2; } yy5328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5329; default: goto yy2; } yy5329: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5330; default: goto yy2; } yy5330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5331; default: goto yy2; } yy5331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5332; default: goto yy2; } yy5332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5333; default: goto yy2; } yy5333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5334; default: goto yy2; } yy5334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5335; default: goto yy2; } yy5335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5336; default: goto yy2; } yy5336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5337; default: goto yy2; } yy5337: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5338; default: goto yy2; } yy5338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5339; default: goto yy2; } yy5339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5340; default: goto yy2; } yy5340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5341; default: goto yy2; } yy5341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5342; default: goto yy2; } yy5342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5343; default: goto yy2; } yy5343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5344; default: goto yy2; } yy5344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5345; default: goto yy2; } yy5345: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5346; default: goto yy2; } yy5346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5347; default: goto yy2; } yy5347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5348; default: goto yy2; } yy5348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5349; default: goto yy2; } yy5349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5350; default: goto yy2; } yy5350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5351; default: goto yy2; } yy5351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5352; default: goto yy2; } yy5352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5353; default: goto yy2; } yy5353: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5354; default: goto yy2; } yy5354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5355; default: goto yy2; } yy5355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5356; default: goto yy2; } yy5356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5357; default: goto yy2; } yy5357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5358; default: goto yy2; } yy5358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5359; default: goto yy2; } yy5359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5360; default: goto yy2; } yy5360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5361; default: goto yy2; } yy5361: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5362; default: goto yy2; } yy5362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5363; default: goto yy2; } yy5363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5364; default: goto yy2; } yy5364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5365; default: goto yy2; } yy5365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5366; default: goto yy2; } yy5366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5367; default: goto yy2; } yy5367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5368; default: goto yy2; } yy5368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5369; default: goto yy2; } yy5369: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5370; default: goto yy2; } yy5370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5371; default: goto yy2; } yy5371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5372; default: goto yy2; } yy5372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5373; default: goto yy2; } yy5373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5374; default: goto yy2; } yy5374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5375; default: goto yy2; } yy5375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5376; default: goto yy2; } yy5376: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5377; default: goto yy2; } yy5377: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5378; default: goto yy2; } yy5378: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5379; default: goto yy2; } yy5379: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5380; default: goto yy2; } yy5380: yych = *++YYCURSOR; switch (yych) { case '5': goto yy5381; default: goto yy2; } yy5381: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5382; default: goto yy2; } yy5382: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5383; default: goto yy2; } yy5383: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5384; default: goto yy2; } yy5384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5385; default: goto yy2; } yy5385: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5386; default: goto yy2; } yy5386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5387; default: goto yy2; } yy5387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5388; default: goto yy2; } yy5388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5389; default: goto yy2; } yy5389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5390; default: goto yy2; } yy5390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5391; default: goto yy2; } yy5391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5392; default: goto yy2; } yy5392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5393; default: goto yy2; } yy5393: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5394; default: goto yy2; } yy5394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5395; default: goto yy2; } yy5395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5396; default: goto yy2; } yy5396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5397; default: goto yy2; } yy5397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5398; default: goto yy2; } yy5398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5399; default: goto yy2; } yy5399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5400; default: goto yy2; } yy5400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5401; default: goto yy2; } yy5401: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5402; default: goto yy2; } yy5402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5403; default: goto yy2; } yy5403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5404; default: goto yy2; } yy5404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5405; default: goto yy2; } yy5405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5406; default: goto yy2; } yy5406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5407; default: goto yy2; } yy5407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5408; default: goto yy2; } yy5408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5409; default: goto yy2; } yy5409: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5410; default: goto yy2; } yy5410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5411; default: goto yy2; } yy5411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5412; default: goto yy2; } yy5412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5413; default: goto yy2; } yy5413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5414; default: goto yy2; } yy5414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5415; default: goto yy2; } yy5415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5416; default: goto yy2; } yy5416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5417; default: goto yy2; } yy5417: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5418; default: goto yy2; } yy5418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5419; default: goto yy2; } yy5419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5420; default: goto yy2; } yy5420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5421; default: goto yy2; } yy5421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5422; default: goto yy2; } yy5422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5423; default: goto yy2; } yy5423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5424; default: goto yy2; } yy5424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5425; default: goto yy2; } yy5425: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5426; default: goto yy2; } yy5426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5427; default: goto yy2; } yy5427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5428; default: goto yy2; } yy5428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5429; default: goto yy2; } yy5429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5430; default: goto yy2; } yy5430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5431; default: goto yy2; } yy5431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5432; default: goto yy2; } yy5432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5433; default: goto yy2; } yy5433: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5434; default: goto yy2; } yy5434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5435; default: goto yy2; } yy5435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5436; default: goto yy2; } yy5436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5437; default: goto yy2; } yy5437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5438; default: goto yy2; } yy5438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5439; default: goto yy2; } yy5439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5440; default: goto yy2; } yy5440: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5441; default: goto yy2; } yy5441: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5442; default: goto yy2; } yy5442: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5443; default: goto yy2; } yy5443: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5444; default: goto yy2; } yy5444: yych = *++YYCURSOR; switch (yych) { case '5': goto yy5445; default: goto yy2; } yy5445: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5446; default: goto yy2; } yy5446: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5447; default: goto yy2; } yy5447: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5448; default: goto yy2; } yy5448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5449; default: goto yy2; } yy5449: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5450; default: goto yy2; } yy5450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5451; default: goto yy2; } yy5451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5452; default: goto yy2; } yy5452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5453; default: goto yy2; } yy5453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5454; default: goto yy2; } yy5454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5455; default: goto yy2; } yy5455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5456; default: goto yy2; } yy5456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5457; default: goto yy2; } yy5457: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5458; default: goto yy2; } yy5458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5459; default: goto yy2; } yy5459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5460; default: goto yy2; } yy5460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5461; default: goto yy2; } yy5461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5462; default: goto yy2; } yy5462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5463; default: goto yy2; } yy5463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5464; default: goto yy2; } yy5464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5465; default: goto yy2; } yy5465: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5466; default: goto yy2; } yy5466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5467; default: goto yy2; } yy5467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5468; default: goto yy2; } yy5468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5469; default: goto yy2; } yy5469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5470; default: goto yy2; } yy5470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5471; default: goto yy2; } yy5471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5472; default: goto yy2; } yy5472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5473; default: goto yy2; } yy5473: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5474; default: goto yy2; } yy5474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5475; default: goto yy2; } yy5475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5476; default: goto yy2; } yy5476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5477; default: goto yy2; } yy5477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5478; default: goto yy2; } yy5478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5479; default: goto yy2; } yy5479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5480; default: goto yy2; } yy5480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5481; default: goto yy2; } yy5481: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5482; default: goto yy2; } yy5482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5483; default: goto yy2; } yy5483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5484; default: goto yy2; } yy5484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5485; default: goto yy2; } yy5485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5486; default: goto yy2; } yy5486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5487; default: goto yy2; } yy5487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5488; default: goto yy2; } yy5488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5489; default: goto yy2; } yy5489: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5490; default: goto yy2; } yy5490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5491; default: goto yy2; } yy5491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5492; default: goto yy2; } yy5492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5493; default: goto yy2; } yy5493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5494; default: goto yy2; } yy5494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5495; default: goto yy2; } yy5495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5496; default: goto yy2; } yy5496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5497; default: goto yy2; } yy5497: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5498; default: goto yy2; } yy5498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5499; default: goto yy2; } yy5499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5500; default: goto yy2; } yy5500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5501; default: goto yy2; } yy5501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5502; default: goto yy2; } yy5502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5503; default: goto yy2; } yy5503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5504; default: goto yy2; } yy5504: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5505; default: goto yy2; } yy5505: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5506; default: goto yy2; } yy5506: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5507; default: goto yy2; } yy5507: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5508; default: goto yy2; } yy5508: yych = *++YYCURSOR; switch (yych) { case '5': goto yy5509; default: goto yy2; } yy5509: yych = *++YYCURSOR; switch (yych) { case '8': goto yy5510; default: goto yy2; } yy5510: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5511; default: goto yy2; } yy5511: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5512; default: goto yy2; } yy5512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5513; default: goto yy2; } yy5513: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5514; default: goto yy2; } yy5514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5515; default: goto yy2; } yy5515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5516; default: goto yy2; } yy5516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5517; default: goto yy2; } yy5517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5518; default: goto yy2; } yy5518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5519; default: goto yy2; } yy5519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5520; default: goto yy2; } yy5520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5521; default: goto yy2; } yy5521: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5522; default: goto yy2; } yy5522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5523; default: goto yy2; } yy5523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5524; default: goto yy2; } yy5524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5525; default: goto yy2; } yy5525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5526; default: goto yy2; } yy5526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5527; default: goto yy2; } yy5527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5528; default: goto yy2; } yy5528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5529; default: goto yy2; } yy5529: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5530; default: goto yy2; } yy5530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5531; default: goto yy2; } yy5531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5532; default: goto yy2; } yy5532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5533; default: goto yy2; } yy5533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5534; default: goto yy2; } yy5534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5535; default: goto yy2; } yy5535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5536; default: goto yy2; } yy5536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5537; default: goto yy2; } yy5537: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5538; default: goto yy2; } yy5538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5539; default: goto yy2; } yy5539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5540; default: goto yy2; } yy5540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5541; default: goto yy2; } yy5541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5542; default: goto yy2; } yy5542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5543; default: goto yy2; } yy5543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5544; default: goto yy2; } yy5544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5545; default: goto yy2; } yy5545: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5546; default: goto yy2; } yy5546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5547; default: goto yy2; } yy5547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5548; default: goto yy2; } yy5548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5549; default: goto yy2; } yy5549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5550; default: goto yy2; } yy5550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5551; default: goto yy2; } yy5551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5552; default: goto yy2; } yy5552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5553; default: goto yy2; } yy5553: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5554; default: goto yy2; } yy5554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5555; default: goto yy2; } yy5555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5556; default: goto yy2; } yy5556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5557; default: goto yy2; } yy5557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5558; default: goto yy2; } yy5558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5559; default: goto yy2; } yy5559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5560; default: goto yy2; } yy5560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5561; default: goto yy2; } yy5561: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5562; default: goto yy2; } yy5562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5563; default: goto yy2; } yy5563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5564; default: goto yy2; } yy5564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5565; default: goto yy2; } yy5565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5566; default: goto yy2; } yy5566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5567; default: goto yy2; } yy5567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5568; default: goto yy2; } yy5568: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5569; default: goto yy2; } yy5569: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5570; default: goto yy2; } yy5570: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5571; default: goto yy2; } yy5571: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5572; default: goto yy2; } yy5572: yych = *++YYCURSOR; switch (yych) { case '5': goto yy5573; default: goto yy2; } yy5573: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy5574; default: goto yy2; } yy5574: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5575; default: goto yy2; } yy5575: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5576; default: goto yy2; } yy5576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5577; default: goto yy2; } yy5577: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5578; default: goto yy2; } yy5578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5579; default: goto yy2; } yy5579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5580; default: goto yy2; } yy5580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5581; default: goto yy2; } yy5581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5582; default: goto yy2; } yy5582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5583; default: goto yy2; } yy5583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5584; default: goto yy2; } yy5584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5585; default: goto yy2; } yy5585: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5586; default: goto yy2; } yy5586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5587; default: goto yy2; } yy5587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5588; default: goto yy2; } yy5588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5589; default: goto yy2; } yy5589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5590; default: goto yy2; } yy5590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5591; default: goto yy2; } yy5591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5592; default: goto yy2; } yy5592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5593; default: goto yy2; } yy5593: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5594; default: goto yy2; } yy5594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5595; default: goto yy2; } yy5595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5596; default: goto yy2; } yy5596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5597; default: goto yy2; } yy5597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5598; default: goto yy2; } yy5598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5599; default: goto yy2; } yy5599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5600; default: goto yy2; } yy5600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5601; default: goto yy2; } yy5601: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5602; default: goto yy2; } yy5602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5603; default: goto yy2; } yy5603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5604; default: goto yy2; } yy5604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5605; default: goto yy2; } yy5605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5606; default: goto yy2; } yy5606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5607; default: goto yy2; } yy5607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5608; default: goto yy2; } yy5608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5609; default: goto yy2; } yy5609: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5610; default: goto yy2; } yy5610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5611; default: goto yy2; } yy5611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5612; default: goto yy2; } yy5612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5613; default: goto yy2; } yy5613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5614; default: goto yy2; } yy5614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5615; default: goto yy2; } yy5615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5616; default: goto yy2; } yy5616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5617; default: goto yy2; } yy5617: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5618; default: goto yy2; } yy5618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5619; default: goto yy2; } yy5619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5620; default: goto yy2; } yy5620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5621; default: goto yy2; } yy5621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5622; default: goto yy2; } yy5622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5623; default: goto yy2; } yy5623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5624; default: goto yy2; } yy5624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5625; default: goto yy2; } yy5625: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5626; default: goto yy2; } yy5626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5627; default: goto yy2; } yy5627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5628; default: goto yy2; } yy5628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5629; default: goto yy2; } yy5629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5630; default: goto yy2; } yy5630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5631; default: goto yy2; } yy5631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5632; default: goto yy2; } yy5632: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5633; default: goto yy2; } yy5633: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5634; default: goto yy2; } yy5634: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5635; default: goto yy2; } yy5635: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5636; default: goto yy2; } yy5636: yych = *++YYCURSOR; switch (yych) { case '6': goto yy5637; default: goto yy2; } yy5637: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5638; default: goto yy2; } yy5638: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5639; default: goto yy2; } yy5639: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5640; default: goto yy2; } yy5640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5641; default: goto yy2; } yy5641: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5642; default: goto yy2; } yy5642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5643; default: goto yy2; } yy5643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5644; default: goto yy2; } yy5644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5645; default: goto yy2; } yy5645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5646; default: goto yy2; } yy5646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5647; default: goto yy2; } yy5647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5648; default: goto yy2; } yy5648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5649; default: goto yy2; } yy5649: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5650; default: goto yy2; } yy5650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5651; default: goto yy2; } yy5651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5652; default: goto yy2; } yy5652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5653; default: goto yy2; } yy5653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5654; default: goto yy2; } yy5654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5655; default: goto yy2; } yy5655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5656; default: goto yy2; } yy5656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5657; default: goto yy2; } yy5657: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5658; default: goto yy2; } yy5658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5659; default: goto yy2; } yy5659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5660; default: goto yy2; } yy5660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5661; default: goto yy2; } yy5661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5662; default: goto yy2; } yy5662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5663; default: goto yy2; } yy5663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5664; default: goto yy2; } yy5664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5665; default: goto yy2; } yy5665: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5666; default: goto yy2; } yy5666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5667; default: goto yy2; } yy5667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5668; default: goto yy2; } yy5668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5669; default: goto yy2; } yy5669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5670; default: goto yy2; } yy5670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5671; default: goto yy2; } yy5671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5672; default: goto yy2; } yy5672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5673; default: goto yy2; } yy5673: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5674; default: goto yy2; } yy5674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5675; default: goto yy2; } yy5675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5676; default: goto yy2; } yy5676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5677; default: goto yy2; } yy5677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5678; default: goto yy2; } yy5678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5679; default: goto yy2; } yy5679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5680; default: goto yy2; } yy5680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5681; default: goto yy2; } yy5681: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5682; default: goto yy2; } yy5682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5683; default: goto yy2; } yy5683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5684; default: goto yy2; } yy5684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5685; default: goto yy2; } yy5685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5686; default: goto yy2; } yy5686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5687; default: goto yy2; } yy5687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5688; default: goto yy2; } yy5688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5689; default: goto yy2; } yy5689: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5690; default: goto yy2; } yy5690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5691; default: goto yy2; } yy5691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5692; default: goto yy2; } yy5692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5693; default: goto yy2; } yy5693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5694; default: goto yy2; } yy5694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5695; default: goto yy2; } yy5695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5696; default: goto yy2; } yy5696: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5697; default: goto yy2; } yy5697: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5698; default: goto yy2; } yy5698: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5699; default: goto yy2; } yy5699: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5700; default: goto yy2; } yy5700: yych = *++YYCURSOR; switch (yych) { case '6': goto yy5701; default: goto yy2; } yy5701: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5702; default: goto yy2; } yy5702: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5703; default: goto yy2; } yy5703: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5704; default: goto yy2; } yy5704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5705; default: goto yy2; } yy5705: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5706; default: goto yy2; } yy5706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5707; default: goto yy2; } yy5707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5708; default: goto yy2; } yy5708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5709; default: goto yy2; } yy5709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5710; default: goto yy2; } yy5710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5711; default: goto yy2; } yy5711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5712; default: goto yy2; } yy5712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5713; default: goto yy2; } yy5713: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5714; default: goto yy2; } yy5714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5715; default: goto yy2; } yy5715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5716; default: goto yy2; } yy5716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5717; default: goto yy2; } yy5717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5718; default: goto yy2; } yy5718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5719; default: goto yy2; } yy5719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5720; default: goto yy2; } yy5720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5721; default: goto yy2; } yy5721: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5722; default: goto yy2; } yy5722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5723; default: goto yy2; } yy5723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5724; default: goto yy2; } yy5724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5725; default: goto yy2; } yy5725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5726; default: goto yy2; } yy5726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5727; default: goto yy2; } yy5727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5728; default: goto yy2; } yy5728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5729; default: goto yy2; } yy5729: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5730; default: goto yy2; } yy5730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5731; default: goto yy2; } yy5731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5732; default: goto yy2; } yy5732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5733; default: goto yy2; } yy5733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5734; default: goto yy2; } yy5734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5735; default: goto yy2; } yy5735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5736; default: goto yy2; } yy5736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5737; default: goto yy2; } yy5737: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5738; default: goto yy2; } yy5738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5739; default: goto yy2; } yy5739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5740; default: goto yy2; } yy5740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5741; default: goto yy2; } yy5741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5742; default: goto yy2; } yy5742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5743; default: goto yy2; } yy5743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5744; default: goto yy2; } yy5744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5745; default: goto yy2; } yy5745: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5746; default: goto yy2; } yy5746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5747; default: goto yy2; } yy5747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5748; default: goto yy2; } yy5748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5749; default: goto yy2; } yy5749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5750; default: goto yy2; } yy5750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5751; default: goto yy2; } yy5751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5752; default: goto yy2; } yy5752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5753; default: goto yy2; } yy5753: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5754; default: goto yy2; } yy5754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5755; default: goto yy2; } yy5755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5756; default: goto yy2; } yy5756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5757; default: goto yy2; } yy5757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5758; default: goto yy2; } yy5758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5759; default: goto yy2; } yy5759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5760; default: goto yy2; } yy5760: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5761; default: goto yy2; } yy5761: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5762; default: goto yy2; } yy5762: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5763; default: goto yy2; } yy5763: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5764; default: goto yy2; } yy5764: yych = *++YYCURSOR; switch (yych) { case '6': goto yy5765; default: goto yy2; } yy5765: yych = *++YYCURSOR; switch (yych) { case '8': goto yy5766; default: goto yy2; } yy5766: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5767; default: goto yy2; } yy5767: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5768; default: goto yy2; } yy5768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5769; default: goto yy2; } yy5769: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5770; default: goto yy2; } yy5770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5771; default: goto yy2; } yy5771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5772; default: goto yy2; } yy5772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5773; default: goto yy2; } yy5773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5774; default: goto yy2; } yy5774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5775; default: goto yy2; } yy5775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5776; default: goto yy2; } yy5776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5777; default: goto yy2; } yy5777: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5778; default: goto yy2; } yy5778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5779; default: goto yy2; } yy5779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5780; default: goto yy2; } yy5780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5781; default: goto yy2; } yy5781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5782; default: goto yy2; } yy5782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5783; default: goto yy2; } yy5783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5784; default: goto yy2; } yy5784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5785; default: goto yy2; } yy5785: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5786; default: goto yy2; } yy5786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5787; default: goto yy2; } yy5787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5788; default: goto yy2; } yy5788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5789; default: goto yy2; } yy5789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5790; default: goto yy2; } yy5790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5791; default: goto yy2; } yy5791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5792; default: goto yy2; } yy5792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5793; default: goto yy2; } yy5793: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5794; default: goto yy2; } yy5794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5795; default: goto yy2; } yy5795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5796; default: goto yy2; } yy5796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5797; default: goto yy2; } yy5797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5798; default: goto yy2; } yy5798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5799; default: goto yy2; } yy5799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5800; default: goto yy2; } yy5800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5801; default: goto yy2; } yy5801: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5802; default: goto yy2; } yy5802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5803; default: goto yy2; } yy5803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5804; default: goto yy2; } yy5804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5805; default: goto yy2; } yy5805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5806; default: goto yy2; } yy5806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5807; default: goto yy2; } yy5807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5808; default: goto yy2; } yy5808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5809; default: goto yy2; } yy5809: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5810; default: goto yy2; } yy5810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5811; default: goto yy2; } yy5811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5812; default: goto yy2; } yy5812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5813; default: goto yy2; } yy5813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5814; default: goto yy2; } yy5814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5815; default: goto yy2; } yy5815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5816; default: goto yy2; } yy5816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5817; default: goto yy2; } yy5817: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5818; default: goto yy2; } yy5818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5819; default: goto yy2; } yy5819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5820; default: goto yy2; } yy5820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5821; default: goto yy2; } yy5821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5822; default: goto yy2; } yy5822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5823; default: goto yy2; } yy5823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5824; default: goto yy2; } yy5824: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5825; default: goto yy2; } yy5825: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5826; default: goto yy2; } yy5826: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5827; default: goto yy2; } yy5827: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5828; default: goto yy2; } yy5828: yych = *++YYCURSOR; switch (yych) { case '6': goto yy5829; default: goto yy2; } yy5829: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy5830; default: goto yy2; } yy5830: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5831; default: goto yy2; } yy5831: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5832; default: goto yy2; } yy5832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5833; default: goto yy2; } yy5833: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5834; default: goto yy2; } yy5834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5835; default: goto yy2; } yy5835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5836; default: goto yy2; } yy5836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5837; default: goto yy2; } yy5837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5838; default: goto yy2; } yy5838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5839; default: goto yy2; } yy5839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5840; default: goto yy2; } yy5840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5841; default: goto yy2; } yy5841: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5842; default: goto yy2; } yy5842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5843; default: goto yy2; } yy5843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5844; default: goto yy2; } yy5844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5845; default: goto yy2; } yy5845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5846; default: goto yy2; } yy5846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5847; default: goto yy2; } yy5847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5848; default: goto yy2; } yy5848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5849; default: goto yy2; } yy5849: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5850; default: goto yy2; } yy5850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5851; default: goto yy2; } yy5851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5852; default: goto yy2; } yy5852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5853; default: goto yy2; } yy5853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5854; default: goto yy2; } yy5854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5855; default: goto yy2; } yy5855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5856; default: goto yy2; } yy5856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5857; default: goto yy2; } yy5857: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5858; default: goto yy2; } yy5858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5859; default: goto yy2; } yy5859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5860; default: goto yy2; } yy5860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5861; default: goto yy2; } yy5861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5862; default: goto yy2; } yy5862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5863; default: goto yy2; } yy5863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5864; default: goto yy2; } yy5864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5865; default: goto yy2; } yy5865: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5866; default: goto yy2; } yy5866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5867; default: goto yy2; } yy5867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5868; default: goto yy2; } yy5868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5869; default: goto yy2; } yy5869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5870; default: goto yy2; } yy5870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5871; default: goto yy2; } yy5871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5872; default: goto yy2; } yy5872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5873; default: goto yy2; } yy5873: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5874; default: goto yy2; } yy5874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5875; default: goto yy2; } yy5875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5876; default: goto yy2; } yy5876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5877; default: goto yy2; } yy5877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5878; default: goto yy2; } yy5878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5879; default: goto yy2; } yy5879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5880; default: goto yy2; } yy5880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5881; default: goto yy2; } yy5881: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5882; default: goto yy2; } yy5882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5883; default: goto yy2; } yy5883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5884; default: goto yy2; } yy5884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5885; default: goto yy2; } yy5885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5886; default: goto yy2; } yy5886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5887; default: goto yy2; } yy5887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5888; default: goto yy2; } yy5888: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5889; default: goto yy2; } yy5889: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5890; default: goto yy2; } yy5890: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5891; default: goto yy2; } yy5891: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5892; default: goto yy2; } yy5892: yych = *++YYCURSOR; switch (yych) { case '7': goto yy5893; default: goto yy2; } yy5893: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5894; default: goto yy2; } yy5894: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5895; default: goto yy2; } yy5895: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5896; default: goto yy2; } yy5896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5897; default: goto yy2; } yy5897: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5898; default: goto yy2; } yy5898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5899; default: goto yy2; } yy5899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5900; default: goto yy2; } yy5900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5901; default: goto yy2; } yy5901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5902; default: goto yy2; } yy5902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5903; default: goto yy2; } yy5903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5904; default: goto yy2; } yy5904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5905; default: goto yy2; } yy5905: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5906; default: goto yy2; } yy5906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5907; default: goto yy2; } yy5907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5908; default: goto yy2; } yy5908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5909; default: goto yy2; } yy5909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5910; default: goto yy2; } yy5910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5911; default: goto yy2; } yy5911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5912; default: goto yy2; } yy5912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5913; default: goto yy2; } yy5913: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5914; default: goto yy2; } yy5914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5915; default: goto yy2; } yy5915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5916; default: goto yy2; } yy5916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5917; default: goto yy2; } yy5917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5918; default: goto yy2; } yy5918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5919; default: goto yy2; } yy5919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5920; default: goto yy2; } yy5920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5921; default: goto yy2; } yy5921: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5922; default: goto yy2; } yy5922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5923; default: goto yy2; } yy5923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5924; default: goto yy2; } yy5924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5925; default: goto yy2; } yy5925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5926; default: goto yy2; } yy5926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5927; default: goto yy2; } yy5927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5928; default: goto yy2; } yy5928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5929; default: goto yy2; } yy5929: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5930; default: goto yy2; } yy5930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5931; default: goto yy2; } yy5931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5932; default: goto yy2; } yy5932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5933; default: goto yy2; } yy5933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5934; default: goto yy2; } yy5934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5935; default: goto yy2; } yy5935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5936; default: goto yy2; } yy5936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5937; default: goto yy2; } yy5937: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5938; default: goto yy2; } yy5938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5939; default: goto yy2; } yy5939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5940; default: goto yy2; } yy5940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5941; default: goto yy2; } yy5941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5942; default: goto yy2; } yy5942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5943; default: goto yy2; } yy5943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5944; default: goto yy2; } yy5944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5945; default: goto yy2; } yy5945: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5946; default: goto yy2; } yy5946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5947; default: goto yy2; } yy5947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5948; default: goto yy2; } yy5948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5949; default: goto yy2; } yy5949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5950; default: goto yy2; } yy5950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5951; default: goto yy2; } yy5951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5952; default: goto yy2; } yy5952: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5953; default: goto yy2; } yy5953: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy5954; default: goto yy2; } yy5954: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5955; default: goto yy2; } yy5955: yych = *++YYCURSOR; switch (yych) { case '1': goto yy5956; default: goto yy2; } yy5956: yych = *++YYCURSOR; switch (yych) { case '7': goto yy5957; default: goto yy2; } yy5957: yych = *++YYCURSOR; switch (yych) { case '4': goto yy5958; default: goto yy2; } yy5958: yych = *++YYCURSOR; switch (yych) { case '0': goto yy5959; default: goto yy2; } yy5959: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5960; default: goto yy2; } yy5960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5961; default: goto yy2; } yy5961: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5962; default: goto yy2; } yy5962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5963; default: goto yy2; } yy5963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5964; default: goto yy2; } yy5964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5965; default: goto yy2; } yy5965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5966; default: goto yy2; } yy5966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5967; default: goto yy2; } yy5967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5968; default: goto yy2; } yy5968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5969; default: goto yy2; } yy5969: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5970; default: goto yy2; } yy5970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5971; default: goto yy2; } yy5971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5972; default: goto yy2; } yy5972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5973; default: goto yy2; } yy5973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5974; default: goto yy2; } yy5974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5975; default: goto yy2; } yy5975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5976; default: goto yy2; } yy5976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5977; default: goto yy2; } yy5977: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5978; default: goto yy2; } yy5978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5979; default: goto yy2; } yy5979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5980; default: goto yy2; } yy5980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5981; default: goto yy2; } yy5981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5982; default: goto yy2; } yy5982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5983; default: goto yy2; } yy5983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5984; default: goto yy2; } yy5984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5985; default: goto yy2; } yy5985: yych = *++YYCURSOR; switch (yych) { case '_': goto yy5986; default: goto yy2; } yy5986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5987; default: goto yy2; } yy5987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5988; default: goto yy2; } yy5988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5989; default: goto yy2; } yy5989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5990; default: goto yy2; } yy5990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5991; default: goto yy2; } yy5991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5992; default: goto yy2; } yy5992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5993; default: goto yy2; } yy5993: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5994; default: goto yy2; } yy5994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5995; default: goto yy2; } yy5995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5996; default: goto yy2; } yy5996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5997; default: goto yy2; } yy5997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5998; default: goto yy2; } yy5998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5999; default: goto yy2; } yy5999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6000; default: goto yy2; } yy6000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6001; default: goto yy2; } yy6001: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6002; default: goto yy2; } yy6002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6003; default: goto yy2; } yy6003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6004; default: goto yy2; } yy6004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6005; default: goto yy2; } yy6005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6006; default: goto yy2; } yy6006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6007; default: goto yy2; } yy6007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6008; default: goto yy2; } yy6008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6009; default: goto yy2; } yy6009: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6010; default: goto yy2; } yy6010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6011; default: goto yy2; } yy6011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6012; default: goto yy2; } yy6012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6013; default: goto yy2; } yy6013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6014; default: goto yy2; } yy6014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6015; default: goto yy2; } yy6015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6016; default: goto yy2; } yy6016: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6017; default: goto yy2; } yy6017: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6018; default: goto yy2; } yy6018: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6019; default: goto yy2; } yy6019: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6020; default: goto yy2; } yy6020: yych = *++YYCURSOR; switch (yych) { case '7': goto yy6021; default: goto yy2; } yy6021: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6022; default: goto yy2; } yy6022: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6023; default: goto yy2; } yy6023: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6024; default: goto yy2; } yy6024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6025; default: goto yy2; } yy6025: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6026; default: goto yy2; } yy6026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6027; default: goto yy2; } yy6027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6028; default: goto yy2; } yy6028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6029; default: goto yy2; } yy6029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6030; default: goto yy2; } yy6030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6031; default: goto yy2; } yy6031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6032; default: goto yy2; } yy6032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6033; default: goto yy2; } yy6033: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6034; default: goto yy2; } yy6034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6035; default: goto yy2; } yy6035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6036; default: goto yy2; } yy6036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6037; default: goto yy2; } yy6037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6038; default: goto yy2; } yy6038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6039; default: goto yy2; } yy6039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6040; default: goto yy2; } yy6040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6041; default: goto yy2; } yy6041: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6042; default: goto yy2; } yy6042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6043; default: goto yy2; } yy6043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6044; default: goto yy2; } yy6044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6045; default: goto yy2; } yy6045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6046; default: goto yy2; } yy6046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6047; default: goto yy2; } yy6047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6048; default: goto yy2; } yy6048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6049; default: goto yy2; } yy6049: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6050; default: goto yy2; } yy6050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6051; default: goto yy2; } yy6051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6052; default: goto yy2; } yy6052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6053; default: goto yy2; } yy6053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6054; default: goto yy2; } yy6054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6055; default: goto yy2; } yy6055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6056; default: goto yy2; } yy6056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6057; default: goto yy2; } yy6057: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6058; default: goto yy2; } yy6058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6059; default: goto yy2; } yy6059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6060; default: goto yy2; } yy6060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6061; default: goto yy2; } yy6061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6062; default: goto yy2; } yy6062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6063; default: goto yy2; } yy6063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6064; default: goto yy2; } yy6064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6065; default: goto yy2; } yy6065: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6066; default: goto yy2; } yy6066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6067; default: goto yy2; } yy6067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6068; default: goto yy2; } yy6068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6069; default: goto yy2; } yy6069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6070; default: goto yy2; } yy6070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6071; default: goto yy2; } yy6071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6072; default: goto yy2; } yy6072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6073; default: goto yy2; } yy6073: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6074; default: goto yy2; } yy6074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6075; default: goto yy2; } yy6075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6076; default: goto yy2; } yy6076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6077; default: goto yy2; } yy6077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6078; default: goto yy2; } yy6078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6079; default: goto yy2; } yy6079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6080; default: goto yy2; } yy6080: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6081; default: goto yy2; } yy6081: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6082; default: goto yy2; } yy6082: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6083; default: goto yy2; } yy6083: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6084; default: goto yy2; } yy6084: yych = *++YYCURSOR; switch (yych) { case '7': goto yy6085; default: goto yy2; } yy6085: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy6086; default: goto yy2; } yy6086: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6087; default: goto yy2; } yy6087: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6088; default: goto yy2; } yy6088: yych = *++YYCURSOR; switch (yych) { case '6': goto yy6089; default: goto yy2; } yy6089: yych = *++YYCURSOR; switch (yych) { case 't': goto yy6090; default: goto yy2; } yy6090: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy6091; default: goto yy2; } yy6091: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6092; default: goto yy2; } yy6092: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy6093; default: goto yy2; } yy6093: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy6094; default: goto yy2; } yy6094: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy6095; default: goto yy2; } yy6095: yych = *++YYCURSOR; switch (yych) { case 't': goto yy6096; default: goto yy2; } yy6096: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy6097; default: goto yy2; } yy6097: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6098; default: goto yy2; } yy6098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6099; default: goto yy2; } yy6099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6100; default: goto yy2; } yy6100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6101; default: goto yy2; } yy6101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6102; default: goto yy2; } yy6102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6103; default: goto yy2; } yy6103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6104; default: goto yy2; } yy6104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6105; default: goto yy2; } yy6105: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6106; default: goto yy2; } yy6106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6107; default: goto yy2; } yy6107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6108; default: goto yy2; } yy6108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6109; default: goto yy2; } yy6109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6110; default: goto yy2; } yy6110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6111; default: goto yy2; } yy6111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6112; default: goto yy2; } yy6112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6113; default: goto yy2; } yy6113: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6114; default: goto yy2; } yy6114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6115; default: goto yy2; } yy6115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6116; default: goto yy2; } yy6116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6117; default: goto yy2; } yy6117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6118; default: goto yy2; } yy6118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6119; default: goto yy2; } yy6119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6120; default: goto yy2; } yy6120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6121; default: goto yy2; } yy6121: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6122; default: goto yy2; } yy6122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6123; default: goto yy2; } yy6123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6124; default: goto yy2; } yy6124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6125; default: goto yy2; } yy6125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6126; default: goto yy2; } yy6126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6127; default: goto yy2; } yy6127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6128; default: goto yy2; } yy6128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6129; default: goto yy2; } yy6129: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6130; default: goto yy2; } yy6130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6131; default: goto yy2; } yy6131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6132; default: goto yy2; } yy6132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6133; default: goto yy2; } yy6133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6134; default: goto yy2; } yy6134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6135; default: goto yy2; } yy6135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6136; default: goto yy2; } yy6136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6137; default: goto yy2; } yy6137: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6138; default: goto yy2; } yy6138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6139; default: goto yy2; } yy6139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6140; default: goto yy2; } yy6140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6141; default: goto yy2; } yy6141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6142; default: goto yy2; } yy6142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6143; default: goto yy2; } yy6143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6144; default: goto yy2; } yy6144: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6145; default: goto yy2; } yy6145: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6146; default: goto yy2; } yy6146: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6147; default: goto yy2; } yy6147: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6148; default: goto yy2; } yy6148: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6149; default: goto yy2; } yy6149: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6150; default: goto yy2; } yy6150: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6151; default: goto yy2; } yy6151: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6152; default: goto yy2; } yy6152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6153; default: goto yy2; } yy6153: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6154; default: goto yy2; } yy6154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6155; default: goto yy2; } yy6155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6156; default: goto yy2; } yy6156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6157; default: goto yy2; } yy6157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6158; default: goto yy2; } yy6158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6159; default: goto yy2; } yy6159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6160; default: goto yy2; } yy6160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6161; default: goto yy2; } yy6161: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6162; default: goto yy2; } yy6162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6163; default: goto yy2; } yy6163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6164; default: goto yy2; } yy6164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6165; default: goto yy2; } yy6165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6166; default: goto yy2; } yy6166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6167; default: goto yy2; } yy6167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6168; default: goto yy2; } yy6168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6169; default: goto yy2; } yy6169: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6170; default: goto yy2; } yy6170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6171; default: goto yy2; } yy6171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6172; default: goto yy2; } yy6172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6173; default: goto yy2; } yy6173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6174; default: goto yy2; } yy6174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6175; default: goto yy2; } yy6175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6176; default: goto yy2; } yy6176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6177; default: goto yy2; } yy6177: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6178; default: goto yy2; } yy6178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6179; default: goto yy2; } yy6179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6180; default: goto yy2; } yy6180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6181; default: goto yy2; } yy6181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6182; default: goto yy2; } yy6182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6183; default: goto yy2; } yy6183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6184; default: goto yy2; } yy6184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6185; default: goto yy2; } yy6185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6186; default: goto yy2; } yy6186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6187; default: goto yy2; } yy6187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6188; default: goto yy2; } yy6188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6189; default: goto yy2; } yy6189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6190; default: goto yy2; } yy6190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6191; default: goto yy2; } yy6191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6192; default: goto yy2; } yy6192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6193; default: goto yy2; } yy6193: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6194; default: goto yy2; } yy6194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6195; default: goto yy2; } yy6195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6196; default: goto yy2; } yy6196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6197; default: goto yy2; } yy6197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6198; default: goto yy2; } yy6198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6199; default: goto yy2; } yy6199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6200; default: goto yy2; } yy6200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6201; default: goto yy2; } yy6201: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6202; default: goto yy2; } yy6202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6203; default: goto yy2; } yy6203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6204; default: goto yy2; } yy6204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6205; default: goto yy2; } yy6205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6206; default: goto yy2; } yy6206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6207; default: goto yy2; } yy6207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6208; default: goto yy2; } yy6208: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6209; default: goto yy2; } yy6209: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6210; default: goto yy2; } yy6210: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6211; default: goto yy2; } yy6211: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6212; default: goto yy2; } yy6212: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6213; default: goto yy2; } yy6213: yych = *++YYCURSOR; switch (yych) { case '4': goto yy6214; default: goto yy2; } yy6214: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6215; default: goto yy2; } yy6215: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6216; default: goto yy2; } yy6216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6217; default: goto yy2; } yy6217: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6218; default: goto yy2; } yy6218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6219; default: goto yy2; } yy6219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6220; default: goto yy2; } yy6220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6221; default: goto yy2; } yy6221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6222; default: goto yy2; } yy6222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6223; default: goto yy2; } yy6223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6224; default: goto yy2; } yy6224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6225; default: goto yy2; } yy6225: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6226; default: goto yy2; } yy6226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6227; default: goto yy2; } yy6227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6228; default: goto yy2; } yy6228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6229; default: goto yy2; } yy6229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6230; default: goto yy2; } yy6230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6231; default: goto yy2; } yy6231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6232; default: goto yy2; } yy6232: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6233; default: goto yy2; } yy6233: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6234; default: goto yy2; } yy6234: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6235; default: goto yy2; } yy6235: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6236; default: goto yy2; } yy6236: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6237; default: goto yy2; } yy6237: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6238; default: goto yy2; } yy6238: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6239; default: goto yy2; } yy6239: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6240; default: goto yy2; } yy6240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6241; default: goto yy2; } yy6241: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6242; default: goto yy2; } yy6242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6243; default: goto yy2; } yy6243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6244; default: goto yy2; } yy6244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6245; default: goto yy2; } yy6245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6246; default: goto yy2; } yy6246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6247; default: goto yy2; } yy6247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6248; default: goto yy2; } yy6248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6249; default: goto yy2; } yy6249: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6250; default: goto yy2; } yy6250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6251; default: goto yy2; } yy6251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6252; default: goto yy2; } yy6252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6253; default: goto yy2; } yy6253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6254; default: goto yy2; } yy6254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6255; default: goto yy2; } yy6255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6256; default: goto yy2; } yy6256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6257; default: goto yy2; } yy6257: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6258; default: goto yy2; } yy6258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6259; default: goto yy2; } yy6259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6260; default: goto yy2; } yy6260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6261; default: goto yy2; } yy6261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6262; default: goto yy2; } yy6262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6263; default: goto yy2; } yy6263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6264; default: goto yy2; } yy6264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6265; default: goto yy2; } yy6265: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6266; default: goto yy2; } yy6266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6267; default: goto yy2; } yy6267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6268; default: goto yy2; } yy6268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6269; default: goto yy2; } yy6269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6270; default: goto yy2; } yy6270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6271; default: goto yy2; } yy6271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6272; default: goto yy2; } yy6272: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6273; default: goto yy2; } yy6273: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6274; default: goto yy2; } yy6274: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6275; default: goto yy2; } yy6275: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6276; default: goto yy2; } yy6276: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6277; default: goto yy2; } yy6277: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6278; default: goto yy2; } yy6278: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6279; default: goto yy2; } yy6279: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6280; default: goto yy2; } yy6280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6281; default: goto yy2; } yy6281: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6282; default: goto yy2; } yy6282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6283; default: goto yy2; } yy6283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6284; default: goto yy2; } yy6284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6285; default: goto yy2; } yy6285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6286; default: goto yy2; } yy6286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6287; default: goto yy2; } yy6287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6288; default: goto yy2; } yy6288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6289; default: goto yy2; } yy6289: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6290; default: goto yy2; } yy6290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6291; default: goto yy2; } yy6291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6292; default: goto yy2; } yy6292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6293; default: goto yy2; } yy6293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6294; default: goto yy2; } yy6294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6295; default: goto yy2; } yy6295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6296; default: goto yy2; } yy6296: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6297; default: goto yy2; } yy6297: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6298; default: goto yy2; } yy6298: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6299; default: goto yy2; } yy6299: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6300; default: goto yy2; } yy6300: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6301; default: goto yy2; } yy6301: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6302; default: goto yy2; } yy6302: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6303; default: goto yy2; } yy6303: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6304; default: goto yy2; } yy6304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6305; default: goto yy2; } yy6305: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6306; default: goto yy2; } yy6306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6307; default: goto yy2; } yy6307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6308; default: goto yy2; } yy6308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6309; default: goto yy2; } yy6309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6310; default: goto yy2; } yy6310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6311; default: goto yy2; } yy6311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6312; default: goto yy2; } yy6312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6313; default: goto yy2; } yy6313: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6314; default: goto yy2; } yy6314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6315; default: goto yy2; } yy6315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6316; default: goto yy2; } yy6316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6317; default: goto yy2; } yy6317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6318; default: goto yy2; } yy6318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6319; default: goto yy2; } yy6319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6320; default: goto yy2; } yy6320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6321; default: goto yy2; } yy6321: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6322; default: goto yy2; } yy6322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6323; default: goto yy2; } yy6323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6324; default: goto yy2; } yy6324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6325; default: goto yy2; } yy6325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6326; default: goto yy2; } yy6326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6327; default: goto yy2; } yy6327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6328; default: goto yy2; } yy6328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6329; default: goto yy2; } yy6329: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6330; default: goto yy2; } yy6330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6331; default: goto yy2; } yy6331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6332; default: goto yy2; } yy6332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6333; default: goto yy2; } yy6333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6334; default: goto yy2; } yy6334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6335; default: goto yy2; } yy6335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6336; default: goto yy2; } yy6336: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6337; default: goto yy2; } yy6337: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6338; default: goto yy2; } yy6338: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6339; default: goto yy2; } yy6339: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6340; default: goto yy2; } yy6340: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6341; default: goto yy2; } yy6341: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy6342; default: goto yy2; } yy6342: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6343; default: goto yy2; } yy6343: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6344; default: goto yy2; } yy6344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6345; default: goto yy2; } yy6345: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6346; default: goto yy2; } yy6346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6347; default: goto yy2; } yy6347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6348; default: goto yy2; } yy6348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6349; default: goto yy2; } yy6349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6350; default: goto yy2; } yy6350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6351; default: goto yy2; } yy6351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6352; default: goto yy2; } yy6352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6353; default: goto yy2; } yy6353: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6354; default: goto yy2; } yy6354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6355; default: goto yy2; } yy6355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6356; default: goto yy2; } yy6356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6357; default: goto yy2; } yy6357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6358; default: goto yy2; } yy6358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6359; default: goto yy2; } yy6359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6360; default: goto yy2; } yy6360: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6361; default: goto yy2; } yy6361: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6362; default: goto yy2; } yy6362: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6363; default: goto yy2; } yy6363: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6364; default: goto yy2; } yy6364: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6365; default: goto yy2; } yy6365: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6366; default: goto yy2; } yy6366: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6367; default: goto yy2; } yy6367: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6368; default: goto yy2; } yy6368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6369; default: goto yy2; } yy6369: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6370; default: goto yy2; } yy6370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6371; default: goto yy2; } yy6371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6372; default: goto yy2; } yy6372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6373; default: goto yy2; } yy6373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6374; default: goto yy2; } yy6374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6375; default: goto yy2; } yy6375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6376; default: goto yy2; } yy6376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6377; default: goto yy2; } yy6377: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6378; default: goto yy2; } yy6378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6379; default: goto yy2; } yy6379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6380; default: goto yy2; } yy6380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6381; default: goto yy2; } yy6381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6382; default: goto yy2; } yy6382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6383; default: goto yy2; } yy6383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6384; default: goto yy2; } yy6384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6385; default: goto yy2; } yy6385: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6386; default: goto yy2; } yy6386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6387; default: goto yy2; } yy6387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6388; default: goto yy2; } yy6388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6389; default: goto yy2; } yy6389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6390; default: goto yy2; } yy6390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6391; default: goto yy2; } yy6391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6392; default: goto yy2; } yy6392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6393; default: goto yy2; } yy6393: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6394; default: goto yy2; } yy6394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6395; default: goto yy2; } yy6395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6396; default: goto yy2; } yy6396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6397; default: goto yy2; } yy6397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6398; default: goto yy2; } yy6398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6399; default: goto yy2; } yy6399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6400; default: goto yy2; } yy6400: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6401; default: goto yy2; } yy6401: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6402; default: goto yy2; } yy6402: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6403; default: goto yy2; } yy6403: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6404; default: goto yy2; } yy6404: yych = *++YYCURSOR; switch (yych) { case '9': goto yy6405; default: goto yy2; } yy6405: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6406; default: goto yy2; } yy6406: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6407; default: goto yy2; } yy6407: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6408; default: goto yy2; } yy6408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6409; default: goto yy2; } yy6409: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6410; default: goto yy2; } yy6410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6411; default: goto yy2; } yy6411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6412; default: goto yy2; } yy6412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6413; default: goto yy2; } yy6413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6414; default: goto yy2; } yy6414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6415; default: goto yy2; } yy6415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6416; default: goto yy2; } yy6416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6417; default: goto yy2; } yy6417: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6418; default: goto yy2; } yy6418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6419; default: goto yy2; } yy6419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6420; default: goto yy2; } yy6420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6421; default: goto yy2; } yy6421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6422; default: goto yy2; } yy6422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6423; default: goto yy2; } yy6423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6424; default: goto yy2; } yy6424: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6425; default: goto yy2; } yy6425: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6426; default: goto yy2; } yy6426: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6427; default: goto yy2; } yy6427: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6428; default: goto yy2; } yy6428: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6429; default: goto yy2; } yy6429: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6430; default: goto yy2; } yy6430: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6431; default: goto yy2; } yy6431: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6432; default: goto yy2; } yy6432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6433; default: goto yy2; } yy6433: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6434; default: goto yy2; } yy6434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6435; default: goto yy2; } yy6435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6436; default: goto yy2; } yy6436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6437; default: goto yy2; } yy6437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6438; default: goto yy2; } yy6438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6439; default: goto yy2; } yy6439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6440; default: goto yy2; } yy6440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6441; default: goto yy2; } yy6441: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6442; default: goto yy2; } yy6442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6443; default: goto yy2; } yy6443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6444; default: goto yy2; } yy6444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6445; default: goto yy2; } yy6445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6446; default: goto yy2; } yy6446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6447; default: goto yy2; } yy6447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6448; default: goto yy2; } yy6448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6449; default: goto yy2; } yy6449: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6450; default: goto yy2; } yy6450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6451; default: goto yy2; } yy6451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6452; default: goto yy2; } yy6452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6453; default: goto yy2; } yy6453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6454; default: goto yy2; } yy6454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6455; default: goto yy2; } yy6455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6456; default: goto yy2; } yy6456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6457; default: goto yy2; } yy6457: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6458; default: goto yy2; } yy6458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6459; default: goto yy2; } yy6459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6460; default: goto yy2; } yy6460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6461; default: goto yy2; } yy6461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6462; default: goto yy2; } yy6462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6463; default: goto yy2; } yy6463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6464; default: goto yy2; } yy6464: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6465; default: goto yy2; } yy6465: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6466; default: goto yy2; } yy6466: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6467; default: goto yy2; } yy6467: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6468; default: goto yy2; } yy6468: yych = *++YYCURSOR; switch (yych) { case '9': goto yy6469; default: goto yy2; } yy6469: yych = *++YYCURSOR; switch (yych) { case '4': goto yy6470; default: goto yy2; } yy6470: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6471; default: goto yy2; } yy6471: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6472; default: goto yy2; } yy6472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6473; default: goto yy2; } yy6473: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6474; default: goto yy2; } yy6474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6475; default: goto yy2; } yy6475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6476; default: goto yy2; } yy6476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6477; default: goto yy2; } yy6477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6478; default: goto yy2; } yy6478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6479; default: goto yy2; } yy6479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6480; default: goto yy2; } yy6480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6481; default: goto yy2; } yy6481: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6482; default: goto yy2; } yy6482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6483; default: goto yy2; } yy6483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6484; default: goto yy2; } yy6484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6485; default: goto yy2; } yy6485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6486; default: goto yy2; } yy6486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6487; default: goto yy2; } yy6487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6488; default: goto yy2; } yy6488: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6489; default: goto yy2; } yy6489: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6490; default: goto yy2; } yy6490: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6491; default: goto yy2; } yy6491: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6492; default: goto yy2; } yy6492: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6493; default: goto yy2; } yy6493: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6494; default: goto yy2; } yy6494: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6495; default: goto yy2; } yy6495: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6496; default: goto yy2; } yy6496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6497; default: goto yy2; } yy6497: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6498; default: goto yy2; } yy6498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6499; default: goto yy2; } yy6499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6500; default: goto yy2; } yy6500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6501; default: goto yy2; } yy6501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6502; default: goto yy2; } yy6502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6503; default: goto yy2; } yy6503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6504; default: goto yy2; } yy6504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6505; default: goto yy2; } yy6505: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6506; default: goto yy2; } yy6506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6507; default: goto yy2; } yy6507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6508; default: goto yy2; } yy6508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6509; default: goto yy2; } yy6509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6510; default: goto yy2; } yy6510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6511; default: goto yy2; } yy6511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6512; default: goto yy2; } yy6512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6513; default: goto yy2; } yy6513: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6514; default: goto yy2; } yy6514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6515; default: goto yy2; } yy6515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6516; default: goto yy2; } yy6516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6517; default: goto yy2; } yy6517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6518; default: goto yy2; } yy6518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6519; default: goto yy2; } yy6519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6520; default: goto yy2; } yy6520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6521; default: goto yy2; } yy6521: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6522; default: goto yy2; } yy6522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6523; default: goto yy2; } yy6523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6524; default: goto yy2; } yy6524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6525; default: goto yy2; } yy6525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6526; default: goto yy2; } yy6526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6527; default: goto yy2; } yy6527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6528; default: goto yy2; } yy6528: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6529; default: goto yy2; } yy6529: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6530; default: goto yy2; } yy6530: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6531; default: goto yy2; } yy6531: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6532; default: goto yy2; } yy6532: yych = *++YYCURSOR; switch (yych) { case '9': goto yy6533; default: goto yy2; } yy6533: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6534; default: goto yy2; } yy6534: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6535; default: goto yy2; } yy6535: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6536; default: goto yy2; } yy6536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6537; default: goto yy2; } yy6537: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6538; default: goto yy2; } yy6538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6539; default: goto yy2; } yy6539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6540; default: goto yy2; } yy6540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6541; default: goto yy2; } yy6541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6542; default: goto yy2; } yy6542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6543; default: goto yy2; } yy6543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6544; default: goto yy2; } yy6544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6545; default: goto yy2; } yy6545: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6546; default: goto yy2; } yy6546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6547; default: goto yy2; } yy6547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6548; default: goto yy2; } yy6548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6549; default: goto yy2; } yy6549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6550; default: goto yy2; } yy6550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6551; default: goto yy2; } yy6551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6552; default: goto yy2; } yy6552: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6553; default: goto yy2; } yy6553: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6554; default: goto yy2; } yy6554: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6555; default: goto yy2; } yy6555: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6556; default: goto yy2; } yy6556: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6557; default: goto yy2; } yy6557: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6558; default: goto yy2; } yy6558: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6559; default: goto yy2; } yy6559: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6560; default: goto yy2; } yy6560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6561; default: goto yy2; } yy6561: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6562; default: goto yy2; } yy6562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6563; default: goto yy2; } yy6563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6564; default: goto yy2; } yy6564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6565; default: goto yy2; } yy6565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6566; default: goto yy2; } yy6566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6567; default: goto yy2; } yy6567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6568; default: goto yy2; } yy6568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6569; default: goto yy2; } yy6569: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6570; default: goto yy2; } yy6570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6571; default: goto yy2; } yy6571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6572; default: goto yy2; } yy6572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6573; default: goto yy2; } yy6573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6574; default: goto yy2; } yy6574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6575; default: goto yy2; } yy6575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6576; default: goto yy2; } yy6576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6577; default: goto yy2; } yy6577: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6578; default: goto yy2; } yy6578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6579; default: goto yy2; } yy6579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6580; default: goto yy2; } yy6580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6581; default: goto yy2; } yy6581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6582; default: goto yy2; } yy6582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6583; default: goto yy2; } yy6583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6584; default: goto yy2; } yy6584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6585; default: goto yy2; } yy6585: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6586; default: goto yy2; } yy6586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6587; default: goto yy2; } yy6587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6588; default: goto yy2; } yy6588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6589; default: goto yy2; } yy6589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6590; default: goto yy2; } yy6590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6591; default: goto yy2; } yy6591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6592; default: goto yy2; } yy6592: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6593; default: goto yy2; } yy6593: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6594; default: goto yy2; } yy6594: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6595; default: goto yy2; } yy6595: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6596; default: goto yy2; } yy6596: yych = *++YYCURSOR; switch (yych) { case '9': goto yy6597; default: goto yy2; } yy6597: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy6598; default: goto yy2; } yy6598: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6599; default: goto yy2; } yy6599: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6600; default: goto yy2; } yy6600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6601; default: goto yy2; } yy6601: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6602; default: goto yy2; } yy6602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6603; default: goto yy2; } yy6603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6604; default: goto yy2; } yy6604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6605; default: goto yy2; } yy6605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6606; default: goto yy2; } yy6606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6607; default: goto yy2; } yy6607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6608; default: goto yy2; } yy6608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6609; default: goto yy2; } yy6609: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6610; default: goto yy2; } yy6610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6611; default: goto yy2; } yy6611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6612; default: goto yy2; } yy6612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6613; default: goto yy2; } yy6613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6614; default: goto yy2; } yy6614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6615; default: goto yy2; } yy6615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6616; default: goto yy2; } yy6616: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6617; default: goto yy2; } yy6617: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6618; default: goto yy2; } yy6618: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6619; default: goto yy2; } yy6619: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6620; default: goto yy2; } yy6620: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6621; default: goto yy2; } yy6621: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6622; default: goto yy2; } yy6622: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6623; default: goto yy2; } yy6623: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6624; default: goto yy2; } yy6624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6625; default: goto yy2; } yy6625: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6626; default: goto yy2; } yy6626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6627; default: goto yy2; } yy6627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6628; default: goto yy2; } yy6628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6629; default: goto yy2; } yy6629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6630; default: goto yy2; } yy6630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6631; default: goto yy2; } yy6631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6632; default: goto yy2; } yy6632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6633; default: goto yy2; } yy6633: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6634; default: goto yy2; } yy6634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6635; default: goto yy2; } yy6635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6636; default: goto yy2; } yy6636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6637; default: goto yy2; } yy6637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6638; default: goto yy2; } yy6638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6639; default: goto yy2; } yy6639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6640; default: goto yy2; } yy6640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6641; default: goto yy2; } yy6641: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6642; default: goto yy2; } yy6642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6643; default: goto yy2; } yy6643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6644; default: goto yy2; } yy6644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6645; default: goto yy2; } yy6645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6646; default: goto yy2; } yy6646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6647; default: goto yy2; } yy6647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6648; default: goto yy2; } yy6648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6649; default: goto yy2; } yy6649: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6650; default: goto yy2; } yy6650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6651; default: goto yy2; } yy6651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6652; default: goto yy2; } yy6652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6653; default: goto yy2; } yy6653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6654; default: goto yy2; } yy6654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6655; default: goto yy2; } yy6655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6656; default: goto yy2; } yy6656: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6657; default: goto yy2; } yy6657: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6658; default: goto yy2; } yy6658: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6659; default: goto yy2; } yy6659: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6660; default: goto yy2; } yy6660: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy6661; default: goto yy2; } yy6661: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6662; default: goto yy2; } yy6662: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6663; default: goto yy2; } yy6663: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6664; default: goto yy2; } yy6664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6665; default: goto yy2; } yy6665: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6666; default: goto yy2; } yy6666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6667; default: goto yy2; } yy6667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6668; default: goto yy2; } yy6668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6669; default: goto yy2; } yy6669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6670; default: goto yy2; } yy6670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6671; default: goto yy2; } yy6671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6672; default: goto yy2; } yy6672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6673; default: goto yy2; } yy6673: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6674; default: goto yy2; } yy6674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6675; default: goto yy2; } yy6675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6676; default: goto yy2; } yy6676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6677; default: goto yy2; } yy6677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6678; default: goto yy2; } yy6678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6679; default: goto yy2; } yy6679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6680; default: goto yy2; } yy6680: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6681; default: goto yy2; } yy6681: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6682; default: goto yy2; } yy6682: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6683; default: goto yy2; } yy6683: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6684; default: goto yy2; } yy6684: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6685; default: goto yy2; } yy6685: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6686; default: goto yy2; } yy6686: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6687; default: goto yy2; } yy6687: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6688; default: goto yy2; } yy6688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6689; default: goto yy2; } yy6689: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6690; default: goto yy2; } yy6690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6691; default: goto yy2; } yy6691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6692; default: goto yy2; } yy6692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6693; default: goto yy2; } yy6693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6694; default: goto yy2; } yy6694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6695; default: goto yy2; } yy6695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6696; default: goto yy2; } yy6696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6697; default: goto yy2; } yy6697: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6698; default: goto yy2; } yy6698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6699; default: goto yy2; } yy6699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6700; default: goto yy2; } yy6700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6701; default: goto yy2; } yy6701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6702; default: goto yy2; } yy6702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6703; default: goto yy2; } yy6703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6704; default: goto yy2; } yy6704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6705; default: goto yy2; } yy6705: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6706; default: goto yy2; } yy6706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6707; default: goto yy2; } yy6707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6708; default: goto yy2; } yy6708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6709; default: goto yy2; } yy6709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6710; default: goto yy2; } yy6710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6711; default: goto yy2; } yy6711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6712; default: goto yy2; } yy6712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6713; default: goto yy2; } yy6713: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6714; default: goto yy2; } yy6714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6715; default: goto yy2; } yy6715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6716; default: goto yy2; } yy6716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6717; default: goto yy2; } yy6717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6718; default: goto yy2; } yy6718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6719; default: goto yy2; } yy6719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6720; default: goto yy2; } yy6720: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6721; default: goto yy2; } yy6721: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6722; default: goto yy2; } yy6722: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6723; default: goto yy2; } yy6723: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6724; default: goto yy2; } yy6724: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy6725; default: goto yy2; } yy6725: yych = *++YYCURSOR; switch (yych) { case '4': goto yy6726; default: goto yy2; } yy6726: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6727; default: goto yy2; } yy6727: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6728; default: goto yy2; } yy6728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6729; default: goto yy2; } yy6729: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6730; default: goto yy2; } yy6730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6731; default: goto yy2; } yy6731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6732; default: goto yy2; } yy6732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6733; default: goto yy2; } yy6733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6734; default: goto yy2; } yy6734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6735; default: goto yy2; } yy6735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6736; default: goto yy2; } yy6736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6737; default: goto yy2; } yy6737: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6738; default: goto yy2; } yy6738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6739; default: goto yy2; } yy6739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6740; default: goto yy2; } yy6740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6741; default: goto yy2; } yy6741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6742; default: goto yy2; } yy6742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6743; default: goto yy2; } yy6743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6744; default: goto yy2; } yy6744: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6745; default: goto yy2; } yy6745: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6746; default: goto yy2; } yy6746: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6747; default: goto yy2; } yy6747: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6748; default: goto yy2; } yy6748: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6749; default: goto yy2; } yy6749: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6750; default: goto yy2; } yy6750: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6751; default: goto yy2; } yy6751: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6752; default: goto yy2; } yy6752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6753; default: goto yy2; } yy6753: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6754; default: goto yy2; } yy6754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6755; default: goto yy2; } yy6755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6756; default: goto yy2; } yy6756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6757; default: goto yy2; } yy6757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6758; default: goto yy2; } yy6758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6759; default: goto yy2; } yy6759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6760; default: goto yy2; } yy6760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6761; default: goto yy2; } yy6761: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6762; default: goto yy2; } yy6762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6763; default: goto yy2; } yy6763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6764; default: goto yy2; } yy6764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6765; default: goto yy2; } yy6765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6766; default: goto yy2; } yy6766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6767; default: goto yy2; } yy6767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6768; default: goto yy2; } yy6768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6769; default: goto yy2; } yy6769: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6770; default: goto yy2; } yy6770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6771; default: goto yy2; } yy6771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6772; default: goto yy2; } yy6772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6773; default: goto yy2; } yy6773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6774; default: goto yy2; } yy6774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6775; default: goto yy2; } yy6775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6776; default: goto yy2; } yy6776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6777; default: goto yy2; } yy6777: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6778; default: goto yy2; } yy6778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6779; default: goto yy2; } yy6779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6780; default: goto yy2; } yy6780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6781; default: goto yy2; } yy6781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6782; default: goto yy2; } yy6782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6783; default: goto yy2; } yy6783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6784; default: goto yy2; } yy6784: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6785; default: goto yy2; } yy6785: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6786; default: goto yy2; } yy6786: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6787; default: goto yy2; } yy6787: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6788; default: goto yy2; } yy6788: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy6789; default: goto yy2; } yy6789: yych = *++YYCURSOR; switch (yych) { case '8': goto yy6790; default: goto yy2; } yy6790: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6791; default: goto yy2; } yy6791: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6792; default: goto yy2; } yy6792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6793; default: goto yy2; } yy6793: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6794; default: goto yy2; } yy6794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6795; default: goto yy2; } yy6795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6796; default: goto yy2; } yy6796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6797; default: goto yy2; } yy6797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6798; default: goto yy2; } yy6798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6799; default: goto yy2; } yy6799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6800; default: goto yy2; } yy6800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6801; default: goto yy2; } yy6801: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6802; default: goto yy2; } yy6802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6803; default: goto yy2; } yy6803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6804; default: goto yy2; } yy6804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6805; default: goto yy2; } yy6805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6806; default: goto yy2; } yy6806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6807; default: goto yy2; } yy6807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6808; default: goto yy2; } yy6808: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6809; default: goto yy2; } yy6809: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6810; default: goto yy2; } yy6810: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6811; default: goto yy2; } yy6811: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6812; default: goto yy2; } yy6812: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6813; default: goto yy2; } yy6813: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6814; default: goto yy2; } yy6814: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6815; default: goto yy2; } yy6815: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6816; default: goto yy2; } yy6816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6817; default: goto yy2; } yy6817: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6818; default: goto yy2; } yy6818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6819; default: goto yy2; } yy6819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6820; default: goto yy2; } yy6820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6821; default: goto yy2; } yy6821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6822; default: goto yy2; } yy6822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6823; default: goto yy2; } yy6823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6824; default: goto yy2; } yy6824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6825; default: goto yy2; } yy6825: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6826; default: goto yy2; } yy6826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6827; default: goto yy2; } yy6827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6828; default: goto yy2; } yy6828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6829; default: goto yy2; } yy6829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6830; default: goto yy2; } yy6830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6831; default: goto yy2; } yy6831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6832; default: goto yy2; } yy6832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6833; default: goto yy2; } yy6833: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6834; default: goto yy2; } yy6834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6835; default: goto yy2; } yy6835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6836; default: goto yy2; } yy6836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6837; default: goto yy2; } yy6837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6838; default: goto yy2; } yy6838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6839; default: goto yy2; } yy6839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6840; default: goto yy2; } yy6840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6841; default: goto yy2; } yy6841: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6842; default: goto yy2; } yy6842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6843; default: goto yy2; } yy6843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6844; default: goto yy2; } yy6844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6845; default: goto yy2; } yy6845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6846; default: goto yy2; } yy6846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6847; default: goto yy2; } yy6847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6848; default: goto yy2; } yy6848: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6849; default: goto yy2; } yy6849: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6850; default: goto yy2; } yy6850: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6851; default: goto yy2; } yy6851: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6852; default: goto yy2; } yy6852: yych = *++YYCURSOR; switch (yych) { case 'A': goto yy6853; default: goto yy2; } yy6853: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy6854; default: goto yy2; } yy6854: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6855; default: goto yy2; } yy6855: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6856; default: goto yy2; } yy6856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6857; default: goto yy2; } yy6857: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6858; default: goto yy2; } yy6858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6859; default: goto yy2; } yy6859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6860; default: goto yy2; } yy6860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6861; default: goto yy2; } yy6861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6862; default: goto yy2; } yy6862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6863; default: goto yy2; } yy6863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6864; default: goto yy2; } yy6864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6865; default: goto yy2; } yy6865: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6866; default: goto yy2; } yy6866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6867; default: goto yy2; } yy6867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6868; default: goto yy2; } yy6868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6869; default: goto yy2; } yy6869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6870; default: goto yy2; } yy6870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6871; default: goto yy2; } yy6871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6872; default: goto yy2; } yy6872: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6873; default: goto yy2; } yy6873: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6874; default: goto yy2; } yy6874: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6875; default: goto yy2; } yy6875: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6876; default: goto yy2; } yy6876: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6877; default: goto yy2; } yy6877: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6878; default: goto yy2; } yy6878: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6879; default: goto yy2; } yy6879: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6880; default: goto yy2; } yy6880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6881; default: goto yy2; } yy6881: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6882; default: goto yy2; } yy6882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6883; default: goto yy2; } yy6883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6884; default: goto yy2; } yy6884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6885; default: goto yy2; } yy6885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6886; default: goto yy2; } yy6886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6887; default: goto yy2; } yy6887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6888; default: goto yy2; } yy6888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6889; default: goto yy2; } yy6889: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6890; default: goto yy2; } yy6890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6891; default: goto yy2; } yy6891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6892; default: goto yy2; } yy6892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6893; default: goto yy2; } yy6893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6894; default: goto yy2; } yy6894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6895; default: goto yy2; } yy6895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6896; default: goto yy2; } yy6896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6897; default: goto yy2; } yy6897: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6898; default: goto yy2; } yy6898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6899; default: goto yy2; } yy6899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6900; default: goto yy2; } yy6900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6901; default: goto yy2; } yy6901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6902; default: goto yy2; } yy6902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6903; default: goto yy2; } yy6903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6904; default: goto yy2; } yy6904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6905; default: goto yy2; } yy6905: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6906; default: goto yy2; } yy6906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6907; default: goto yy2; } yy6907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6908; default: goto yy2; } yy6908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6909; default: goto yy2; } yy6909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6910; default: goto yy2; } yy6910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6911; default: goto yy2; } yy6911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6912; default: goto yy2; } yy6912: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6913; default: goto yy2; } yy6913: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6914; default: goto yy2; } yy6914: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6915; default: goto yy2; } yy6915: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6916; default: goto yy2; } yy6916: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy6917; default: goto yy2; } yy6917: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6918; default: goto yy2; } yy6918: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6919; default: goto yy2; } yy6919: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6920; default: goto yy2; } yy6920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6921; default: goto yy2; } yy6921: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6922; default: goto yy2; } yy6922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6923; default: goto yy2; } yy6923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6924; default: goto yy2; } yy6924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6925; default: goto yy2; } yy6925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6926; default: goto yy2; } yy6926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6927; default: goto yy2; } yy6927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6928; default: goto yy2; } yy6928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6929; default: goto yy2; } yy6929: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6930; default: goto yy2; } yy6930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6931; default: goto yy2; } yy6931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6932; default: goto yy2; } yy6932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6933; default: goto yy2; } yy6933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6934; default: goto yy2; } yy6934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6935; default: goto yy2; } yy6935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6936; default: goto yy2; } yy6936: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6937; default: goto yy2; } yy6937: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6938; default: goto yy2; } yy6938: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6939; default: goto yy2; } yy6939: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6940; default: goto yy2; } yy6940: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6941; default: goto yy2; } yy6941: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6942; default: goto yy2; } yy6942: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6943; default: goto yy2; } yy6943: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6944; default: goto yy2; } yy6944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6945; default: goto yy2; } yy6945: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6946; default: goto yy2; } yy6946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6947; default: goto yy2; } yy6947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6948; default: goto yy2; } yy6948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6949; default: goto yy2; } yy6949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6950; default: goto yy2; } yy6950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6951; default: goto yy2; } yy6951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6952; default: goto yy2; } yy6952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6953; default: goto yy2; } yy6953: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6954; default: goto yy2; } yy6954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6955; default: goto yy2; } yy6955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6956; default: goto yy2; } yy6956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6957; default: goto yy2; } yy6957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6958; default: goto yy2; } yy6958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6959; default: goto yy2; } yy6959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6960; default: goto yy2; } yy6960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6961; default: goto yy2; } yy6961: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6962; default: goto yy2; } yy6962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6963; default: goto yy2; } yy6963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6964; default: goto yy2; } yy6964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6965; default: goto yy2; } yy6965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6966; default: goto yy2; } yy6966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6967; default: goto yy2; } yy6967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6968; default: goto yy2; } yy6968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6969; default: goto yy2; } yy6969: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6970; default: goto yy2; } yy6970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6971; default: goto yy2; } yy6971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6972; default: goto yy2; } yy6972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6973; default: goto yy2; } yy6973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6974; default: goto yy2; } yy6974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6975; default: goto yy2; } yy6975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6976; default: goto yy2; } yy6976: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6977; default: goto yy2; } yy6977: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy6978; default: goto yy2; } yy6978: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6979; default: goto yy2; } yy6979: yych = *++YYCURSOR; switch (yych) { case '1': goto yy6980; default: goto yy2; } yy6980: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy6981; default: goto yy2; } yy6981: yych = *++YYCURSOR; switch (yych) { case '4': goto yy6982; default: goto yy2; } yy6982: yych = *++YYCURSOR; switch (yych) { case '0': goto yy6983; default: goto yy2; } yy6983: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6984; default: goto yy2; } yy6984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6985; default: goto yy2; } yy6985: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6986; default: goto yy2; } yy6986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6987; default: goto yy2; } yy6987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6988; default: goto yy2; } yy6988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6989; default: goto yy2; } yy6989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6990; default: goto yy2; } yy6990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6991; default: goto yy2; } yy6991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6992; default: goto yy2; } yy6992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6993; default: goto yy2; } yy6993: yych = *++YYCURSOR; switch (yych) { case '_': goto yy6994; default: goto yy2; } yy6994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6995; default: goto yy2; } yy6995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6996; default: goto yy2; } yy6996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6997; default: goto yy2; } yy6997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6998; default: goto yy2; } yy6998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy6999; default: goto yy2; } yy6999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7000; default: goto yy2; } yy7000: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7001; default: goto yy2; } yy7001: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7002; default: goto yy2; } yy7002: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7003; default: goto yy2; } yy7003: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7004; default: goto yy2; } yy7004: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7005; default: goto yy2; } yy7005: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7006; default: goto yy2; } yy7006: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7007; default: goto yy2; } yy7007: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7008; default: goto yy2; } yy7008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7009; default: goto yy2; } yy7009: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7010; default: goto yy2; } yy7010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7011; default: goto yy2; } yy7011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7012; default: goto yy2; } yy7012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7013; default: goto yy2; } yy7013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7014; default: goto yy2; } yy7014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7015; default: goto yy2; } yy7015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7016; default: goto yy2; } yy7016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7017; default: goto yy2; } yy7017: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7018; default: goto yy2; } yy7018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7019; default: goto yy2; } yy7019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7020; default: goto yy2; } yy7020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7021; default: goto yy2; } yy7021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7022; default: goto yy2; } yy7022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7023; default: goto yy2; } yy7023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7024; default: goto yy2; } yy7024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7025; default: goto yy2; } yy7025: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7026; default: goto yy2; } yy7026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7027; default: goto yy2; } yy7027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7028; default: goto yy2; } yy7028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7029; default: goto yy2; } yy7029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7030; default: goto yy2; } yy7030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7031; default: goto yy2; } yy7031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7032; default: goto yy2; } yy7032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7033; default: goto yy2; } yy7033: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7034; default: goto yy2; } yy7034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7035; default: goto yy2; } yy7035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7036; default: goto yy2; } yy7036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7037; default: goto yy2; } yy7037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7038; default: goto yy2; } yy7038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7039; default: goto yy2; } yy7039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7040; default: goto yy2; } yy7040: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7041; default: goto yy2; } yy7041: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7042; default: goto yy2; } yy7042: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7043; default: goto yy2; } yy7043: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7044; default: goto yy2; } yy7044: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy7045; default: goto yy2; } yy7045: yych = *++YYCURSOR; switch (yych) { case '8': goto yy7046; default: goto yy2; } yy7046: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7047; default: goto yy2; } yy7047: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7048; default: goto yy2; } yy7048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7049; default: goto yy2; } yy7049: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7050; default: goto yy2; } yy7050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7051; default: goto yy2; } yy7051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7052; default: goto yy2; } yy7052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7053; default: goto yy2; } yy7053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7054; default: goto yy2; } yy7054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7055; default: goto yy2; } yy7055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7056; default: goto yy2; } yy7056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7057; default: goto yy2; } yy7057: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7058; default: goto yy2; } yy7058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7059; default: goto yy2; } yy7059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7060; default: goto yy2; } yy7060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7061; default: goto yy2; } yy7061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7062; default: goto yy2; } yy7062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7063; default: goto yy2; } yy7063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7064; default: goto yy2; } yy7064: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7065; default: goto yy2; } yy7065: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7066; default: goto yy2; } yy7066: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7067; default: goto yy2; } yy7067: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7068; default: goto yy2; } yy7068: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7069; default: goto yy2; } yy7069: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7070; default: goto yy2; } yy7070: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7071; default: goto yy2; } yy7071: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7072; default: goto yy2; } yy7072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7073; default: goto yy2; } yy7073: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7074; default: goto yy2; } yy7074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7075; default: goto yy2; } yy7075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7076; default: goto yy2; } yy7076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7077; default: goto yy2; } yy7077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7078; default: goto yy2; } yy7078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7079; default: goto yy2; } yy7079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7080; default: goto yy2; } yy7080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7081; default: goto yy2; } yy7081: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7082; default: goto yy2; } yy7082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7083; default: goto yy2; } yy7083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7084; default: goto yy2; } yy7084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7085; default: goto yy2; } yy7085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7086; default: goto yy2; } yy7086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7087; default: goto yy2; } yy7087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7088; default: goto yy2; } yy7088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7089; default: goto yy2; } yy7089: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7090; default: goto yy2; } yy7090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7091; default: goto yy2; } yy7091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7092; default: goto yy2; } yy7092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7093; default: goto yy2; } yy7093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7094; default: goto yy2; } yy7094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7095; default: goto yy2; } yy7095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7096; default: goto yy2; } yy7096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7097; default: goto yy2; } yy7097: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7098; default: goto yy2; } yy7098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7099; default: goto yy2; } yy7099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7100; default: goto yy2; } yy7100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7101; default: goto yy2; } yy7101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7102; default: goto yy2; } yy7102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7103; default: goto yy2; } yy7103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7104; default: goto yy2; } yy7104: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7105; default: goto yy2; } yy7105: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7106; default: goto yy2; } yy7106: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7107; default: goto yy2; } yy7107: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7108; default: goto yy2; } yy7108: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy7109; default: goto yy2; } yy7109: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7110; default: goto yy2; } yy7110: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7111; default: goto yy2; } yy7111: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7112; default: goto yy2; } yy7112: yych = *++YYCURSOR; switch (yych) { case '7': goto yy7113; default: goto yy2; } yy7113: yych = *++YYCURSOR; switch (yych) { case 't': goto yy7114; default: goto yy2; } yy7114: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy7115; default: goto yy2; } yy7115: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7116; default: goto yy2; } yy7116: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy7117; default: goto yy2; } yy7117: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy7118; default: goto yy2; } yy7118: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy7119; default: goto yy2; } yy7119: yych = *++YYCURSOR; switch (yych) { case 't': goto yy7120; default: goto yy2; } yy7120: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy7121; default: goto yy2; } yy7121: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7122; default: goto yy2; } yy7122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7123; default: goto yy2; } yy7123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7124; default: goto yy2; } yy7124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7125; default: goto yy2; } yy7125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7126; default: goto yy2; } yy7126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7127; default: goto yy2; } yy7127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7128; default: goto yy2; } yy7128: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7129; default: goto yy2; } yy7129: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7130; default: goto yy2; } yy7130: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7131; default: goto yy2; } yy7131: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7132; default: goto yy2; } yy7132: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7133; default: goto yy2; } yy7133: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7134; default: goto yy2; } yy7134: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7135; default: goto yy2; } yy7135: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7136; default: goto yy2; } yy7136: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7137; default: goto yy2; } yy7137: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7138; default: goto yy2; } yy7138: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7139; default: goto yy2; } yy7139: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7140; default: goto yy2; } yy7140: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7141; default: goto yy2; } yy7141: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7142; default: goto yy2; } yy7142: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7143; default: goto yy2; } yy7143: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7144; default: goto yy2; } yy7144: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7145; default: goto yy2; } yy7145: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7146; default: goto yy2; } yy7146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7147; default: goto yy2; } yy7147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7148; default: goto yy2; } yy7148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7149; default: goto yy2; } yy7149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7150; default: goto yy2; } yy7150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7151; default: goto yy2; } yy7151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7152; default: goto yy2; } yy7152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7153; default: goto yy2; } yy7153: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7154; default: goto yy2; } yy7154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7155; default: goto yy2; } yy7155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7156; default: goto yy2; } yy7156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7157; default: goto yy2; } yy7157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7158; default: goto yy2; } yy7158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7159; default: goto yy2; } yy7159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7160; default: goto yy2; } yy7160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7161; default: goto yy2; } yy7161: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7162; default: goto yy2; } yy7162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7163; default: goto yy2; } yy7163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7164; default: goto yy2; } yy7164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7165; default: goto yy2; } yy7165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7166; default: goto yy2; } yy7166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7167; default: goto yy2; } yy7167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7168; default: goto yy2; } yy7168: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7169; default: goto yy2; } yy7169: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7170; default: goto yy2; } yy7170: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7171; default: goto yy2; } yy7171: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7172; default: goto yy2; } yy7172: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7173; default: goto yy2; } yy7173: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7174; default: goto yy2; } yy7174: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7175; default: goto yy2; } yy7175: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7176; default: goto yy2; } yy7176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7177; default: goto yy2; } yy7177: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7178; default: goto yy2; } yy7178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7179; default: goto yy2; } yy7179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7180; default: goto yy2; } yy7180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7181; default: goto yy2; } yy7181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7182; default: goto yy2; } yy7182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7183; default: goto yy2; } yy7183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7184; default: goto yy2; } yy7184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7185; default: goto yy2; } yy7185: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7186; default: goto yy2; } yy7186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7187; default: goto yy2; } yy7187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7188; default: goto yy2; } yy7188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7189; default: goto yy2; } yy7189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7190; default: goto yy2; } yy7190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7191; default: goto yy2; } yy7191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7192; default: goto yy2; } yy7192: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7193; default: goto yy2; } yy7193: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7194; default: goto yy2; } yy7194: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7195; default: goto yy2; } yy7195: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7196; default: goto yy2; } yy7196: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7197; default: goto yy2; } yy7197: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7198; default: goto yy2; } yy7198: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7199; default: goto yy2; } yy7199: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7200; default: goto yy2; } yy7200: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7201; default: goto yy2; } yy7201: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7202; default: goto yy2; } yy7202: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7203; default: goto yy2; } yy7203: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7204; default: goto yy2; } yy7204: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7205; default: goto yy2; } yy7205: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7206; default: goto yy2; } yy7206: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7207; default: goto yy2; } yy7207: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7208; default: goto yy2; } yy7208: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7209; default: goto yy2; } yy7209: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7210; default: goto yy2; } yy7210: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7211; default: goto yy2; } yy7211: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7212; default: goto yy2; } yy7212: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7213; default: goto yy2; } yy7213: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7214; default: goto yy2; } yy7214: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7215; default: goto yy2; } yy7215: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7216; default: goto yy2; } yy7216: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7217; default: goto yy2; } yy7217: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7218; default: goto yy2; } yy7218: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7219; default: goto yy2; } yy7219: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7220; default: goto yy2; } yy7220: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7221; default: goto yy2; } yy7221: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7222; default: goto yy2; } yy7222: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7223; default: goto yy2; } yy7223: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7224; default: goto yy2; } yy7224: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7225; default: goto yy2; } yy7225: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7226; default: goto yy2; } yy7226: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7227; default: goto yy2; } yy7227: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7228; default: goto yy2; } yy7228: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7229; default: goto yy2; } yy7229: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7230; default: goto yy2; } yy7230: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7231; default: goto yy2; } yy7231: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7232; default: goto yy2; } yy7232: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7233; default: goto yy2; } yy7233: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7234; default: goto yy2; } yy7234: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7235; default: goto yy2; } yy7235: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7236; default: goto yy2; } yy7236: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7237; default: goto yy2; } yy7237: yych = *++YYCURSOR; switch (yych) { case '4': goto yy7238; default: goto yy2; } yy7238: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7239; default: goto yy2; } yy7239: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7240; default: goto yy2; } yy7240: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7241; default: goto yy2; } yy7241: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7242; default: goto yy2; } yy7242: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7243; default: goto yy2; } yy7243: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7244; default: goto yy2; } yy7244: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7245; default: goto yy2; } yy7245: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7246; default: goto yy2; } yy7246: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7247; default: goto yy2; } yy7247: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7248; default: goto yy2; } yy7248: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7249; default: goto yy2; } yy7249: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7250; default: goto yy2; } yy7250: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7251; default: goto yy2; } yy7251: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7252; default: goto yy2; } yy7252: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7253; default: goto yy2; } yy7253: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7254; default: goto yy2; } yy7254: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7255; default: goto yy2; } yy7255: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7256; default: goto yy2; } yy7256: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7257; default: goto yy2; } yy7257: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7258; default: goto yy2; } yy7258: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7259; default: goto yy2; } yy7259: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7260; default: goto yy2; } yy7260: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7261; default: goto yy2; } yy7261: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7262; default: goto yy2; } yy7262: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7263; default: goto yy2; } yy7263: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7264; default: goto yy2; } yy7264: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7265; default: goto yy2; } yy7265: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7266; default: goto yy2; } yy7266: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7267; default: goto yy2; } yy7267: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7268; default: goto yy2; } yy7268: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7269; default: goto yy2; } yy7269: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7270; default: goto yy2; } yy7270: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7271; default: goto yy2; } yy7271: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7272; default: goto yy2; } yy7272: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7273; default: goto yy2; } yy7273: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7274; default: goto yy2; } yy7274: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7275; default: goto yy2; } yy7275: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7276; default: goto yy2; } yy7276: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7277; default: goto yy2; } yy7277: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7278; default: goto yy2; } yy7278: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7279; default: goto yy2; } yy7279: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7280; default: goto yy2; } yy7280: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7281; default: goto yy2; } yy7281: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7282; default: goto yy2; } yy7282: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7283; default: goto yy2; } yy7283: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7284; default: goto yy2; } yy7284: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7285; default: goto yy2; } yy7285: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7286; default: goto yy2; } yy7286: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7287; default: goto yy2; } yy7287: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7288; default: goto yy2; } yy7288: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7289; default: goto yy2; } yy7289: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7290; default: goto yy2; } yy7290: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7291; default: goto yy2; } yy7291: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7292; default: goto yy2; } yy7292: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7293; default: goto yy2; } yy7293: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7294; default: goto yy2; } yy7294: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7295; default: goto yy2; } yy7295: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7296; default: goto yy2; } yy7296: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7297; default: goto yy2; } yy7297: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7298; default: goto yy2; } yy7298: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7299; default: goto yy2; } yy7299: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7300; default: goto yy2; } yy7300: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7301; default: goto yy2; } yy7301: yych = *++YYCURSOR; switch (yych) { case '8': goto yy7302; default: goto yy2; } yy7302: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7303; default: goto yy2; } yy7303: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7304; default: goto yy2; } yy7304: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7305; default: goto yy2; } yy7305: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7306; default: goto yy2; } yy7306: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7307; default: goto yy2; } yy7307: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7308; default: goto yy2; } yy7308: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7309; default: goto yy2; } yy7309: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7310; default: goto yy2; } yy7310: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7311; default: goto yy2; } yy7311: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7312; default: goto yy2; } yy7312: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7313; default: goto yy2; } yy7313: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7314; default: goto yy2; } yy7314: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7315; default: goto yy2; } yy7315: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7316; default: goto yy2; } yy7316: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7317; default: goto yy2; } yy7317: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7318; default: goto yy2; } yy7318: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7319; default: goto yy2; } yy7319: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7320; default: goto yy2; } yy7320: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7321; default: goto yy2; } yy7321: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7322; default: goto yy2; } yy7322: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7323; default: goto yy2; } yy7323: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7324; default: goto yy2; } yy7324: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7325; default: goto yy2; } yy7325: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7326; default: goto yy2; } yy7326: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7327; default: goto yy2; } yy7327: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7328; default: goto yy2; } yy7328: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7329; default: goto yy2; } yy7329: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7330; default: goto yy2; } yy7330: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7331; default: goto yy2; } yy7331: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7332; default: goto yy2; } yy7332: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7333; default: goto yy2; } yy7333: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7334; default: goto yy2; } yy7334: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7335; default: goto yy2; } yy7335: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7336; default: goto yy2; } yy7336: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7337; default: goto yy2; } yy7337: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7338; default: goto yy2; } yy7338: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7339; default: goto yy2; } yy7339: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7340; default: goto yy2; } yy7340: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7341; default: goto yy2; } yy7341: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7342; default: goto yy2; } yy7342: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7343; default: goto yy2; } yy7343: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7344; default: goto yy2; } yy7344: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7345; default: goto yy2; } yy7345: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7346; default: goto yy2; } yy7346: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7347; default: goto yy2; } yy7347: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7348; default: goto yy2; } yy7348: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7349; default: goto yy2; } yy7349: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7350; default: goto yy2; } yy7350: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7351; default: goto yy2; } yy7351: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7352; default: goto yy2; } yy7352: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7353; default: goto yy2; } yy7353: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7354; default: goto yy2; } yy7354: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7355; default: goto yy2; } yy7355: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7356; default: goto yy2; } yy7356: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7357; default: goto yy2; } yy7357: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7358; default: goto yy2; } yy7358: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7359; default: goto yy2; } yy7359: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7360; default: goto yy2; } yy7360: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7361; default: goto yy2; } yy7361: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7362; default: goto yy2; } yy7362: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7363; default: goto yy2; } yy7363: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7364; default: goto yy2; } yy7364: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7365; default: goto yy2; } yy7365: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7366; default: goto yy2; } yy7366: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7367; default: goto yy2; } yy7367: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7368; default: goto yy2; } yy7368: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7369; default: goto yy2; } yy7369: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7370; default: goto yy2; } yy7370: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7371; default: goto yy2; } yy7371: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7372; default: goto yy2; } yy7372: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7373; default: goto yy2; } yy7373: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7374; default: goto yy2; } yy7374: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7375; default: goto yy2; } yy7375: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7376; default: goto yy2; } yy7376: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7377; default: goto yy2; } yy7377: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7378; default: goto yy2; } yy7378: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7379; default: goto yy2; } yy7379: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7380; default: goto yy2; } yy7380: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7381; default: goto yy2; } yy7381: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7382; default: goto yy2; } yy7382: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7383; default: goto yy2; } yy7383: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7384; default: goto yy2; } yy7384: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7385; default: goto yy2; } yy7385: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7386; default: goto yy2; } yy7386: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7387; default: goto yy2; } yy7387: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7388; default: goto yy2; } yy7388: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7389; default: goto yy2; } yy7389: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7390; default: goto yy2; } yy7390: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7391; default: goto yy2; } yy7391: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7392; default: goto yy2; } yy7392: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7393; default: goto yy2; } yy7393: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7394; default: goto yy2; } yy7394: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7395; default: goto yy2; } yy7395: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7396; default: goto yy2; } yy7396: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7397; default: goto yy2; } yy7397: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7398; default: goto yy2; } yy7398: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7399; default: goto yy2; } yy7399: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7400; default: goto yy2; } yy7400: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7401; default: goto yy2; } yy7401: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7402; default: goto yy2; } yy7402: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7403; default: goto yy2; } yy7403: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7404; default: goto yy2; } yy7404: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7405; default: goto yy2; } yy7405: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7406; default: goto yy2; } yy7406: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7407; default: goto yy2; } yy7407: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7408; default: goto yy2; } yy7408: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7409; default: goto yy2; } yy7409: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7410; default: goto yy2; } yy7410: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7411; default: goto yy2; } yy7411: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7412; default: goto yy2; } yy7412: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7413; default: goto yy2; } yy7413: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7414; default: goto yy2; } yy7414: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7415; default: goto yy2; } yy7415: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7416; default: goto yy2; } yy7416: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7417; default: goto yy2; } yy7417: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7418; default: goto yy2; } yy7418: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7419; default: goto yy2; } yy7419: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7420; default: goto yy2; } yy7420: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7421; default: goto yy2; } yy7421: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7422; default: goto yy2; } yy7422: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7423; default: goto yy2; } yy7423: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7424; default: goto yy2; } yy7424: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7425; default: goto yy2; } yy7425: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7426; default: goto yy2; } yy7426: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7427; default: goto yy2; } yy7427: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7428; default: goto yy2; } yy7428: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy7429; default: goto yy2; } yy7429: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7430; default: goto yy2; } yy7430: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7431; default: goto yy2; } yy7431: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7432; default: goto yy2; } yy7432: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7433; default: goto yy2; } yy7433: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7434; default: goto yy2; } yy7434: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7435; default: goto yy2; } yy7435: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7436; default: goto yy2; } yy7436: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7437; default: goto yy2; } yy7437: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7438; default: goto yy2; } yy7438: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7439; default: goto yy2; } yy7439: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7440; default: goto yy2; } yy7440: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7441; default: goto yy2; } yy7441: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7442; default: goto yy2; } yy7442: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7443; default: goto yy2; } yy7443: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7444; default: goto yy2; } yy7444: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7445; default: goto yy2; } yy7445: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7446; default: goto yy2; } yy7446: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7447; default: goto yy2; } yy7447: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7448; default: goto yy2; } yy7448: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7449; default: goto yy2; } yy7449: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7450; default: goto yy2; } yy7450: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7451; default: goto yy2; } yy7451: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7452; default: goto yy2; } yy7452: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7453; default: goto yy2; } yy7453: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7454; default: goto yy2; } yy7454: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7455; default: goto yy2; } yy7455: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7456; default: goto yy2; } yy7456: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7457; default: goto yy2; } yy7457: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7458; default: goto yy2; } yy7458: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7459; default: goto yy2; } yy7459: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7460; default: goto yy2; } yy7460: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7461; default: goto yy2; } yy7461: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7462; default: goto yy2; } yy7462: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7463; default: goto yy2; } yy7463: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7464; default: goto yy2; } yy7464: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7465; default: goto yy2; } yy7465: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7466; default: goto yy2; } yy7466: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7467; default: goto yy2; } yy7467: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7468; default: goto yy2; } yy7468: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7469; default: goto yy2; } yy7469: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7470; default: goto yy2; } yy7470: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7471; default: goto yy2; } yy7471: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7472; default: goto yy2; } yy7472: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7473; default: goto yy2; } yy7473: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7474; default: goto yy2; } yy7474: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7475; default: goto yy2; } yy7475: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7476; default: goto yy2; } yy7476: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7477; default: goto yy2; } yy7477: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7478; default: goto yy2; } yy7478: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7479; default: goto yy2; } yy7479: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7480; default: goto yy2; } yy7480: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7481; default: goto yy2; } yy7481: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7482; default: goto yy2; } yy7482: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7483; default: goto yy2; } yy7483: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7484; default: goto yy2; } yy7484: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7485; default: goto yy2; } yy7485: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7486; default: goto yy2; } yy7486: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7487; default: goto yy2; } yy7487: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7488; default: goto yy2; } yy7488: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7489; default: goto yy2; } yy7489: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7490; default: goto yy2; } yy7490: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7491; default: goto yy2; } yy7491: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7492; default: goto yy2; } yy7492: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy7493; default: goto yy2; } yy7493: yych = *++YYCURSOR; switch (yych) { case '4': goto yy7494; default: goto yy2; } yy7494: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7495; default: goto yy2; } yy7495: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7496; default: goto yy2; } yy7496: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7497; default: goto yy2; } yy7497: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7498; default: goto yy2; } yy7498: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7499; default: goto yy2; } yy7499: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7500; default: goto yy2; } yy7500: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7501; default: goto yy2; } yy7501: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7502; default: goto yy2; } yy7502: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7503; default: goto yy2; } yy7503: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7504; default: goto yy2; } yy7504: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7505; default: goto yy2; } yy7505: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7506; default: goto yy2; } yy7506: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7507; default: goto yy2; } yy7507: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7508; default: goto yy2; } yy7508: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7509; default: goto yy2; } yy7509: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7510; default: goto yy2; } yy7510: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7511; default: goto yy2; } yy7511: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7512; default: goto yy2; } yy7512: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7513; default: goto yy2; } yy7513: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7514; default: goto yy2; } yy7514: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7515; default: goto yy2; } yy7515: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7516; default: goto yy2; } yy7516: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7517; default: goto yy2; } yy7517: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7518; default: goto yy2; } yy7518: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7519; default: goto yy2; } yy7519: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7520; default: goto yy2; } yy7520: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7521; default: goto yy2; } yy7521: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7522; default: goto yy2; } yy7522: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7523; default: goto yy2; } yy7523: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7524; default: goto yy2; } yy7524: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7525; default: goto yy2; } yy7525: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7526; default: goto yy2; } yy7526: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7527; default: goto yy2; } yy7527: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7528; default: goto yy2; } yy7528: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7529; default: goto yy2; } yy7529: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7530; default: goto yy2; } yy7530: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7531; default: goto yy2; } yy7531: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7532; default: goto yy2; } yy7532: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7533; default: goto yy2; } yy7533: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7534; default: goto yy2; } yy7534: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7535; default: goto yy2; } yy7535: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7536; default: goto yy2; } yy7536: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7537; default: goto yy2; } yy7537: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7538; default: goto yy2; } yy7538: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7539; default: goto yy2; } yy7539: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7540; default: goto yy2; } yy7540: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7541; default: goto yy2; } yy7541: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7542; default: goto yy2; } yy7542: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7543; default: goto yy2; } yy7543: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7544; default: goto yy2; } yy7544: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7545; default: goto yy2; } yy7545: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7546; default: goto yy2; } yy7546: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7547; default: goto yy2; } yy7547: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7548; default: goto yy2; } yy7548: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7549; default: goto yy2; } yy7549: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7550; default: goto yy2; } yy7550: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7551; default: goto yy2; } yy7551: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7552; default: goto yy2; } yy7552: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7553; default: goto yy2; } yy7553: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7554; default: goto yy2; } yy7554: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7555; default: goto yy2; } yy7555: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7556; default: goto yy2; } yy7556: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy7557; default: goto yy2; } yy7557: yych = *++YYCURSOR; switch (yych) { case '8': goto yy7558; default: goto yy2; } yy7558: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7559; default: goto yy2; } yy7559: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7560; default: goto yy2; } yy7560: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7561; default: goto yy2; } yy7561: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7562; default: goto yy2; } yy7562: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7563; default: goto yy2; } yy7563: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7564; default: goto yy2; } yy7564: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7565; default: goto yy2; } yy7565: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7566; default: goto yy2; } yy7566: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7567; default: goto yy2; } yy7567: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7568; default: goto yy2; } yy7568: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7569; default: goto yy2; } yy7569: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7570; default: goto yy2; } yy7570: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7571; default: goto yy2; } yy7571: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7572; default: goto yy2; } yy7572: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7573; default: goto yy2; } yy7573: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7574; default: goto yy2; } yy7574: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7575; default: goto yy2; } yy7575: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7576; default: goto yy2; } yy7576: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7577; default: goto yy2; } yy7577: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7578; default: goto yy2; } yy7578: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7579; default: goto yy2; } yy7579: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7580; default: goto yy2; } yy7580: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7581; default: goto yy2; } yy7581: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7582; default: goto yy2; } yy7582: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7583; default: goto yy2; } yy7583: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7584; default: goto yy2; } yy7584: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7585; default: goto yy2; } yy7585: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7586; default: goto yy2; } yy7586: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7587; default: goto yy2; } yy7587: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7588; default: goto yy2; } yy7588: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7589; default: goto yy2; } yy7589: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7590; default: goto yy2; } yy7590: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7591; default: goto yy2; } yy7591: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7592; default: goto yy2; } yy7592: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7593; default: goto yy2; } yy7593: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7594; default: goto yy2; } yy7594: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7595; default: goto yy2; } yy7595: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7596; default: goto yy2; } yy7596: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7597; default: goto yy2; } yy7597: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7598; default: goto yy2; } yy7598: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7599; default: goto yy2; } yy7599: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7600; default: goto yy2; } yy7600: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7601; default: goto yy2; } yy7601: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7602; default: goto yy2; } yy7602: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7603; default: goto yy2; } yy7603: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7604; default: goto yy2; } yy7604: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7605; default: goto yy2; } yy7605: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7606; default: goto yy2; } yy7606: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7607; default: goto yy2; } yy7607: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7608; default: goto yy2; } yy7608: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7609; default: goto yy2; } yy7609: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7610; default: goto yy2; } yy7610: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7611; default: goto yy2; } yy7611: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7612; default: goto yy2; } yy7612: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7613; default: goto yy2; } yy7613: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7614; default: goto yy2; } yy7614: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7615; default: goto yy2; } yy7615: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7616; default: goto yy2; } yy7616: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7617; default: goto yy2; } yy7617: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7618; default: goto yy2; } yy7618: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7619; default: goto yy2; } yy7619: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7620; default: goto yy2; } yy7620: yych = *++YYCURSOR; switch (yych) { case 'D': goto yy7621; default: goto yy2; } yy7621: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7622; default: goto yy2; } yy7622: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7623; default: goto yy2; } yy7623: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7624; default: goto yy2; } yy7624: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7625; default: goto yy2; } yy7625: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7626; default: goto yy2; } yy7626: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7627; default: goto yy2; } yy7627: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7628; default: goto yy2; } yy7628: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7629; default: goto yy2; } yy7629: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7630; default: goto yy2; } yy7630: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7631; default: goto yy2; } yy7631: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7632; default: goto yy2; } yy7632: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7633; default: goto yy2; } yy7633: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7634; default: goto yy2; } yy7634: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7635; default: goto yy2; } yy7635: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7636; default: goto yy2; } yy7636: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7637; default: goto yy2; } yy7637: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7638; default: goto yy2; } yy7638: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7639; default: goto yy2; } yy7639: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7640; default: goto yy2; } yy7640: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7641; default: goto yy2; } yy7641: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7642; default: goto yy2; } yy7642: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7643; default: goto yy2; } yy7643: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7644; default: goto yy2; } yy7644: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7645; default: goto yy2; } yy7645: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7646; default: goto yy2; } yy7646: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7647; default: goto yy2; } yy7647: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7648; default: goto yy2; } yy7648: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7649; default: goto yy2; } yy7649: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7650; default: goto yy2; } yy7650: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7651; default: goto yy2; } yy7651: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7652; default: goto yy2; } yy7652: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7653; default: goto yy2; } yy7653: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7654; default: goto yy2; } yy7654: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7655; default: goto yy2; } yy7655: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7656; default: goto yy2; } yy7656: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7657; default: goto yy2; } yy7657: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7658; default: goto yy2; } yy7658: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7659; default: goto yy2; } yy7659: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7660; default: goto yy2; } yy7660: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7661; default: goto yy2; } yy7661: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7662; default: goto yy2; } yy7662: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7663; default: goto yy2; } yy7663: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7664; default: goto yy2; } yy7664: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7665; default: goto yy2; } yy7665: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7666; default: goto yy2; } yy7666: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7667; default: goto yy2; } yy7667: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7668; default: goto yy2; } yy7668: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7669; default: goto yy2; } yy7669: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7670; default: goto yy2; } yy7670: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7671; default: goto yy2; } yy7671: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7672; default: goto yy2; } yy7672: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7673; default: goto yy2; } yy7673: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7674; default: goto yy2; } yy7674: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7675; default: goto yy2; } yy7675: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7676; default: goto yy2; } yy7676: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7677; default: goto yy2; } yy7677: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7678; default: goto yy2; } yy7678: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7679; default: goto yy2; } yy7679: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7680; default: goto yy2; } yy7680: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7681; default: goto yy2; } yy7681: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7682; default: goto yy2; } yy7682: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7683; default: goto yy2; } yy7683: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7684; default: goto yy2; } yy7684: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy7685; default: goto yy2; } yy7685: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7686; default: goto yy2; } yy7686: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7687; default: goto yy2; } yy7687: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7688; default: goto yy2; } yy7688: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7689; default: goto yy2; } yy7689: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7690; default: goto yy2; } yy7690: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7691; default: goto yy2; } yy7691: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7692; default: goto yy2; } yy7692: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7693; default: goto yy2; } yy7693: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7694; default: goto yy2; } yy7694: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7695; default: goto yy2; } yy7695: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7696; default: goto yy2; } yy7696: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7697; default: goto yy2; } yy7697: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7698; default: goto yy2; } yy7698: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7699; default: goto yy2; } yy7699: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7700; default: goto yy2; } yy7700: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7701; default: goto yy2; } yy7701: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7702; default: goto yy2; } yy7702: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7703; default: goto yy2; } yy7703: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7704; default: goto yy2; } yy7704: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7705; default: goto yy2; } yy7705: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7706; default: goto yy2; } yy7706: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7707; default: goto yy2; } yy7707: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7708; default: goto yy2; } yy7708: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7709; default: goto yy2; } yy7709: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7710; default: goto yy2; } yy7710: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7711; default: goto yy2; } yy7711: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7712; default: goto yy2; } yy7712: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7713; default: goto yy2; } yy7713: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7714; default: goto yy2; } yy7714: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7715; default: goto yy2; } yy7715: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7716; default: goto yy2; } yy7716: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7717; default: goto yy2; } yy7717: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7718; default: goto yy2; } yy7718: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7719; default: goto yy2; } yy7719: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7720; default: goto yy2; } yy7720: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7721; default: goto yy2; } yy7721: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7722; default: goto yy2; } yy7722: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7723; default: goto yy2; } yy7723: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7724; default: goto yy2; } yy7724: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7725; default: goto yy2; } yy7725: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7726; default: goto yy2; } yy7726: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7727; default: goto yy2; } yy7727: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7728; default: goto yy2; } yy7728: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7729; default: goto yy2; } yy7729: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7730; default: goto yy2; } yy7730: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7731; default: goto yy2; } yy7731: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7732; default: goto yy2; } yy7732: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7733; default: goto yy2; } yy7733: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7734; default: goto yy2; } yy7734: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7735; default: goto yy2; } yy7735: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7736; default: goto yy2; } yy7736: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7737; default: goto yy2; } yy7737: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7738; default: goto yy2; } yy7738: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7739; default: goto yy2; } yy7739: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7740; default: goto yy2; } yy7740: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7741; default: goto yy2; } yy7741: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7742; default: goto yy2; } yy7742: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7743; default: goto yy2; } yy7743: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7744; default: goto yy2; } yy7744: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7745; default: goto yy2; } yy7745: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7746; default: goto yy2; } yy7746: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7747; default: goto yy2; } yy7747: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7748; default: goto yy2; } yy7748: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy7749; default: goto yy2; } yy7749: yych = *++YYCURSOR; switch (yych) { case '4': goto yy7750; default: goto yy2; } yy7750: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7751; default: goto yy2; } yy7751: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7752; default: goto yy2; } yy7752: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7753; default: goto yy2; } yy7753: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7754; default: goto yy2; } yy7754: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7755; default: goto yy2; } yy7755: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7756; default: goto yy2; } yy7756: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7757; default: goto yy2; } yy7757: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7758; default: goto yy2; } yy7758: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7759; default: goto yy2; } yy7759: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7760; default: goto yy2; } yy7760: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7761; default: goto yy2; } yy7761: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7762; default: goto yy2; } yy7762: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7763; default: goto yy2; } yy7763: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7764; default: goto yy2; } yy7764: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7765; default: goto yy2; } yy7765: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7766; default: goto yy2; } yy7766: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7767; default: goto yy2; } yy7767: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7768; default: goto yy2; } yy7768: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7769; default: goto yy2; } yy7769: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7770; default: goto yy2; } yy7770: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7771; default: goto yy2; } yy7771: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7772; default: goto yy2; } yy7772: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7773; default: goto yy2; } yy7773: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7774; default: goto yy2; } yy7774: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7775; default: goto yy2; } yy7775: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7776; default: goto yy2; } yy7776: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7777; default: goto yy2; } yy7777: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7778; default: goto yy2; } yy7778: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7779; default: goto yy2; } yy7779: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7780; default: goto yy2; } yy7780: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7781; default: goto yy2; } yy7781: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7782; default: goto yy2; } yy7782: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7783; default: goto yy2; } yy7783: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7784; default: goto yy2; } yy7784: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7785; default: goto yy2; } yy7785: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7786; default: goto yy2; } yy7786: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7787; default: goto yy2; } yy7787: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7788; default: goto yy2; } yy7788: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7789; default: goto yy2; } yy7789: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7790; default: goto yy2; } yy7790: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7791; default: goto yy2; } yy7791: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7792; default: goto yy2; } yy7792: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7793; default: goto yy2; } yy7793: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7794; default: goto yy2; } yy7794: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7795; default: goto yy2; } yy7795: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7796; default: goto yy2; } yy7796: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7797; default: goto yy2; } yy7797: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7798; default: goto yy2; } yy7798: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7799; default: goto yy2; } yy7799: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7800; default: goto yy2; } yy7800: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7801; default: goto yy2; } yy7801: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7802; default: goto yy2; } yy7802: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7803; default: goto yy2; } yy7803: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7804; default: goto yy2; } yy7804: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7805; default: goto yy2; } yy7805: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7806; default: goto yy2; } yy7806: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7807; default: goto yy2; } yy7807: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7808; default: goto yy2; } yy7808: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7809; default: goto yy2; } yy7809: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7810; default: goto yy2; } yy7810: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7811; default: goto yy2; } yy7811: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7812; default: goto yy2; } yy7812: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy7813; default: goto yy2; } yy7813: yych = *++YYCURSOR; switch (yych) { case '8': goto yy7814; default: goto yy2; } yy7814: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7815; default: goto yy2; } yy7815: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7816; default: goto yy2; } yy7816: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7817; default: goto yy2; } yy7817: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7818; default: goto yy2; } yy7818: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7819; default: goto yy2; } yy7819: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7820; default: goto yy2; } yy7820: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7821; default: goto yy2; } yy7821: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7822; default: goto yy2; } yy7822: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7823; default: goto yy2; } yy7823: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7824; default: goto yy2; } yy7824: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7825; default: goto yy2; } yy7825: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7826; default: goto yy2; } yy7826: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7827; default: goto yy2; } yy7827: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7828; default: goto yy2; } yy7828: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7829; default: goto yy2; } yy7829: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7830; default: goto yy2; } yy7830: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7831; default: goto yy2; } yy7831: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7832; default: goto yy2; } yy7832: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7833; default: goto yy2; } yy7833: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7834; default: goto yy2; } yy7834: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7835; default: goto yy2; } yy7835: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7836; default: goto yy2; } yy7836: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7837; default: goto yy2; } yy7837: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7838; default: goto yy2; } yy7838: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7839; default: goto yy2; } yy7839: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7840; default: goto yy2; } yy7840: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7841; default: goto yy2; } yy7841: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7842; default: goto yy2; } yy7842: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7843; default: goto yy2; } yy7843: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7844; default: goto yy2; } yy7844: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7845; default: goto yy2; } yy7845: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7846; default: goto yy2; } yy7846: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7847; default: goto yy2; } yy7847: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7848; default: goto yy2; } yy7848: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7849; default: goto yy2; } yy7849: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7850; default: goto yy2; } yy7850: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7851; default: goto yy2; } yy7851: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7852; default: goto yy2; } yy7852: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7853; default: goto yy2; } yy7853: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7854; default: goto yy2; } yy7854: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7855; default: goto yy2; } yy7855: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7856; default: goto yy2; } yy7856: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7857; default: goto yy2; } yy7857: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7858; default: goto yy2; } yy7858: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7859; default: goto yy2; } yy7859: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7860; default: goto yy2; } yy7860: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7861; default: goto yy2; } yy7861: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7862; default: goto yy2; } yy7862: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7863; default: goto yy2; } yy7863: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7864; default: goto yy2; } yy7864: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7865; default: goto yy2; } yy7865: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7866; default: goto yy2; } yy7866: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7867; default: goto yy2; } yy7867: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7868; default: goto yy2; } yy7868: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7869; default: goto yy2; } yy7869: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7870; default: goto yy2; } yy7870: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7871; default: goto yy2; } yy7871: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7872; default: goto yy2; } yy7872: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7873; default: goto yy2; } yy7873: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7874; default: goto yy2; } yy7874: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7875; default: goto yy2; } yy7875: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7876; default: goto yy2; } yy7876: yych = *++YYCURSOR; switch (yych) { case 'E': goto yy7877; default: goto yy2; } yy7877: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy7878; default: goto yy2; } yy7878: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7879; default: goto yy2; } yy7879: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7880; default: goto yy2; } yy7880: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7881; default: goto yy2; } yy7881: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7882; default: goto yy2; } yy7882: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7883; default: goto yy2; } yy7883: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7884; default: goto yy2; } yy7884: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7885; default: goto yy2; } yy7885: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7886; default: goto yy2; } yy7886: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7887; default: goto yy2; } yy7887: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7888; default: goto yy2; } yy7888: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7889; default: goto yy2; } yy7889: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7890; default: goto yy2; } yy7890: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7891; default: goto yy2; } yy7891: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7892; default: goto yy2; } yy7892: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7893; default: goto yy2; } yy7893: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7894; default: goto yy2; } yy7894: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7895; default: goto yy2; } yy7895: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7896; default: goto yy2; } yy7896: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7897; default: goto yy2; } yy7897: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7898; default: goto yy2; } yy7898: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7899; default: goto yy2; } yy7899: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7900; default: goto yy2; } yy7900: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7901; default: goto yy2; } yy7901: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7902; default: goto yy2; } yy7902: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7903; default: goto yy2; } yy7903: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7904; default: goto yy2; } yy7904: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7905; default: goto yy2; } yy7905: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7906; default: goto yy2; } yy7906: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7907; default: goto yy2; } yy7907: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7908; default: goto yy2; } yy7908: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7909; default: goto yy2; } yy7909: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7910; default: goto yy2; } yy7910: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7911; default: goto yy2; } yy7911: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7912; default: goto yy2; } yy7912: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7913; default: goto yy2; } yy7913: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7914; default: goto yy2; } yy7914: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7915; default: goto yy2; } yy7915: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7916; default: goto yy2; } yy7916: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7917; default: goto yy2; } yy7917: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7918; default: goto yy2; } yy7918: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7919; default: goto yy2; } yy7919: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7920; default: goto yy2; } yy7920: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7921; default: goto yy2; } yy7921: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7922; default: goto yy2; } yy7922: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7923; default: goto yy2; } yy7923: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7924; default: goto yy2; } yy7924: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7925; default: goto yy2; } yy7925: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7926; default: goto yy2; } yy7926: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7927; default: goto yy2; } yy7927: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7928; default: goto yy2; } yy7928: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7929; default: goto yy2; } yy7929: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7930; default: goto yy2; } yy7930: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7931; default: goto yy2; } yy7931: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7932; default: goto yy2; } yy7932: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7933; default: goto yy2; } yy7933: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7934; default: goto yy2; } yy7934: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7935; default: goto yy2; } yy7935: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7936; default: goto yy2; } yy7936: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7937; default: goto yy2; } yy7937: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy7938; default: goto yy2; } yy7938: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7939; default: goto yy2; } yy7939: yych = *++YYCURSOR; switch (yych) { case '1': goto yy7940; default: goto yy2; } yy7940: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy7941; default: goto yy2; } yy7941: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7942; default: goto yy2; } yy7942: yych = *++YYCURSOR; switch (yych) { case '0': goto yy7943; default: goto yy2; } yy7943: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7944; default: goto yy2; } yy7944: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7945; default: goto yy2; } yy7945: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7946; default: goto yy2; } yy7946: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7947; default: goto yy2; } yy7947: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7948; default: goto yy2; } yy7948: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7949; default: goto yy2; } yy7949: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7950; default: goto yy2; } yy7950: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7951; default: goto yy2; } yy7951: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7952; default: goto yy2; } yy7952: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7953; default: goto yy2; } yy7953: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7954; default: goto yy2; } yy7954: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7955; default: goto yy2; } yy7955: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7956; default: goto yy2; } yy7956: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7957; default: goto yy2; } yy7957: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7958; default: goto yy2; } yy7958: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7959; default: goto yy2; } yy7959: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7960; default: goto yy2; } yy7960: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7961; default: goto yy2; } yy7961: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7962; default: goto yy2; } yy7962: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7963; default: goto yy2; } yy7963: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7964; default: goto yy2; } yy7964: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7965; default: goto yy2; } yy7965: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7966; default: goto yy2; } yy7966: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7967; default: goto yy2; } yy7967: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7968; default: goto yy2; } yy7968: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7969; default: goto yy2; } yy7969: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7970; default: goto yy2; } yy7970: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7971; default: goto yy2; } yy7971: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7972; default: goto yy2; } yy7972: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7973; default: goto yy2; } yy7973: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7974; default: goto yy2; } yy7974: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7975; default: goto yy2; } yy7975: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7976; default: goto yy2; } yy7976: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7977; default: goto yy2; } yy7977: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7978; default: goto yy2; } yy7978: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7979; default: goto yy2; } yy7979: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7980; default: goto yy2; } yy7980: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7981; default: goto yy2; } yy7981: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7982; default: goto yy2; } yy7982: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7983; default: goto yy2; } yy7983: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7984; default: goto yy2; } yy7984: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7985; default: goto yy2; } yy7985: yych = *++YYCURSOR; switch (yych) { case '_': goto yy7986; default: goto yy2; } yy7986: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7987; default: goto yy2; } yy7987: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7988; default: goto yy2; } yy7988: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7989; default: goto yy2; } yy7989: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7990; default: goto yy2; } yy7990: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7991; default: goto yy2; } yy7991: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7992; default: goto yy2; } yy7992: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7993; default: goto yy2; } yy7993: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7994; default: goto yy2; } yy7994: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7995; default: goto yy2; } yy7995: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7996; default: goto yy2; } yy7996: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7997; default: goto yy2; } yy7997: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7998; default: goto yy2; } yy7998: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy7999; default: goto yy2; } yy7999: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8000; default: goto yy2; } yy8000: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8001; default: goto yy2; } yy8001: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy8002; default: goto yy2; } yy8002: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8003; default: goto yy2; } yy8003: yych = *++YYCURSOR; switch (yych) { case '1': goto yy8004; default: goto yy2; } yy8004: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy8005; default: goto yy2; } yy8005: yych = *++YYCURSOR; switch (yych) { case '4': goto yy8006; default: goto yy2; } yy8006: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8007; default: goto yy2; } yy8007: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8008; default: goto yy2; } yy8008: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8009; default: goto yy2; } yy8009: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8010; default: goto yy2; } yy8010: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8011; default: goto yy2; } yy8011: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8012; default: goto yy2; } yy8012: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8013; default: goto yy2; } yy8013: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8014; default: goto yy2; } yy8014: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8015; default: goto yy2; } yy8015: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8016; default: goto yy2; } yy8016: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8017; default: goto yy2; } yy8017: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8018; default: goto yy2; } yy8018: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8019; default: goto yy2; } yy8019: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8020; default: goto yy2; } yy8020: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8021; default: goto yy2; } yy8021: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8022; default: goto yy2; } yy8022: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8023; default: goto yy2; } yy8023: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8024; default: goto yy2; } yy8024: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8025; default: goto yy2; } yy8025: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8026; default: goto yy2; } yy8026: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8027; default: goto yy2; } yy8027: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8028; default: goto yy2; } yy8028: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8029; default: goto yy2; } yy8029: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8030; default: goto yy2; } yy8030: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8031; default: goto yy2; } yy8031: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8032; default: goto yy2; } yy8032: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8033; default: goto yy2; } yy8033: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8034; default: goto yy2; } yy8034: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8035; default: goto yy2; } yy8035: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8036; default: goto yy2; } yy8036: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8037; default: goto yy2; } yy8037: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8038; default: goto yy2; } yy8038: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8039; default: goto yy2; } yy8039: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8040; default: goto yy2; } yy8040: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8041; default: goto yy2; } yy8041: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8042; default: goto yy2; } yy8042: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8043; default: goto yy2; } yy8043: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8044; default: goto yy2; } yy8044: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8045; default: goto yy2; } yy8045: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8046; default: goto yy2; } yy8046: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8047; default: goto yy2; } yy8047: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8048; default: goto yy2; } yy8048: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8049; default: goto yy2; } yy8049: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8050; default: goto yy2; } yy8050: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8051; default: goto yy2; } yy8051: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8052; default: goto yy2; } yy8052: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8053; default: goto yy2; } yy8053: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8054; default: goto yy2; } yy8054: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8055; default: goto yy2; } yy8055: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8056; default: goto yy2; } yy8056: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8057; default: goto yy2; } yy8057: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8058; default: goto yy2; } yy8058: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8059; default: goto yy2; } yy8059: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8060; default: goto yy2; } yy8060: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8061; default: goto yy2; } yy8061: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8062; default: goto yy2; } yy8062: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8063; default: goto yy2; } yy8063: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8064; default: goto yy2; } yy8064: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8065; default: goto yy2; } yy8065: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy8066; default: goto yy2; } yy8066: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8067; default: goto yy2; } yy8067: yych = *++YYCURSOR; switch (yych) { case '1': goto yy8068; default: goto yy2; } yy8068: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy8069; default: goto yy2; } yy8069: yych = *++YYCURSOR; switch (yych) { case '8': goto yy8070; default: goto yy2; } yy8070: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8071; default: goto yy2; } yy8071: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8072; default: goto yy2; } yy8072: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8073; default: goto yy2; } yy8073: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8074; default: goto yy2; } yy8074: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8075; default: goto yy2; } yy8075: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8076; default: goto yy2; } yy8076: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8077; default: goto yy2; } yy8077: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8078; default: goto yy2; } yy8078: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8079; default: goto yy2; } yy8079: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8080; default: goto yy2; } yy8080: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8081; default: goto yy2; } yy8081: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8082; default: goto yy2; } yy8082: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8083; default: goto yy2; } yy8083: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8084; default: goto yy2; } yy8084: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8085; default: goto yy2; } yy8085: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8086; default: goto yy2; } yy8086: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8087; default: goto yy2; } yy8087: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8088; default: goto yy2; } yy8088: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8089; default: goto yy2; } yy8089: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8090; default: goto yy2; } yy8090: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8091; default: goto yy2; } yy8091: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8092; default: goto yy2; } yy8092: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8093; default: goto yy2; } yy8093: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8094; default: goto yy2; } yy8094: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8095; default: goto yy2; } yy8095: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8096; default: goto yy2; } yy8096: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8097; default: goto yy2; } yy8097: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8098; default: goto yy2; } yy8098: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8099; default: goto yy2; } yy8099: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8100; default: goto yy2; } yy8100: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8101; default: goto yy2; } yy8101: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8102; default: goto yy2; } yy8102: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8103; default: goto yy2; } yy8103: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8104; default: goto yy2; } yy8104: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8105; default: goto yy2; } yy8105: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8106; default: goto yy2; } yy8106: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8107; default: goto yy2; } yy8107: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8108; default: goto yy2; } yy8108: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8109; default: goto yy2; } yy8109: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8110; default: goto yy2; } yy8110: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8111; default: goto yy2; } yy8111: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8112; default: goto yy2; } yy8112: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8113; default: goto yy2; } yy8113: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8114; default: goto yy2; } yy8114: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8115; default: goto yy2; } yy8115: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8116; default: goto yy2; } yy8116: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8117; default: goto yy2; } yy8117: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8118; default: goto yy2; } yy8118: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8119; default: goto yy2; } yy8119: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8120; default: goto yy2; } yy8120: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8121; default: goto yy2; } yy8121: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8122; default: goto yy2; } yy8122: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8123; default: goto yy2; } yy8123: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8124; default: goto yy2; } yy8124: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8125; default: goto yy2; } yy8125: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8126; default: goto yy2; } yy8126: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8127; default: goto yy2; } yy8127: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8128; default: goto yy2; } yy8128: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8129; default: goto yy2; } yy8129: yych = *++YYCURSOR; switch (yych) { case 'x': goto yy8130; default: goto yy2; } yy8130: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8131; default: goto yy2; } yy8131: yych = *++YYCURSOR; switch (yych) { case '1': goto yy8132; default: goto yy2; } yy8132: yych = *++YYCURSOR; switch (yych) { case 'F': goto yy8133; default: goto yy2; } yy8133: yych = *++YYCURSOR; switch (yych) { case 'C': goto yy8134; default: goto yy2; } yy8134: yych = *++YYCURSOR; switch (yych) { case '0': goto yy8135; default: goto yy2; } yy8135: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8136; default: goto yy2; } yy8136: yych = *++YYCURSOR; switch (yych) { case '8': goto yy8137; default: goto yy2; } yy8137: yych = *++YYCURSOR; switch (yych) { case 't': goto yy8138; default: goto yy2; } yy8138: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy8139; default: goto yy2; } yy8139: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8140; default: goto yy2; } yy8140: yych = *++YYCURSOR; switch (yych) { case 'K': goto yy8141; default: goto yy2; } yy8141: yych = *++YYCURSOR; switch (yych) { case 'B': goto yy8142; default: goto yy2; } yy8142: yych = *++YYCURSOR; switch (yych) { case 'y': goto yy8143; default: goto yy2; } yy8143: yych = *++YYCURSOR; switch (yych) { case 't': goto yy8144; default: goto yy2; } yy8144: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy8145; default: goto yy2; } yy8145: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8146; default: goto yy2; } yy8146: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8147; default: goto yy2; } yy8147: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8148; default: goto yy2; } yy8148: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8149; default: goto yy2; } yy8149: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8150; default: goto yy2; } yy8150: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8151; default: goto yy2; } yy8151: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8152; default: goto yy2; } yy8152: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8153; default: goto yy2; } yy8153: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8154; default: goto yy2; } yy8154: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8155; default: goto yy2; } yy8155: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8156; default: goto yy2; } yy8156: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8157; default: goto yy2; } yy8157: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8158; default: goto yy2; } yy8158: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8159; default: goto yy2; } yy8159: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8160; default: goto yy2; } yy8160: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8161; default: goto yy2; } yy8161: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8162; default: goto yy2; } yy8162: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8163; default: goto yy2; } yy8163: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8164; default: goto yy2; } yy8164: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8165; default: goto yy2; } yy8165: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8166; default: goto yy2; } yy8166: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8167; default: goto yy2; } yy8167: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8168; default: goto yy2; } yy8168: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8169; default: goto yy2; } yy8169: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8170; default: goto yy2; } yy8170: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8171; default: goto yy2; } yy8171: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8172; default: goto yy2; } yy8172: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8173; default: goto yy2; } yy8173: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8174; default: goto yy2; } yy8174: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8175; default: goto yy2; } yy8175: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8176; default: goto yy2; } yy8176: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8177; default: goto yy2; } yy8177: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8178; default: goto yy2; } yy8178: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8179; default: goto yy2; } yy8179: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8180; default: goto yy2; } yy8180: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8181; default: goto yy2; } yy8181: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8182; default: goto yy2; } yy8182: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8183; default: goto yy2; } yy8183: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8184; default: goto yy2; } yy8184: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8185; default: goto yy2; } yy8185: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8186; default: goto yy2; } yy8186: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8187; default: goto yy2; } yy8187: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8188; default: goto yy2; } yy8188: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8189; default: goto yy2; } yy8189: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8190; default: goto yy2; } yy8190: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8191; default: goto yy2; } yy8191: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8192; default: goto yy2; } yy8192: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8193; default: goto yy2; } yy8193: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy8194; default: goto yy2; } yy8194: yych = *++YYCURSOR; switch (yych) { case 'n': goto yy8195; default: goto yy2; } yy8195: yych = *++YYCURSOR; switch (yych) { case 'd': goto yy8196; default: goto yy2; } yy8196: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8197; default: goto yy2; } yy8197: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy8198; default: goto yy2; } yy8198: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy8199; default: goto yy2; } yy8199: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy8200; default: goto yy2; } yy8200: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy8201; default: goto yy2; } yy8201: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8202; default: goto yy2; } yy8202: yych = *++YYCURSOR; switch (yych) { case 'i': goto yy8203; default: goto yy2; } yy8203: yych = *++YYCURSOR; switch (yych) { case 's': goto yy8204; default: goto yy2; } yy8204: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8205; default: goto yy2; } yy8205: yych = *++YYCURSOR; switch (yych) { case 't': goto yy8206; default: goto yy2; } yy8206: yych = *++YYCURSOR; switch (yych) { case 'h': goto yy8207; default: goto yy2; } yy8207: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy8208; default: goto yy2; } yy8208: yych = *++YYCURSOR; switch (yych) { case '_': goto yy8209; default: goto yy2; } yy8209: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy8210; default: goto yy2; } yy8210: yych = *++YYCURSOR; switch (yych) { case 'v': goto yy8211; default: goto yy2; } yy8211: yych = *++YYCURSOR; switch (yych) { case 'e': goto yy8212; default: goto yy2; } yy8212: yych = *++YYCURSOR; switch (yych) { case 'r': goto yy8213; default: goto yy2; } yy8213: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy8214; default: goto yy2; } yy8214: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy8215; default: goto yy2; } yy8215: yych = *++YYCURSOR; switch (yych) { case 'f': goto yy8216; default: goto yy2; } yy8216: yych = *++YYCURSOR; switch (yych) { case 'o': goto yy8217; default: goto yy2; } yy8217: yych = *++YYCURSOR; switch (yych) { case 'w': goto yy8218; default: goto yy2; } yy8218: yych = *++YYCURSOR; switch (yych) { case '?': goto yy8219; default: goto yy2; } yy8219: ++YYCURSOR; #line 2 "overflow-1.re" {return 'a';} #line 49316 "" } #line 3 "overflow-1.re" re2c-0.13.5/test/condition_01.c.re0000775000076500007660000000004011016275331013403 00000000000000/*!re2c < a , b > "ab" { } */ re2c-0.13.5/test/bug1708378.ib.c0000775000076500007660000075522411016275331012465 00000000000000/* Generated by re2c */ #define NULL ((char*) 0) #define YYCTYPE unsigned char #define YYCURSOR *p #define YYLIMIT *p #define YYMARKER q #define YYFILL(n) /* backtrack to return other, semi-overlapped tokens; e.g. allow "abcdef" to return both "abc" and "cde" as tokens */ #define RET(x) { YYCURSOR = YYMARKER; return (x); } char *Mail_SpamAssassin_CompiledRegexps_body_0_scan1(unsigned char **p){ unsigned char *q; { YYCTYPE yych; unsigned int yyaccept = 0; if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60); yych = *YYCURSOR; if (yych <= '.') { if (yych <= '!') { if (yych <= 0x1B) { if (yych <= 0x1A) goto yy18; goto yy14; } else { if (yych <= 0x1F) goto yy18; if (yych >= '!') goto yy4; } } else { if (yych <= '+') { if (yych == '*') goto yy5; goto yy18; } else { if (yych <= ',') goto yy6; if (yych <= '-') goto yy7; goto yy8; } } } else { if (yych <= '=') { if (yych <= '1') { if (yych <= '/') goto yy18; if (yych <= '0') goto yy9; goto yy10; } else { if (yych <= '2') goto yy11; if (yych <= '3') goto yy12; goto yy18; } } else { if (yych <= 'a') { if (yych <= '>') goto yy13; if (yych <= '`') goto yy18; goto yy15; } else { if (yych <= 'b') goto yy16; if (yych <= 'c') goto yy17; goto yy18; } } } yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'g') { if (yych <= 'a') { if (yych <= '?') { if (yych == '1') goto yy4147; } else { if (yych <= '@') goto yy4146; if (yych >= 'a') goto yy4145; } } else { if (yych <= 'd') { if (yych <= 'b') goto yy3; if (yych <= 'c') goto yy4144; goto yy4143; } else { if (yych <= 'e') goto yy4142; if (yych >= 'g') goto yy4141; } } } else { if (yych <= 'p') { if (yych <= 'l') { if (yych <= 'h') goto yy4140; if (yych <= 'i') goto yy4139; } else { if (yych <= 'm') goto yy4138; if (yych >= 'p') goto yy4137; } } else { if (yych <= 's') { if (yych <= 'q') goto yy3; if (yych <= 'r') goto yy4136; goto yy4135; } else { if (yych <= 't') goto yy4134; if (yych == 'y') goto yy4133; } } } yy3: { return NULL; } yy4: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '!') goto yy4024; goto yy3; yy5: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy3964; goto yy3; yy6: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy3919; goto yy3; yy7: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy3894; if (yych == 'o') goto yy3893; goto yy3; yy8: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') goto yy3; if (yych <= 'o') goto yy3888; if (yych <= 'p') goto yy3887; goto yy3; yy9: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '0') goto yy3862; if (yych == '5') goto yy3861; goto yy3; yy10: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '0') goto yy3799; goto yy3; yy11: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '5') goto yy3754; goto yy3; yy12: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy3726; goto yy3; yy13: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy3708; goto yy3; yy14: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych == '$') goto yy3705; goto yy3; yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= 'c') { if (yych <= ' ') { if (yych <= 0x1F) goto yy3; goto yy2142; } else { if (yych <= 'a') goto yy3; if (yych <= 'b') goto yy2141; goto yy2140; } } else { if (yych <= 'f') { if (yych <= 'd') goto yy2139; if (yych <= 'e') goto yy3; goto yy2138; } else { if (yych <= 'k') goto yy3; if (yych <= 'l') goto yy2137; goto yy2136; } } } else { if (yych <= 'r') { if (yych <= 'o') { if (yych <= 'n') goto yy2135; goto yy3; } else { if (yych <= 'p') goto yy2134; if (yych <= 'q') goto yy3; goto yy2133; } } else { if (yych <= 'u') { if (yych <= 's') goto yy2132; if (yych <= 't') goto yy2131; goto yy2130; } else { if (yych <= 'v') goto yy2129; if (yych <= 'w') goto yy2128; goto yy3; } } } yy16: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); switch (yych) { case 'a': goto yy782; case 'e': goto yy781; case 'i': goto yy780; case 'l': goto yy779; case 'o': goto yy778; case 'r': goto yy777; case 's': goto yy776; case 'u': goto yy775; default: goto yy3; } yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'f') { if (yych <= '`') { if (yych == '0') goto yy27; goto yy3; } else { if (yych <= 'a') goto yy26; if (yych <= 'd') goto yy3; if (yych <= 'e') goto yy25; goto yy24; } } else { if (yych <= 'i') { if (yych <= 'g') goto yy3; if (yych <= 'h') goto yy23; goto yy22; } else { if (yych <= 'j') goto yy3; if (yych <= 'k') goto yy21; if (yych <= 'l') goto yy19; goto yy3; } } yy18: yych = *++YYCURSOR; goto yy3; yy19: yych = *++YYCURSOR; if (yych == 'a') goto yy735; yy20: YYCURSOR = YYMARKER; if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy46; } } else { goto yy738; } } else { if (yyaccept <= 3) { goto yy2116; } else { goto yy3187; } } yy21: yych = *++YYCURSOR; if (yych == '-') goto yy678; if (yych == 'e') goto yy679; goto yy20; yy22: yych = *++YYCURSOR; if (yych == 'a') goto yy664; if (yych == 'l') goto yy665; goto yy20; yy23: yych = *++YYCURSOR; if (yych <= 'i') { if (yych == 'e') goto yy113; if (yych <= 'h') goto yy20; goto yy114; } else { if (yych <= 'r') goto yy20; if (yych <= 's') goto yy115; if (yych <= 't') goto yy116; goto yy20; } yy24: yych = *++YYCURSOR; if (yych == 'r') goto yy110; goto yy20; yy25: yych = *++YYCURSOR; if (yych == 'n') goto yy96; goto yy20; yy26: yych = *++YYCURSOR; if (yych <= 'n') { if (yych <= 'k') goto yy20; if (yych <= 'l') goto yy34; if (yych <= 'm') goto yy35; goto yy36; } else { if (yych <= 'q') goto yy20; if (yych <= 'r') goto yy37; if (yych <= 's') goto yy38; goto yy20; } yy27: yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; ++YYCURSOR; {RET("FB_C0MPANY");} yy34: yych = *++YYCURSOR; if (yych == 'i') goto yy93; goto yy20; yy35: yych = *++YYCURSOR; if (yych == 'p') goto yy81; goto yy20; yy36: yych = *++YYCURSOR; if (yych == ' ') goto yy57; if (yych == 'a') goto yy56; goto yy20; yy37: yych = *++YYCURSOR; if (yych == 't') goto yy51; goto yy20; yy38: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy47; yy46: {RET("__KAM_LOTTO3");} yy47: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; ++YYCURSOR; {RET("__CASHPRZ __KAM_LOTTO3");} yy51: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__ZMIde_ROLEX5");} yy56: yych = *++YYCURSOR; if (yych == 'd') goto yy70; goto yy20; yy57: yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2 FB_CAN_LONGER");} yy70: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("NA_DOLLARS");} yy81: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ':') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("DOS_STOCK_CDYV_GENERIC");} yy93: yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__DRUGS_ERECTILE4");} yy96: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; ++YYCURSOR; {RET("__FRAUD_BEP");} yy110: yych = *++YYCURSOR; if (yych != 'i') goto yy20; ++YYCURSOR; {RET("KAM_STOCKTIP14 __DOS_BODY_FRI");} yy113: yych = *++YYCURSOR; if (yych == 'r') goto yy606; goto yy20; yy114: yych = *++YYCURSOR; if (yych == 'n') goto yy579; goto yy20; yy115: yych = *++YYCURSOR; if (yych == 't') goto yy538; goto yy20; yy116: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych <= 'm') { if (yych != ' ') goto yy20; } else { if (yych <= 'n') goto yy119; if (yych == 's') goto yy120; goto yy20; } yych = *++YYCURSOR; if (yych == 'i') goto yy459; if (yych == 'm') goto yy458; goto yy20; yy119: yych = *++YYCURSOR; if (yych == ' ') goto yy177; goto yy20; yy120: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_DATING2");} yy177: yych = *++YYCURSOR; if (yych <= 's') { if (yych == 'b') goto yy178; if (yych <= 'r') goto yy20; goto yy179; } else { if (yych <= 'u') { if (yych <= 't') goto yy20; goto yy180; } else { if (yych == 'w') goto yy181; goto yy20; } } yy178: yych = *++YYCURSOR; if (yych == 'e') goto yy404; goto yy20; yy179: yych = *++YYCURSOR; if (yych == 'i') goto yy319; goto yy20; yy180: yych = *++YYCURSOR; if (yych == 'n') goto yy265; goto yy20; yy181: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy185; if (yych == 'u') goto yy186; goto yy20; yy185: yych = *++YYCURSOR; if (yych == 'i') goto yy215; goto yy20; yy186: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_TRAVEL1");} yy215: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("ZMIde_AUFTRAG2");} yy265: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("ZMIde_LAWGRDE1");} yy319: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy322; if (yych == 'm') goto yy323; goto yy20; yy322: yych = *++YYCURSOR; if (yych == 'x') goto yy374; goto yy20; yy323: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBEARN1");} yy374: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; ++YYCURSOR; {RET("DIET_1 __DRUG_RA_PRICE1 __ZMIde_JOBEARN2");} yy404: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("ZMIde_JOBSEARCH3");} yy458: yych = *++YYCURSOR; if (yych == 'a') goto yy515; goto yy20; yy459: yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; ++YYCURSOR; {RET("__ZMIde_BIOMETDE2");} yy515: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("ZMIde_PORNTALK2");} yy538: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("ZMIde_JOBSEARCH2");} yy579: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("KAM_STOCKTIP6");} yy606: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; ++YYCURSOR; {RET("__ZMIde_SALE4");} yy664: yych = *++YYCURSOR; if (yych == 'l') goto yy674; goto yy20; yy665: yych = *++YYCURSOR; if (yych == 'a') goto yy667; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych == 'a') goto yy671; goto yy20; yy667: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__DRUGS_ERECTILE4");} yy671: yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__DRUGS_ERECTILE4");} yy674: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("DRUGS_SMEAR1 DRUG_ED_CAPS __DRUGS_ERECTILE_C");} yy678: yych = *++YYCURSOR; if (yych == 'g') goto yy726; goto yy20; yy679: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_STOCK __FB_S_STOCK __ZMIde_PRIVGEIL6");} yy726: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("ZMIde_MONEYBACK");} yy735: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy740; if (yych == 's') goto yy739; yy738: {RET("__KAM_LOTTO3");} yy739: yych = *++YYCURSOR; if (yych == ' ') goto yy760; goto yy20; yy740: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy743; if (yych == 'i') goto yy744; goto yy20; yy743: yych = *++YYCURSOR; if (yych == ' ') goto yy753; goto yy20; yy744: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_MON __FRAUD_JYG __FRAUD_KJV __KAM_LOTTO3");} yy753: yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_MON __FRAUD_JYG __FRAUD_KJV __KAM_LOTTO3");} yy760: yych = *++YYCURSOR; if (yych == 'a') goto yy762; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych == 'f') goto yy768; goto yy20; yy762: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__KAM_LOTTO3 __KAM_LOTTO4");} yy768: yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__KAM_LOTTO3 __KAM_LOTTO4");} yy775: yych = *++YYCURSOR; if (yych <= 'q') goto yy20; if (yych <= 'r') goto yy2109; if (yych <= 's') goto yy2110; goto yy20; yy776: yych = *++YYCURSOR; if (yych == 'c') goto yy2107; goto yy20; yy777: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy2059; case 'e': goto yy2060; case 'i': goto yy2061; case 'o': goto yy2062; default: goto yy20; } yy778: yych = *++YYCURSOR; if (yych == 'n') goto yy1990; goto yy20; yy779: yych = *++YYCURSOR; if (yych == 'i') goto yy1910; if (yych == 'o') goto yy1911; goto yy20; yy780: yych = *++YYCURSOR; if (yych == 'g') goto yy1866; if (yych == 't') goto yy1867; goto yy20; yy781: yych = *++YYCURSOR; if (yych <= 'i') { if (yych <= ' ') { if (yych <= 0x1F) goto yy20; goto yy889; } else { if (yych <= 'g') goto yy20; if (yych <= 'h') goto yy890; goto yy891; } } else { if (yych <= 's') { if (yych <= 'q') goto yy20; if (yych <= 'r') goto yy892; goto yy893; } else { if (yych == 'v') goto yy894; goto yy20; } } yy782: yych = *++YYCURSOR; if (yych <= 'm') { if (yych != 'c') goto yy20; } else { if (yych <= 'n') goto yy784; if (yych == 'r') goto yy785; goto yy20; } yych = *++YYCURSOR; if (yych == 'h') goto yy883; goto yy20; yy784: yych = *++YYCURSOR; if (yych == 'k') goto yy809; goto yy20; yy785: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'q') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; ++YYCURSOR; {RET("ZMIde_INVEST3");} yy809: yych = *++YYCURSOR; if (yych <= 'i') { if (yych == ' ') goto yy810; if (yych <= 'h') goto yy20; goto yy811; } else { if (yych <= 'k') { if (yych <= 'j') goto yy20; goto yy812; } else { if (yych == 'v') goto yy813; goto yy20; } } yy810: yych = *++YYCURSOR; if (yych == 'o') goto yy872; goto yy20; yy811: yych = *++YYCURSOR; if (yych == 'n') goto yy864; goto yy20; yy812: yych = *++YYCURSOR; if (yych == 'o') goto yy857; goto yy20; yy813: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBHAVE18");} yy857: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBHAVE7");} yy864: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("BANKING_LAWS");} yy872: yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("__FRAUD_BEP __FRAUD_NEB");} yy883: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__BACHELORS");} yy889: yych = *++YYCURSOR; if (yych == 'w') goto yy1854; goto yy20; yy890: yych = *++YYCURSOR; if (yych == 'e') goto yy1806; goto yy20; yy891: yych = *++YYCURSOR; if (yych == ' ') goto yy1595; goto yy20; yy892: yych = *++YYCURSOR; if (yych <= 'r') { if (yych <= ' ') { if (yych <= 0x1F) goto yy20; goto yy1039; } else { if (yych == 'h') goto yy1038; goto yy20; } } else { if (yych <= 'u') { if (yych <= 's') goto yy1037; if (yych <= 't') goto yy20; goto yy1036; } else { if (yych == 'w') goto yy1035; goto yy20; } } yy893: yych = *++YYCURSOR; if (yych <= 's') goto yy20; if (yych <= 't') goto yy947; if (yych <= 'u') goto yy946; goto yy20; yy894: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_DUTCH");} yy946: yych = *++YYCURSOR; if (yych == 'c') goto yy1015; goto yy20; yy947: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'j') goto yy958; if (yych == 's') goto yy959; goto yy20; yy958: yych = *++YYCURSOR; if (yych == 'e') goto yy969; goto yy20; yy959: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("ZMIde_SA2MOBIL5");} yy969: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != '5') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; ++YYCURSOR; {RET("ZMIde_VCARDFREE");} yy1015: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__ZMIde_ONLGAME2");} yy1035: yych = *++YYCURSOR; if (yych == 'e') goto yy1555; goto yy20; yy1036: yych = *++YYCURSOR; if (yych == 'f') goto yy1498; goto yy20; yy1037: yych = *++YYCURSOR; if (yych == 'c') goto yy1388; if (yych == 'i') goto yy1389; goto yy20; yy1038: yych = *++YYCURSOR; if (yych == 'a') goto yy1339; goto yy20; yy1039: yych = *++YYCURSOR; if (yych <= 'c') { if (yych <= '2') { if (yych <= '1') goto yy20; } else { if (yych == 'a') goto yy1042; goto yy20; } } else { if (yych <= 'm') { if (yych <= 'd') goto yy1043; if (yych <= 'l') goto yy20; goto yy1044; } else { if (yych == 0xE2) goto yy1041; goto yy20; } } yych = *++YYCURSOR; if (yych == '0') goto yy1312; goto yy20; yy1041: yych = *++YYCURSOR; if (yych == 0x80) goto yy1274; goto yy20; yy1042: yych = *++YYCURSOR; if (yych == 'm') goto yy1230; goto yy20; yy1043: yych = *++YYCURSOR; if (yych <= 'h') { if (yych == 'e') goto yy1103; goto yy20; } else { if (yych <= 'i') goto yy1102; if (yych == 'r') goto yy1101; goto yy20; } yy1044: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("MILLION_USD NA_DOLLARS __ZMIde_3LANDECK1 __ZMIde_BROKER7");} yy1101: yych = *++YYCURSOR; if (yych == 'e') goto yy1175; goto yy20; yy1102: yych = *++YYCURSOR; if (yych == 'e') goto yy1148; goto yy20; yy1103: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIfish_POSTBANK13");} yy1148: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBKNOW2");} yy1175: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; ++YYCURSOR; {RET("__ZMIde_SALE5");} yy1230: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_BIOMETDE3");} yy1274: yych = *++YYCURSOR; if (yych != 0x93) goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_STREET2");} yy1312: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("ZMIde_20NTECH");} yy1339: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_SALE12");} yy1388: yych = *++YYCURSOR; if (yych == 'h') goto yy1446; goto yy20; yy1389: yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("ZMIde_HANDYBASAR2");} yy1446: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; ++YYCURSOR; {RET("ZMIde_LAWGRDE2");} yy1498: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("ZMIde_JOBSEARCH24");} yy1555: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_SUN __ZMIde_JOBTRANS3");} yy1595: yych = *++YYCURSOR; if (yych == 'd') goto yy1596; if (yych == 'u') goto yy1597; goto yy20; yy1596: yych = *++YYCURSOR; if (yych == 'e') goto yy1640; goto yy20; yy1597: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__WORD_SEX __ZMIde_LIVESEX1");} yy1640: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 's') goto yy1643; if (yych == 'u') goto yy1644; goto yy20; yy1643: yych = *++YYCURSOR; if (yych == 't') goto yy1724; goto yy20; yy1644: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'n') goto yy1656; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych == 'o') goto yy1688; goto yy20; yy1656: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'j') goto yy1669; if (yych == 'l') goto yy1670; goto yy20; yy1669: yych = *++YYCURSOR; if (yych == 'o') goto yy1676; goto yy20; yy1670: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__ZMIde_BANKAFRICA1");} yy1676: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__ZMIde_BANKAFRICA1");} yy1688: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'j') goto yy1706; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych == 'a') goto yy1719; goto yy20; yy1706: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} yy1719: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} yy1724: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'n') goto yy1737; if (yych == 's') goto yy1738; goto yy20; yy1737: yych = *++YYCURSOR; if (yych == 'i') goto yy1775; goto yy20; yy1738: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'j') goto yy1756; if (yych == 'l') goto yy1757; goto yy20; yy1756: yych = *++YYCURSOR; if (yych == 'o') goto yy1763; goto yy20; yy1757: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} yy1763: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} yy1775: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'j') goto yy1788; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych == 'a') goto yy1801; goto yy20; yy1788: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__ZMIde_BANKAFRICA1");} yy1801: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__ZMIde_BANKAFRICA1");} yy1806: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '(') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ')') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBKNOW9");} yy1854: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__DOS_MEET_EACH_OTHER");} yy1866: yych = *++YYCURSOR; if (yych == 'g') goto yy1906; goto yy20; yy1867: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ':') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_STOCK1");} yy1906: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2");} yy1910: yych = *++YYCURSOR; if (yych == 'c') goto yy1932; goto yy20; yy1911: yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_MAILSWEEP2");} yy1932: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; ++YYCURSOR; {RET("ZMIde_SEXVIDEO2 __WORD_SEX");} yy1990: yych = *++YYCURSOR; if (yych <= 's') { if (yych == 'd') goto yy1993; goto yy20; } else { if (yych <= 't') goto yy1992; if (yych >= 'v') goto yy20; } yych = *++YYCURSOR; if (yych == 's') goto yy2002; goto yy20; yy1992: yych = *++YYCURSOR; if (yych == 'r') goto yy1998; goto yy20; yy1993: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_PPTREFF6b");} yy1998: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; ++YYCURSOR; {RET("__DRUGS_DIET3");} yy2002: yych = *++YYCURSOR; if (yych != ':') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '1') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("ZMIde_VCARDFREE2");} yy2059: yych = *++YYCURSOR; if (yych == 'n') goto yy2099; goto yy20; yy2060: yych = *++YYCURSOR; if (yych == 'a') goto yy2089; if (yych == 'i') goto yy2088; goto yy20; yy2061: yych = *++YYCURSOR; if (yych == 't') goto yy2080; goto yy20; yy2062: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__FRAUD_ZFJ");} yy2080: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__ZMIde_SPAMDBCTR2_4");} yy2088: yych = *++YYCURSOR; if (yych == 't') goto yy2093; goto yy20; yy2089: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2");} yy2093: yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__ZMIde_ROLEX2");} yy2099: yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__FB_BRAND_NAME");} yy2107: ++YYCURSOR; {RET("__FB_BCs");} yy2109: yych = *++YYCURSOR; if (yych == 'n') goto yy2126; goto yy20; yy2110: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy2117; yy2116: {RET("URG_BIZ");} yy2117: yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("URG_BIZ __FRAUD_TDP");} yy2126: ++YYCURSOR; {RET("DIET_1");} yy2128: yych = *++YYCURSOR; if (yych == 'a') goto yy3688; goto yy20; yy2129: yych = *++YYCURSOR; if (yych == 'o') goto yy3668; goto yy20; yy2130: yych = *++YYCURSOR; if (yych <= 'r') goto yy20; if (yych <= 's') goto yy3403; if (yych <= 't') goto yy3404; goto yy20; yy2131: yych = *++YYCURSOR; if (yych == 't') goto yy3379; goto yy20; yy2132: yych = *++YYCURSOR; if (yych <= '`') { if (yych == ' ') goto yy3291; goto yy20; } else { if (yych <= 'a') goto yy3292; if (yych == 's') goto yy3293; goto yy20; } yy2133: yych = *++YYCURSOR; if (yych == 'b') goto yy3204; if (yych == 'm') goto yy3205; goto yy20; yy2134: yych = *++YYCURSOR; if (yych == 'e') goto yy3175; if (yych == 'p') goto yy3176; goto yy20; yy2135: yych = *++YYCURSOR; if (yych <= 'b') { if (yych <= ' ') { if (yych <= 0x1F) goto yy20; goto yy2981; } else { if (yych <= '`') goto yy20; if (yych <= 'a') goto yy2982; goto yy2983; } } else { if (yych <= 'g') { if (yych <= 'f') goto yy20; goto yy2984; } else { if (yych == 't') goto yy2985; goto yy20; } } yy2136: yych = *++YYCURSOR; if (yych == 'a') goto yy2966; goto yy20; yy2137: yych = *++YYCURSOR; if (yych <= 'p') { if (yych == 'l') goto yy2744; if (yych <= 'o') goto yy20; goto yy2745; } else { if (yych <= 'r') goto yy20; if (yych <= 's') goto yy2746; if (yych <= 't') goto yy2747; goto yy20; } yy2138: yych = *++YYCURSOR; if (yych == 'f') goto yy2727; goto yy20; yy2139: yych = *++YYCURSOR; if (yych == 'd') goto yy2689; if (yych == 'i') goto yy2690; goto yy20; yy2140: yych = *++YYCURSOR; if (yych <= 'g') { if (yych == 'c') goto yy2573; goto yy20; } else { if (yych <= 'h') goto yy2574; if (yych == 't') goto yy2575; goto yy20; } yy2141: yych = *++YYCURSOR; if (yych <= 'e') { if (yych == ' ') goto yy2219; if (yych <= 'd') goto yy20; goto yy2220; } else { if (yych <= 'n') { if (yych <= 'm') goto yy20; goto yy2221; } else { if (yych == 's') goto yy2222; goto yy20; } } yy2142: yych = *++YYCURSOR; if (yych <= 'g') { if (yych != 'a') goto yy20; } else { if (yych <= 'h') goto yy2144; if (yych == 'p') goto yy2145; goto yy20; } yych = *++YYCURSOR; if (yych == 'm') goto yy2196; goto yy20; yy2144: yych = *++YYCURSOR; if (yych == 'o') goto yy2180; goto yy20; yy2145: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_EXIM");} yy2180: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__FRAUD_XJR");} yy2196: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; ++YYCURSOR; {RET("__ZMIde_BIOMETES3");} yy2219: yych = *++YYCURSOR; if (yych == 's') goto yy2523; goto yy20; yy2220: yych = *++YYCURSOR; if (yych == 'r') goto yy2339; goto yy20; yy2221: yych = *++YYCURSOR; if (yych == 'o') goto yy2281; goto yy20; yy2222: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '.') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != '.') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; ++YYCURSOR; {RET("ZMIde_CHEAPSMOKE2 __DOS_BODY_SAT");} yy2281: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("ZMIde_SEXVIDEO3");} yy2339: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych <= 'b') { if (yych <= '`') goto yy20; if (yych <= 'a') goto yy2343; goto yy2342; } else { if (yych != 'd') goto yy20; } yych = *++YYCURSOR; if (yych == 'a') goto yy2418; if (yych == 'i') goto yy2419; goto yy20; yy2342: yych = *++YYCURSOR; if (yych == 'e') goto yy2363; goto yy20; yy2343: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ':') goto yy20; ++YYCURSOR; {RET("__ZMIRASSISMUSBD_2");} yy2363: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; ++YYCURSOR; {RET("ZMIde_PORNTALK1");} yy2418: yych = *++YYCURSOR; if (yych == 's') goto yy2474; goto yy20; yy2419: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_MILFHUNTER6");} yy2474: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 0xE2) goto yy20; yych = *++YYCURSOR; if (yych != 0x80) goto yy20; yych = *++YYCURSOR; if (yych != 0x93) goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_STREET6");} yy2523: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("ZMIde_JOBSEARCH17");} yy2573: yych = *++YYCURSOR; if (yych == 'o') goto yy2680; goto yy20; yy2574: yych = *++YYCURSOR; if (yych == 't') goto yy2604; goto yy20; yy2575: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych <= 'm') goto yy20; if (yych <= 'n') goto yy2577; if (yych <= 'o') goto yy2578; goto yy20; yy2577: yych = *++YYCURSOR; if (yych == 'o') goto yy2601; goto yy20; yy2578: yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == '1') goto yy2582; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych == 'i') goto yy2586; goto yy20; yy2582: yych = *++YYCURSOR; if (yych != '9') goto yy20; yych = *++YYCURSOR; if (yych != '3') goto yy20; ++YYCURSOR; {RET("TVD_ACT_193");} yy2586: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; ++YYCURSOR; {RET("TVD_ACT_193");} yy2601: yych = *++YYCURSOR; if (yych != 'w') goto yy20; ++YYCURSOR; {RET("ACT_NOW_CAPS");} yy2604: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == ':') goto yy2609; if (yych == 'e') goto yy2610; goto yy20; yy2609: yych = *++YYCURSOR; if (yych == ' ') goto yy2652; goto yy20; yy2610: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'g') goto yy2624; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych == 'p') goto yy2642; goto yy20; yy2624: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("ZMIde_FUNTEXT2");} yy2642: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("ZMIde_FUNTEXT1");} yy2652: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; ++YYCURSOR; {RET("ZMIde_SEXUALEXPL2");} yy2680: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == ' ') goto yy2685; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych == ' ') goto yy2687; goto yy20; yy2685: ++YYCURSOR; {RET("TVD_PH_BODY_ACCOUNTS_PRE TVD_PH_REC TVD_PH_SEC");} yy2687: ++YYCURSOR; {RET("TVD_PH_BODY_ACCOUNTS_PRE");} yy2689: yych = *++YYCURSOR; if (yych == ' ') goto yy2696; if (yych == 'r') goto yy2695; goto yy20; yy2690: yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; ++YYCURSOR; {RET("FB_GVR");} yy2695: yych = *++YYCURSOR; if (yych == 'e') goto yy2704; goto yy20; yy2696: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2 DIET_1 FB_ADD_INCHES");} yy2704: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych == 'l') goto yy2714; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'l') goto yy2721; goto yy20; yy2714: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__DOS_EMAIL_DIRECTLY");} yy2721: yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__DOS_EMAIL_DIRECTLY");} yy2727: yych = *++YYCURSOR; if (yych == 'i') goto yy2729; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych == 'r') goto yy2736; goto yy20; yy2729: yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__FRAUD_ULK");} yy2736: yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("PRICES_ARE_AFFORDABLE");} yy2744: yych = *++YYCURSOR; if (yych == ' ') goto yy2845; if (yych == 'e') goto yy2844; goto yy20; yy2745: yych = *++YYCURSOR; if (yych == 'r') goto yy2836; goto yy20; yy2746: yych = *++YYCURSOR; if (yych == ' ') goto yy2761; goto yy20; yy2747: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy2753; if (yych == 'i') goto yy2754; goto yy20; yy2753: yych = *++YYCURSOR; if (yych == ' ') goto yy2759; goto yy20; yy2754: yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__FRAUD_AON");} yy2759: ++YYCURSOR; {RET("__FRAUD_AON");} yy2761: yych = *++YYCURSOR; if (yych == 'e') goto yy2762; if (yych == 'v') goto yy2763; goto yy20; yy2762: yych = *++YYCURSOR; if (yych == 'n') goto yy2780; goto yy20; yy2763: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_DRUGS2");} yy2780: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '1') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != '%') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBEARN6");} yy2836: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; ++YYCURSOR; {RET("__DRUGS_ANXIETY2");} yy2844: yych = *++YYCURSOR; if (yych == ' ') goto yy2853; goto yy20; yy2845: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("__FB_P_ALLNIGHT");} yy2853: yych = *++YYCURSOR; if (yych == 'e') goto yy2855; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych == 'o') goto yy2911; goto yy20; yy2855: yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__ZMIde_LOTTERY4");} yy2911: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIfish_POSTBANK8");} yy2966: yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; ++YYCURSOR; {RET("__FRAUD_BEP");} yy2981: yych = *++YYCURSOR; if (yych == 'h') goto yy3158; goto yy20; yy2982: yych = *++YYCURSOR; if (yych == 'l') goto yy3132; goto yy20; yy2983: yych = *++YYCURSOR; if (yych == 'e') goto yy3074; goto yy20; yy2984: yych = *++YYCURSOR; if (yych == 'a') goto yy3008; if (yych == 'e') goto yy3007; goto yy20; yy2985: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_AVREPORT0");} yy3007: yych = *++YYCURSOR; if (yych == 'b') goto yy3017; goto yy20; yy3008: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ';') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBHAVE10");} yy3017: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; ++YYCURSOR; {RET("__ZMIde_SENDLOTSASPAM3");} yy3074: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; ++YYCURSOR; {RET("ZMIde_PXXNEWS __DOS_BODY_TUE");} yy3132: yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ':') goto yy20; ++YYCURSOR; {RET("__ZMIde_PORNCRACK5");} yy3158: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__FRAUD_XJR");} yy3175: yych = *++YYCURSOR; if (yych == 'x') goto yy3197; goto yy20; yy3176: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych == 'a') goto yy3180; if (yych == 'e') goto yy3181; goto yy20; yy3180: yych = *++YYCURSOR; if (yych == 'l') goto yy3186; goto yy20; yy3181: yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; if ((yych = *YYCURSOR) == ' ') goto yy3184; {RET("TVD_APPROVED");} yy3184: ++YYCURSOR; {RET("TVD_APPROVED TVD_APP_LOAN");} yy3186: yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == ' ') goto yy3188; yy3187: {RET("__APPROVALFVGT");} yy3188: yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__APPROVALFVGT __APPROVAL_MGR");} yy3197: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; ++YYCURSOR; {RET("__FRAUD_BEP");} yy3204: yych = *++YYCURSOR; if (yych == 'e') goto yy3233; goto yy20; yy3205: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("__ZMIRASSISMUSBD_15");} yy3233: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_OPENJOB4");} yy3291: yych = *++YYCURSOR; if (yych == 'a') goto yy3352; if (yych == 't') goto yy3351; goto yy20; yy3292: yych = *++YYCURSOR; if (yych == 's') goto yy3327; goto yy20; yy3293: yych = *++YYCURSOR; if (yych == 'a') goto yy3295; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych == 's') goto yy3320; goto yy20; yy3295: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych == 'i') goto yy3298; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych == 'i') goto yy3309; goto yy20; yy3298: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy3303; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych == 'o') goto yy3306; goto yy20; yy3303: yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3306: yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3309: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy3313; if (yych == 'i') goto yy3314; goto yy20; yy3313: yych = *++YYCURSOR; if (yych == 'd') goto yy3318; goto yy20; yy3314: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3318: ++YYCURSOR; {RET("__FRAUD_PTS");} yy3320: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("URG_BIZ");} yy3327: yych = *++YYCURSOR; if (yych == 'i') goto yy3328; if (yych == 's') goto yy3329; goto yy20; yy3328: yych = *++YYCURSOR; if (yych == 'n') goto yy3341; goto yy20; yy3329: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy3335; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych == 'o') goto yy3338; goto yy20; yy3335: yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3338: yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3341: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy3344; if (yych == 'i') goto yy3345; goto yy20; yy3344: yych = *++YYCURSOR; if (yych == 'd') goto yy3349; goto yy20; yy3345: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__FRAUD_PTS");} yy3349: ++YYCURSOR; {RET("__FRAUD_PTS");} yy3351: yych = *++YYCURSOR; if (yych == 'h') goto yy3364; goto yy20; yy3352: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__FRAUD_XJR");} yy3364: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; ++YYCURSOR; {RET("__FRAUD_PVN");} yy3379: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__FRAUD_BGP __KAM_LOTTO2");} yy3403: yych = *++YYCURSOR; if (yych <= 'g') { if (yych == ' ') goto yy3430; if (yych <= 'f') goto yy20; goto yy3429; } else { if (yych <= 'l') { if (yych <= 'k') goto yy20; goto yy3428; } else { if (yych == 'w') goto yy3427; goto yy20; } } yy3404: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("ZMIde_NOSCHUFA ZMIde_NOSCHUFACC");} yy3427: yych = *++YYCURSOR; if (yych == 'e') goto yy3611; goto yy20; yy3428: yych = *++YYCURSOR; if (yych == 'a') goto yy3523; goto yy20; yy3429: yych = *++YYCURSOR; if (yych == 'e') goto yy3488; goto yy20; yy3430: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; ++YYCURSOR; {RET("ZMIde_SECURITY");} yy3488: yych = *++YYCURSOR; if (yych == 'f') goto yy3490; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych == 'u') goto yy3507; goto yy20; yy3490: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_PORNSITE3");} yy3507: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIde_PPTREFF7a");} yy3523: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych == 'e') goto yy3527; if (yych == 'i') goto yy3528; goto yy20; yy3527: yych = *++YYCURSOR; if (yych == 'r') goto yy3558; goto yy20; yy3528: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '\'') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != '\'') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_SUN __ZMIRASSISMUSBD_9");} yy3558: yych = *++YYCURSOR; if (yych == 'a') goto yy3559; if (yych == 'k') goto yy3560; goto yy20; yy3559: yych = *++YYCURSOR; if (yych == 'n') goto yy3574; goto yy20; yy3560: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIRASSISMUSBD_10");} yy3574: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("__ZMIRASSISMUSBD_7 __ZMIde_SPAMDBCTR2_3");} yy3611: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_JOBSEARCH19");} yy3668: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__DBLCLAIM __KAM_LOTTO3");} yy3688: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("TVD_PH_BODY_ACCOUNTS_PRE __FRAUD_FVU");} yy3705: yych = *++YYCURSOR; if (yych != 'b') goto yy20; ++YYCURSOR; {RET("__ISO_2022_JP_DELIM");} yy3708: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'q') goto yy20; yych = *++YYCURSOR; if (yych != 'q') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_QUOTED_EXE");} yy3726: yych = *++YYCURSOR; if (yych != '5') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBTIME3");} yy3754: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("ZMIde_REPLICA5 __ZMIde_SPAMDBCTR2_3");} yy3799: yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != '%') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; switch (yych) { case 'a': goto yy3806; case 'g': goto yy3805; case 'l': goto yy3804; case 's': goto yy3803; default: goto yy20; } yy3803: yych = *++YYCURSOR; if (yych == 'a') goto yy3857; goto yy20; yy3804: yych = *++YYCURSOR; if (yych == 'e') goto yy3839; goto yy20; yy3805: yych = *++YYCURSOR; if (yych == 'u') goto yy3829; goto yy20; yy3806: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'j') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("ZMIde_ANONYMOUS");} yy3829: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("GUARANTEED_100_PERCENT");} yy3839: yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_LEGALFILM");} yy3857: yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__FRAUD_IOU");} yy3861: yych = *++YYCURSOR; if (yych == '2') goto yy3879; goto yy20; yy3862: yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != '3') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '6') goto yy20; yych = *++YYCURSOR; if (yych != '6') goto yy20; yych = *++YYCURSOR; if (yych != '3') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '9') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '3') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; ++YYCURSOR; {RET("ZMIde_NOSCHUFAFAX");} yy3879: yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != '7') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != '5') goto yy20; ++YYCURSOR; {RET("ZMIde_HGS_TELFAX");} yy3887: yych = *++YYCURSOR; if (yych == 'k') goto yy3891; goto yy20; yy3888: yych = *++YYCURSOR; if (yych != 'b') goto yy20; ++YYCURSOR; {RET("__DOS_BODY_TICKER");} yy3891: ++YYCURSOR; {RET("__DOS_BODY_TICKER");} yy3893: yych = *++YYCURSOR; if (yych == 'p') goto yy3897; goto yy20; yy3894: yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("FB_LETTERS_21B");} yy3897: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; ++YYCURSOR; {RET("ZMIde_OUTLOOKGOOD3");} yy3919: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; ++YYCURSOR; {RET("ZMIfish_NETBANKING_5");} yy3964: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBKNOW1");} yy4024: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych == 'd') goto yy4027; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych == 'i') goto yy4080; goto yy20; yy4027: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("FB_GET_MEDS FREE_QUOTE_INSTANT ZMIde_POKER1 ZMIde_POKER4");} yy4080: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '1') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != '0') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; ++YYCURSOR; {RET("ZMIde_POKER3");} yy4133: yych = *++YYCURSOR; if (yych == 'o') goto yy4927; goto yy20; yy4134: yych = *++YYCURSOR; if (yych == 'h') goto yy4919; goto yy20; yy4135: yych = *++YYCURSOR; switch (yych) { case 'c': goto yy4734; case 'i': goto yy4735; case 'o': goto yy4736; case 't': goto yy4737; case 'u': goto yy4738; default: goto yy20; } yy4136: yych = *++YYCURSOR; if (yych == 'a') goto yy4714; if (yych == 'e') goto yy4715; goto yy20; yy4137: yych = *++YYCURSOR; if (yych == 'l') goto yy4670; if (yych == 'r') goto yy4671; goto yy20; yy4138: yych = *++YYCURSOR; if (yych == 'a') goto yy4656; goto yy20; yy4139: yych = *++YYCURSOR; if (yych == '\'') goto yy4581; if (yych == 'c') goto yy4582; goto yy20; yy4140: yych = *++YYCURSOR; if (yych <= 'd') { if (yych == 'a') goto yy4507; goto yy20; } else { if (yych <= 'e') goto yy4508; if (yych == 'o') goto yy4509; goto yy20; } yy4141: yych = *++YYCURSOR; if (yych == 'n') goto yy4473; if (yych == 'r') goto yy4474; goto yy20; yy4142: yych = *++YYCURSOR; if (yych <= 't') { if (yych == 'i') goto yy4366; goto yy20; } else { if (yych <= 'u') goto yy4367; if (yych == 'x') goto yy4368; goto yy20; } yy4143: yych = *++YYCURSOR; if (yych == 'e') goto yy4289; if (yych == 'i') goto yy4290; goto yy20; yy4144: yych = *++YYCURSOR; if (yych == 'o') goto yy4265; if (yych == 'r') goto yy4266; goto yy20; yy4145: yych = *++YYCURSOR; if (yych == 'b') goto yy4200; if (yych == 'n') goto yy4201; goto yy20; yy4146: yych = *++YYCURSOR; if (yych == ' ') goto yy4166; goto yy20; yy4147: yych = *++YYCURSOR; if (yych != '-') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBTIME5");} yy4166: yych = *++YYCURSOR; if (yych <= 'n') goto yy20; if (yych <= 'o') goto yy4168; if (yych >= 'q') goto yy20; yych = *++YYCURSOR; if (yych == 'r') goto yy4185; goto yy20; yy4168: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != '4') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != '.') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__ZMIde_PRIVGEIL10");} yy4185: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != '2') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '.') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; ++YYCURSOR; {RET("__ZMIde_PRIVGEIL10");} yy4200: yych = *++YYCURSOR; if (yych == 's') goto yy4235; goto yy20; yy4201: yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__BOUNCE_OOO_2");} yy4235: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != '!') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'x') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("DIET_1 ZMIde_ABSFLAT");} yy4265: yych = *++YYCURSOR; if (yych == 'n') goto yy4272; goto yy20; yy4266: yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("BAD_CREDIT");} yy4272: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__VBOUNCE_VALERT");} yy4289: yych = *++YYCURSOR; if (yych == 'b') goto yy4363; goto yy20; yy4290: yych = *++YYCURSOR; if (yych == 'e') goto yy4292; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych == 'i') goto yy4350; goto yy20; yy4292: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__ZMIde_STOCK15");} yy4350: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__DOS_TAKING_HOME");} yy4363: yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("BAD_CREDIT");} yy4366: yych = *++YYCURSOR; if (yych == 'n') goto yy4427; goto yy20; yy4367: yych = *++YYCURSOR; if (yych == 'r') goto yy4385; goto yy20; yy4368: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__FRAUD_SNT");} yy4385: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych == ' ') goto yy4388; if (yych != '/') goto yy20; yych = *++YYCURSOR; if (yych == 's') goto yy4406; goto yy20; yy4388: yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBEARN8");} yy4406: yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != '.') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("ZMIde_CHEAPSMOKE1");} yy4427: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_INVEST4");} yy4473: yych = *++YYCURSOR; if (yych == 'a') goto yy4490; goto yy20; yy4474: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; ++YYCURSOR; {RET("__KAM_LOTTO5");} yy4490: yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; ++YYCURSOR; {RET("__ZMIde_DEADPERSON1");} yy4507: yych = *++YYCURSOR; if (yych == 't') goto yy4565; goto yy20; yy4508: yych = *++YYCURSOR; if (yych == 'r') goto yy4518; goto yy20; yy4509: yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("FB_HOMELOAN __HOMELOANFVGT");} yy4518: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_GIRLSRCH2");} yy4565: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__ZMIde_ONLGAME6");} yy4581: yych = *++YYCURSOR; if (yych == 'l') goto yy4630; goto yy20; yy4582: yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("ZMIde_NIGERIA");} yy4630: yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'y') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("__BOUNCE_NEVER_SEE");} yy4656: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__ZMIde_DEADPERSON1");} yy4670: yych = *++YYCURSOR; if (yych == 'e') goto yy4676; goto yy20; yy4671: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; ++YYCURSOR; {RET("LOW_PRICE");} yy4676: yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("__RUDE_HTML_2");} yy4714: yych = *++YYCURSOR; if (yych == 't') goto yy4723; goto yy20; yy4715: yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != '"') goto yy20; ++YYCURSOR; {RET("__DRUG_RA_PRICE2");} yy4723: yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("YOUR_CRD_RATING");} yy4734: yych = *++YYCURSOR; if (yych == 'o') goto yy4907; goto yy20; yy4735: yych = *++YYCURSOR; if (yych == 'e') goto yy4850; goto yy20; yy4736: yych = *++YYCURSOR; if (yych == ' ') goto yy4837; goto yy20; yy4737: yych = *++YYCURSOR; if (yych == 'u') goto yy4797; goto yy20; yy4738: yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; ++YYCURSOR; {RET("ZMIde_SAFESALE1");} yy4797: yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'p') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'z') goto yy20; yych = *++YYCURSOR; if (yych != 'w') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; ++YYCURSOR; {RET("__ZMIde_JOBEARN7");} yy4837: yych = *++YYCURSOR; if (yych != 'v') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; ++YYCURSOR; {RET("__ZMIde_REPLICA6_1");} yy4850: yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'h') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'c') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'b') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'k') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'm') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ',') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 't') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; ++YYCURSOR; {RET("__ZMIfish_POSTBANK2");} yy4907: yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; ++YYCURSOR; {RET("YOUR_CRD_RATING");} yy4919: yych = *++YYCURSOR; if (yych != 'o') goto yy20; yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 's') goto yy20; yych = *++YYCURSOR; if (yych != 'a') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("__FRAUD_LTX");} yy4927: yych = *++YYCURSOR; if (yych != 'u') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != ' ') goto yy20; yych = *++YYCURSOR; if (yych != 'g') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'l') goto yy20; yych = *++YYCURSOR; if (yych != 'f') goto yy20; yych = *++YYCURSOR; if (yych != 'r') goto yy20; yych = *++YYCURSOR; if (yych != 'i') goto yy20; yych = *++YYCURSOR; if (yych != 'e') goto yy20; yych = *++YYCURSOR; if (yych != 'n') goto yy20; yych = *++YYCURSOR; if (yych != 'd') goto yy20; ++YYCURSOR; {RET("FB_UNLOCK_YOUR_G __DOS_BODY_FRI");} } } re2c-0.13.5/test/input12.boinput12.c.re0000775000076500007660000000004611016275331014247 00000000000000/*!re2c [a]+ "bb" { return 1; } */ re2c-0.13.5/test/cond_error_06.c.c0000775000076500007660000000007711016275331013404 00000000000000re2c: error: line 3, column 2: unnamed condition not supported re2c-0.13.5/test/cond_error_08.c.re0000775000076500007660000000005711016275331013570 00000000000000/*!re2c <> { return 1; } <> { return 2; } */ re2c-0.13.5/test/cond_error_02.c.re0000775000076500007660000000003211016275331013553 00000000000000/*!re2c < > "a" { } */ re2c-0.13.5/test/cond_error_01.c.re0000775000076500007660000000003011016275331013550 00000000000000/*!re2c <> "a" { } */ re2c-0.13.5/test/cond_error_03.c.re0000775000076500007660000000002511016275331013556 00000000000000/*!re2c { } */ re2c-0.13.5/test/cond_error_04.c.c0000775000076500007660000000007711016275331013402 00000000000000re2c: error: line 3, column 2: unnamed condition not supported re2c-0.13.5/test/cond_error_04.c.re0000775000076500007660000000003111016275331013554 00000000000000/*!re2c <,> "a" { } */ re2c-0.13.5/test/condition_02.c.re0000775000076500007660000000013011016275331013404 00000000000000/*!re2c <> { return NULL; } "a" { return "a"; } "b" { return "b"; } */ re2c-0.13.5/test/cond_error_07.c.re0000775000076500007660000000003311016275331013561 00000000000000/*!re2c "a" { } */ re2c-0.13.5/test/flex-01.iF.c0000775000076500007660000000040311016275331012224 00000000000000/* Generated by re2c */ { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } yy2: yy3: ++YYCURSOR; { return "a"; } yy5: ++YYCURSOR; { return "b"; } } re2c-0.13.5/test/cond_error_00.c0000775000076500007660000000012111016275331013143 00000000000000re2c: error: line 3, column 10: conditions are only allowed when using -c switch re2c-0.13.5/test/cond_error_00.re0000775000076500007660000000005211016275331013332 00000000000000/*!re2c "a" { } "b" { } */ re2c-0.13.5/test/condition_02.cg.c0000775000076500007660000000163611016275331013403 00000000000000/* Generated by re2c */ #line 1 "condition_02.cg.re" #line 5 "" { YYCTYPE yych; static void *yyctable[3] = { &&yyc_0, &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_0: #line 3 "condition_02.cg.re" { return NULL; } #line 19 "" /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy5; if (yych <= 'a') goto yy6; if (yych <= 'b') goto yy8; yy5: yy6: ++YYCURSOR; #line 4 "condition_02.cg.re" { return "a"; } #line 32 "" yy8: ++YYCURSOR; #line 5 "condition_02.cg.re" { return "b"; } #line 37 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == 'b') goto yy13; yy13: ++YYCURSOR; #line 5 "condition_02.cg.re" { return "b"; } #line 47 "" } #line 7 "condition_02.cg.re" re2c-0.13.5/test/bug1708378.ib.re0000775000076500007660000003515711016275331012645 00000000000000#define NULL ((char*) 0) #define YYCTYPE unsigned char #define YYCURSOR *p #define YYLIMIT *p #define YYMARKER q #define YYFILL(n) /* backtrack to return other, semi-overlapped tokens; e.g. allow "abcdef" to return both "abc" and "cde" as tokens */ #define RET(x) { YYCURSOR = YYMARKER; return (x); } char *Mail_SpamAssassin_CompiledRegexps_body_0_scan1(unsigned char **p){ unsigned char *q; /*!re2c " 1-2 stunden zeit t" {RET("__ZMIde_JOBTIME5");} " @ only4private.net" {RET("__ZMIde_PRIVGEIL10");} " @ privat2geil.com" {RET("__ZMIde_PRIVGEIL10");} " absolut flat! keine extrakosten" {RET("DIET_1 ZMIde_ABSFLAT");} " and am unable to read your message" {RET("__BOUNCE_OOO_2");} " contains the virus" {RET("__VBOUNCE_VALERT");} " credit" {RET("BAD_CREDIT");} " debt" {RET("BAD_CREDIT");} " diese angaben beruhen ausschliesslich auf erfolgreiche char" {RET("__ZMIde_STOCK15");} " digit level in " {RET("__DOS_TAKING_HOME");} " einsehen und dort auch einen termin vereinbaren" {RET("ZMIde_INVEST4");} " euro die woche sind m" {RET("__ZMIde_JOBEARN8");} " euro/stange incl. versand" {RET("ZMIde_CHEAPSMOKE1");} " extended relative" {RET("__FRAUD_SNT");} " gnassingbe eyadema" {RET("__ZMIde_DEADPERSON1");} " grand promotions" {RET("__KAM_LOTTO5");} " hat letzte nacht " {RET("__ZMIde_ONLGAME6");} " heraus zu suchen um mit ihr in kontakt zu treten" {RET("ZMIde_GIRLSRCH2");} " home loan" {RET("FB_HOMELOAN __HOMELOANFVGT");} " i'll never see your message" {RET("__BOUNCE_NEVER_SEE");} " ich ihre zuversicht in dieser verhandlung bitten" {RET("ZMIde_NIGERIA");} " manfred becker" {RET("__ZMIde_DEADPERSON1");} " please view this message in a different" {RET("__RUDE_HTML_2");} " price" {RET("LOW_PRICE");} " rating doesn" {RET("YOUR_CRD_RATING");} " remove \"" {RET("__DRUG_RA_PRICE2");} " scoring doesn" {RET("YOUR_CRD_RATING");} " sie dadurch eine chance bekommen, einen treffer in unserer" {RET("__ZMIfish_POSTBANK2");} " so viel erfolg" {RET("__ZMIde_REPLICA6_1");} " stunden pro woche und verdienen zwischen " {RET("__ZMIde_JOBEARN7");} " sucht nach den hoch organisierten und verantwortlichen leut" {RET("ZMIde_SAFESALE1");} " thousand" {RET("__FRAUD_LTX");} " your girlfriend" {RET("FB_UNLOCK_YOUR_G __DOS_BODY_FRI");} "!! der erste und einzige online-pokerraum auf deutsch!!" {RET("FB_GET_MEDS FREE_QUOTE_INSTANT ZMIde_POKER1 ZMIde_POKER4");} "!! wir schenken ihnen 100 euro startguthaben kostenlos!!" {RET("ZMIde_POKER3");} "* internet, e-mail, grundkenntnisse der hauptzahlungssysteme" {RET("__ZMIde_JOBKNOW1");} ", um das geld von unseren konten waschen zu k" {RET("ZMIfish_NETBANKING_5");} "-- " {RET("FB_LETTERS_21B");} "-optimal-erweitern-team" {RET("ZMIde_OUTLOOKGOOD3");} ".ob" {RET("__DOS_BODY_TICKER");} ".pk" {RET("__DOS_BODY_TICKER");} "00423 663 902 344" {RET("ZMIde_NOSCHUFAFAX");} "0522 4705" {RET("ZMIde_HGS_TELFAX");} "100% anonym - jetzt gratis!" {RET("ZMIde_ANONYMOUS");} "100% guaranteed" {RET("GUARANTEED_100_PERCENT");} "100% legal filme saugen" {RET("ZMIde_LEGALFILM");} "100% safe" {RET("__FRAUD_IOU");} "25 schweizer juwelen - automatische aufladung" {RET("ZMIde_REPLICA5 __ZMIde_SPAMDBCTR2_3");} "3-5 freien stunden pro woche" {RET("__ZMIde_JOBTIME3");} "> tvqqaamaaaaeaaaa" {RET("__VBOUNCE_QUOTED_EXE");} "$b" {RET("__ISO_2022_JP_DELIM");} "a amazon o directamente v" {RET("__ZMIde_BIOMETES3");} "a honest foreigner" {RET("__FRAUD_XJR");} "a potentially executable attachment " {RET("__VBOUNCE_EXIM");} "ab sofort suchen wir mitarbeiter aus der ganzen welt" {RET("ZMIde_JOBSEARCH17");} "aber auch meine meinung:" {RET("__ZMIRASSISMUSBD_2");} "aber bei den geilen titten ist es doch klar, wo der blick hi" {RET("ZMIde_PORNTALK1");} "aber das ist noch nicht genug – einige belassen es se" {RET("__ZMIde_STREET6");} "aber die kleine trotzdem mal in action sehen kannst du ja on" {RET("ZMIde_MILFHUNTER6");} "abnormal geil, extrem verdorben und das auch noch in der bes" {RET("ZMIde_SEXVIDEO3");} "absolut legal. kein kapitaleinsatz - kein risiko. super prov" {RET("ZMIde_CHEAPSMOKE2 __DOS_BODY_SAT");} "account " {RET("TVD_PH_BODY_ACCOUNTS_PRE TVD_PH_REC TVD_PH_SEC");} "accounts " {RET("TVD_PH_BODY_ACCOUNTS_PRE");} "achtung : extremes hardcore material" {RET("ZMIde_SEXUALEXPL2");} "achtung es ist keine geldwaesche mail!" {RET("ZMIde_FUNTEXT2");} "achtung es ist keine spam mail!" {RET("ZMIde_FUNTEXT1");} "act now" {RET("ACT_NOW_CAPS");} "act of 193" {RET("TVD_ACT_193");} "act of nineteen thirty" {RET("TVD_ACT_193");} "add inches" {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2 DIET_1 FB_ADD_INCHES");} "address direclty at" {RET("__DOS_EMAIL_DIRECTLY");} "address directly at" {RET("__DOS_EMAIL_DIRECTLY");} "adipex" {RET("FB_GVR");} "affidavit" {RET("__FRAUD_ULK");} "affordable " {RET("PRICES_ARE_AFFORDABLE");} "all night!" {RET("__FB_P_ALLNIGHT");} "alle e-mail-adressen wurden durch ein computerstimmzettelsys" {RET("__ZMIde_LOTTERY4");} "alle postbankkonten, die nicht innerhalb einer woche authent" {RET("__ZMIfish_POSTBANK8");} "alprazolam" {RET("__DRUGS_ANXIETY2");} "als entgelt garantieren wir ihnen am anfang 10% von den tran" {RET("__ZMIde_JOBEARN6");} "als versand-apotheke" {RET("__ZMIde_DRUGS2");} "alternate " {RET("__FRAUD_AON");} "alternative " {RET("__FRAUD_AON");} "amalgamated bank" {RET("__FRAUD_BEP");} "an honest foreigner" {RET("__FRAUD_XJR");} "analbilder gratis anschauen:" {RET("__ZMIde_PORNCRACK5");} "anbei erhalten sie wie gewohnt den aktuellen performaxx-info" {RET("ZMIde_PXXNEWS __DOS_BODY_TUE");} "angagement;" {RET("__ZMIde_JOBHAVE10");} "angebotene datenbanken beinhalten hunderttausende von e-mail" {RET("__ZMIde_SENDLOTSASPAM3");} "antivirus system report" {RET("__VBOUNCE_AVREPORT0");} "apex bank" {RET("__FRAUD_BEP");} "approval manager" {RET("__APPROVALFVGT __APPROVAL_MGR");} "approval" {RET("__APPROVALFVGT");} "approved " {RET("TVD_APPROVED TVD_APP_LOAN");} "approved" {RET("TVD_APPROVED");} "arbeiten sie als finanzmanager, auch wenn sie keine erfahrun" {RET("__ZMIde_OPENJOB4");} "armutswanderung aus osteuropa" {RET("__ZMIRASSISMUSBD_15");} "as a foreigner" {RET("__FRAUD_XJR");} "as the beneficiary" {RET("__FRAUD_PVN");} "asasinated" {RET("__FRAUD_PTS");} "asasination" {RET("__FRAUD_PTS");} "asassinated" {RET("__FRAUD_PTS");} "asassination" {RET("__FRAUD_PTS");} "assasinated" {RET("__FRAUD_PTS");} "assasination" {RET("__FRAUD_PTS");} "assassinated" {RET("__FRAUD_PTS");} "assassination" {RET("__FRAUD_PTS");} "assistance" {RET("URG_BIZ");} "attached to ticket number" {RET("__FRAUD_BGP __KAM_LOTTO2");} "aus sicherheit grund muessen sie ihr antwort zu diesem email" {RET("ZMIde_SECURITY");} "ausgefallene kontakte" {RET("__ZMIde_PORNSITE3");} "ausgehungerten frauen" {RET("__ZMIde_PPTREFF7a");} "auslaenderanteil in den schweizer gefaengnissen" {RET("__ZMIRASSISMUSBD_7 __ZMIde_SPAMDBCTR2_3");} "auslaenderkriminalitaet" {RET("__ZMIRASSISMUSBD_10");} "auslaendischer 'gesundheitstouristen'" {RET("__DOS_BODY_SUN __ZMIRASSISMUSBD_9");} "ausweitung unseres marketings und die gewinnung neuer kunden" {RET("ZMIde_JOBSEARCH19");} "autoleasing ohne schufa!" {RET("ZMIde_NOSCHUFA ZMIde_NOSCHUFACC");} "avoid double claiming" {RET("__DBLCLAIM __KAM_LOTTO3");} "award notification" {RET("TVD_PH_BODY_ACCOUNTS_PRE __FRAUD_FVU");} "bachelor" {RET("__BACHELORS");} "bank of nigeria" {RET("__FRAUD_BEP __FRAUD_NEB");} "banking laws" {RET("BANKING_LAWS");} "bankkonto f" {RET("__ZMIde_JOBHAVE7");} "bankverbindung, um zahlungen entgegen zu nehmen" {RET("__ZMIde_JOBHAVE18");} "baron bernado equity club" {RET("ZMIde_INVEST3");} "be we can meet" {RET("__DOS_MEET_EACH_OTHER");} "beherrschung ms office (excel, word,) und internet" {RET("__ZMIde_JOBKNOW9");} "bei der standard bank nigeria plc, johannesburg" {RET("__ZMIde_BANKAFRICA1");} "bei der standard bank nigeria plc, lagos" {RET("__ZMIde_BANKAFRICA1");} "bei der standard bank south-africa plc, johannesburg" {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} "bei der standard bank south-africa plc, lagos" {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} "bei der union bank nigeria plc, johannesburg" {RET("__ZMIde_BANKAFRICA1");} "bei der union bank nigeria plc, lagos" {RET("__ZMIde_BANKAFRICA1");} "bei der union bank south-africa plc, johannesburg" {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} "bei der union bank south-africa plc, lagos" {RET("__DOS_BODY_FRI __ZMIde_BANKAFRICA1");} "bei unseren livesexshows bist du der regisseur" {RET("__WORD_SEX __ZMIde_LIVESEX1");} "ber 20n technologien erarbeitet" {RET("ZMIde_20NTECH");} "ber – deshalb schaffen wir heute abhilfe" {RET("__ZMIde_STREET2");} "ber amazon oder direkt beim lit verlag bestellen" {RET("__ZMIde_BIOMETDE3");} "ber den versuch des unbefugten zugangs informiert" {RET("__ZMIfish_POSTBANK13");} "ber die banktransfer und andere " {RET("__ZMIde_JOBKNOW2");} "ber drei dutzend gut funktionierende strategien, um die zahl" {RET("__ZMIde_SALE5");} "ber mehr als 4 millionen in deutschland angesiedelte unterne" {RET("MILLION_USD NA_DOLLARS __ZMIde_3LANDECK1 __ZMIde_BROKER7");} "berhaupt hier zu sitzen und diesen text zu schreiben" {RET("__ZMIde_SALE12");} "berschreitend in deutsch-griechischen rechtsfragen aktiv" {RET("ZMIde_LAWGRDE2");} "bersichtlichen gebraucht handy basaar ist die produktsuche e" {RET("ZMIde_HANDYBASAR2");} "berufsbegleitend im gewerblichen auf- und ausbau eines berat" {RET("ZMIde_JOBSEARCH24");} "berweisungen von unseren kunden vornehmen m" {RET("__DOS_BODY_SUN __ZMIde_JOBTRANS3");} "bestellen sie jetzt 250 professionelle visitenkarten im farb" {RET("ZMIde_VCARDFREE");} "bestellen sie sa2 jetzt" {RET("ZMIde_SA2MOBIL5");} "besuche diese webseite " {RET("__ZMIde_ONLGAME2");} "bevatte bijlage besmet welke besmet was met een virus" {RET("__VBOUNCE_DUTCH");} "bigger" {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2");} "bitte auch lesen: hinweise zum folgenden" {RET("__ZMIde_STOCK1");} "bliche sex, sondern knallharte fickspiele ohne jegliche tabu" {RET("ZMIde_SEXVIDEO2 __WORD_SEX");} "blocked by mailsweeper" {RET("__VBOUNCE_MAILSWEEP2");} "bondage" {RET("__ZMIde_PPTREFF6b");} "bontril" {RET("__DRUGS_DIET3");} "bonus: jetzt bestellen und sie erhalten 140 passende adressa" {RET("ZMIde_VCARDFREE2");} "brand name" {RET("__FB_BRAND_NAME");} "breast" {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2");} "breitling" {RET("__ZMIde_ROLEX2");} "britischer" {RET("__ZMIde_SPAMDBCTR2_4");} "brother of the late" {RET("__FRAUD_ZFJ");} "bsc" {RET("__FB_BCs");} "burn" {RET("DIET_1");} "business partner" {RET("URG_BIZ __FRAUD_TDP");} "business" {RET("URG_BIZ");} "c0mpany" {RET("FB_C0MPANY");} "calis" {RET("__DRUGS_ERECTILE4");} "campaign for: " {RET("DOS_STOCK_CDYV_GENERIC");} "can last longer" {RET("BODY_ENHANCEMENT BODY_ENHANCEMENT2 FB_CAN_LONGER");} "canadian dolla" {RET("NA_DOLLARS");} "cartier" {RET("__ZMIde_ROLEX5");} "cash prize of" {RET("__CASHPRZ __KAM_LOTTO3");} "cash prize" {RET("__KAM_LOTTO3");} "central bank of" {RET("__FRAUD_BEP");} "cfri" {RET("KAM_STOCKTIP14 __DOS_BODY_FRI");} "cher mit tausenden von seiten mit informationen die dich nic" {RET("__ZMIde_SALE4");} "china world trade corporation" {RET("KAM_STOCKTIP6");} "chst unsere firma und wir haben eine beschr" {RET("ZMIde_JOBSEARCH2");} "chte ich sie informieren, dass das buch nachgedruckt wurde u" {RET("__ZMIde_BIOMETDE2");} "chte man einfach zugreifen d" {RET("ZMIde_PORNTALK2");} "chten betonen, dass keinerlei investitionen ihrerseits erfor" {RET("ZMIde_JOBSEARCH3");} "chten sie extra geld durch teilzeitbesch" {RET("DIET_1 __DRUG_RA_PRICE1 __ZMIde_JOBEARN2");} "chten sie mehr verdienen, und dabei von zu hause aus zu arbe" {RET("__ZMIde_JOBEARN1");} "chten uns und unsere wirtschaftsrechtlich ausgerichtete anwa" {RET("ZMIde_LAWGRDE1");} "chten wir einen auftrag mit ihnen legen, um eine relation de" {RET("ZMIde_AUFTRAG2");} "chten wir uns bei ihnen bekannt machen" {RET("__ZMIde_TRAVEL1");} "chtest die abende und wochenenden nicht mehr alleine verbrin" {RET("ZMIde_DATING2");} "cialis" {RET("DRUGS_SMEAR1 DRUG_ED_CAPS __DRUGS_ERECTILE_C");} "cilais" {RET("__DRUGS_ERECTILE4");} "cilias" {RET("__DRUGS_ERECTILE4");} "ck-garantie" {RET("ZMIde_MONEYBACK");} "cken, erfurt, dresden, rostock, bremen, freiburg" {RET("__DOS_BODY_STOCK __FB_S_STOCK __ZMIde_PRIVGEIL6");} "claim the money" {RET("__DOS_BODY_MON __FRAUD_JYG __FRAUD_KJV __KAM_LOTTO3");} "claim this money" {RET("__DOS_BODY_MON __FRAUD_JYG __FRAUD_KJV __KAM_LOTTO3");} "claim" {RET("__KAM_LOTTO3");} "claims agent" {RET("__KAM_LOTTO3 __KAM_LOTTO4");} "claims officer" {RET("__KAM_LOTTO3 __KAM_LOTTO4");} [\000-\377] { return NULL; } */ } re2c-0.13.5/test/cond_error_02.c.c0000775000076500007660000000007711016275331013400 00000000000000re2c: error: line 3, column 4: unnamed condition not supported re2c-0.13.5/test/cond_error_05.c.re0000775000076500007660000000003111016275331013555 00000000000000/*!re2c <+> "a" { } */ re2c-0.13.5/test/cond_error_08.c.c0000775000076500007660000000012011016275331013373 00000000000000re2c: error: line 4, column 4: code to handle illegal condition already defined re2c-0.13.5/test/cond_error_06.c.re0000775000076500007660000000003111016275331013556 00000000000000/*!re2c "a" { } */ re2c-0.13.5/test/cond_error_07.c.c0000775000076500007660000000005411016275331013400 00000000000000re2c: error: line 3, column 4: syntax error re2c-0.13.5/test/condition_03.cg.re0000775000076500007660000000021211016275331013555 00000000000000/*!re2c <> { return NULL; } <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } */ re2c-0.13.5/test/condition_02.cg.re0000775000076500007660000000013011016275331013553 00000000000000/*!re2c <> { return NULL; } "a" { return "a"; } "b" { return "b"; } */ re2c-0.13.5/test/condition_04.cg.re0000775000076500007660000000016411016275331013564 00000000000000/*!re2c <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } */ re2c-0.13.5/test/condition_03.cg.c0000775000076500007660000000271711016275331013405 00000000000000/* Generated by re2c */ #line 1 "condition_03.cg.re" #line 5 "" { YYCTYPE yych; static void *yyctable[3] = { &&yyc_0, &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_0: #line 3 "condition_03.cg.re" { return NULL; } #line 19 "" /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy5; if (yych <= '1') goto yy8; goto yy6; } else { if (yych <= '`') goto yy5; if (yych <= 'a') goto yy10; if (yych <= 'b') goto yy12; } yy5: yy6: ++YYCURSOR; #line 5 "condition_03.cg.re" { return "2"; } #line 38 "" yy8: ++YYCURSOR; #line 4 "condition_03.cg.re" { return "1"; } #line 43 "" yy10: ++YYCURSOR; #line 6 "condition_03.cg.re" { return "a"; } #line 48 "" yy12: ++YYCURSOR; #line 7 "condition_03.cg.re" { return "b"; } #line 53 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy16; if (yych <= '1') goto yy19; goto yy17; } else { if (yych == 'b') goto yy21; } yy16: yy17: ++YYCURSOR; #line 5 "condition_03.cg.re" { return "2"; } #line 70 "" yy19: ++YYCURSOR; #line 4 "condition_03.cg.re" { return "1"; } #line 75 "" yy21: ++YYCURSOR; #line 7 "condition_03.cg.re" { return "b"; } #line 80 "" } #line 9 "condition_03.cg.re" re2c-0.13.5/test/condition_04.cg.c0000775000076500007660000000251411016275331013401 00000000000000/* Generated by re2c */ #line 1 "condition_04.cg.re" #line 5 "" { YYCTYPE yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++YYCURSOR; #line 4 "condition_04.cg.re" { return "2"; } #line 32 "" yy5: ++YYCURSOR; #line 3 "condition_04.cg.re" { return "1"; } #line 37 "" yy7: ++YYCURSOR; #line 5 "condition_04.cg.re" { return "a"; } #line 42 "" yy9: ++YYCURSOR; #line 6 "condition_04.cg.re" { return "b"; } #line 47 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++YYCURSOR; #line 4 "condition_04.cg.re" { return "2"; } #line 64 "" yy16: ++YYCURSOR; #line 3 "condition_04.cg.re" { return "1"; } #line 69 "" yy18: ++YYCURSOR; #line 6 "condition_04.cg.re" { return "b"; } #line 74 "" } #line 8 "condition_04.cg.re" re2c-0.13.5/test/condition_05.cg.re0000775000076500007660000000344111016275331013566 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; "/*" { goto yyc_comment; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { continue; } [^] { goto yyc_comment; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_05.cg.c0000775000076500007660000000447011016275331013405 00000000000000/* Generated by re2c */ #line 1 "condition_05.cg.re" #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; #line 59 "" { unsigned char yych; static void *yyctable[2] = { &&yyc_normal, &&yyc_comment, }; goto *yyctable[cond]; /* *********************************** */ yyc_comment: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '*') goto yy4; ++s->cur; if ((yych = *s->cur) == '/') goto yy5; yy3: #line 83 "condition_05.cg.re" { goto yyc_comment; } #line 80 "" yy4: yych = *++s->cur; goto yy3; yy5: ++s->cur; #line 79 "condition_05.cg.re" { continue; } #line 90 "" /* *********************************** */ yyc_normal: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '/') goto yy11; ++s->cur; if ((yych = *s->cur) == '*') goto yy12; yy10: #line 74 "condition_05.cg.re" { fputc(*s->tok, stdout); continue; } #line 104 "" yy11: yych = *++s->cur; goto yy10; yy12: ++s->cur; #line 70 "condition_05.cg.re" { goto yyc_comment; } #line 114 "" } #line 87 "condition_05.cg.re" } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/flex-01.i.re0000775000076500007660000000011411016275331012301 00000000000000/*!re2c F1 = "a"; F2 = "b"; {F1} { return "a"; } {F2} { return "b"; } */ re2c-0.13.5/test/dot.D.c0000664000076500007660000000057411016275331011471 00000000000000/* Generated by re2c */ digraph re2c { 1 -> 2 [label="a"] 1 -> 4 [label="e"] 1 -> 5 [label=default] 2 -> 10 [label="b"] 2 -> 3 [label=default] 3 [label="dot.D.re:8"]; 4 -> 6 [label="f"] 4 -> 3 [label=default] 5 -> 3 6 -> 8 [label="g"] 6 -> 7 [label=default] 7 -> 3 8 -> 9 9 [label="dot.D.re:7"]; 10 -> 11 [label="c"] 10 -> 7 [label=default] 11 -> 12 12 [label="dot.D.re:6"]; } re2c-0.13.5/test/input12.boinput12.c.c0000775000076500007660000000361611016275331014071 00000000000000/* Generated by re2c */ #line 1 "input12.boinput12.c.re" #line 5 "input12.c" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy3; } yy2: yy3: ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy3; } if (yych != 'b') goto yy2; yych = *++YYCURSOR; if (yych != 'b') goto yy2; ++YYCURSOR; #line 3 "input12.boinput12.c.re" { return 1; } #line 62 "input12.c" } #line 5 "input12.boinput12.c.re" re2c-0.13.5/test/condition_05.cs.c0000775000076500007660000000444311016275331013421 00000000000000/* Generated by re2c */ #line 1 "condition_05.cs.re" #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; #line 59 "" { unsigned char yych; if (cond < 1) { goto yyc_normal; } else { goto yyc_comment; } /* *********************************** */ yyc_comment: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '*') goto yy4; ++s->cur; if ((yych = *s->cur) == '/') goto yy5; yy3: #line 83 "condition_05.cs.re" { goto yyc_comment; } #line 80 "" yy4: yych = *++s->cur; goto yy3; yy5: ++s->cur; #line 79 "condition_05.cs.re" { continue; } #line 90 "" /* *********************************** */ yyc_normal: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '/') goto yy11; ++s->cur; if ((yych = *s->cur) == '*') goto yy12; yy10: #line 74 "condition_05.cs.re" { fputc(*s->tok, stdout); continue; } #line 104 "" yy11: yych = *++s->cur; goto yy10; yy12: ++s->cur; #line 70 "condition_05.cs.re" { goto yyc_comment; } #line 114 "" } #line 87 "condition_05.cs.re" } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/overflow-2.c0000775000076500007660000000006411016275331012520 00000000000000re2c: error: line 2, column 8219: can't find symbol re2c-0.13.5/test/condition_05.cgtcondition_05.cgt.h.re0000775000076500007660000000344111016275331017167 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; "/*" { goto yyc_comment; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { continue; } [^] { goto yyc_comment; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_05.cgtcondition_05.cgt.h.c0000775000076500007660000000465211016275331017010 00000000000000/* Generated by re2c */ #line 1 "condition_05.cgtcondition_05.cgt.h.re" #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; #line 59 "" { unsigned char yych; static void *yyctable[2] = { &&yyc_normal, &&yyc_comment, }; goto *yyctable[cond]; /* *********************************** */ yyc_comment: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '*') goto yy4; ++s->cur; if ((yych = *s->cur) == '/') goto yy5; yy3: #line 83 "condition_05.cgtcondition_05.cgt.h.re" { goto yyc_comment; } #line 80 "" yy4: yych = *++s->cur; goto yy3; yy5: ++s->cur; #line 79 "condition_05.cgtcondition_05.cgt.h.re" { continue; } #line 90 "" /* *********************************** */ yyc_normal: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '/') goto yy11; ++s->cur; if ((yych = *s->cur) == '*') goto yy12; yy10: #line 74 "condition_05.cgtcondition_05.cgt.h.re" { fputc(*s->tok, stdout); continue; } #line 104 "" yy11: yych = *++s->cur; goto yy10; yy12: ++s->cur; #line 70 "condition_05.cgtcondition_05.cgt.h.re" { goto yyc_comment; } #line 114 "" } #line 87 "condition_05.cgtcondition_05.cgt.h.re" } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_05.cgtcondition_05.cgt.h.h0000775000076500007660000000014411016275331017005 00000000000000/* Generated by re2c */ #line 3 "condition_05.cgt.h" enum YYCONDTYPE { yycnormal, yyccomment, }; re2c-0.13.5/test/condition_05.cgitcondition_05.cgit.h.re0000775000076500007660000000344111016275331017511 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; "/*" { goto yyc_comment; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { continue; } [^] { goto yyc_comment; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_05.cs.re0000775000076500007660000000344111016275331013602 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->ptr; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; "/*" { goto yyc_comment; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { continue; } [^] { goto yyc_comment; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/bug1711240.eis.c0000664000076500007660000000061011016275331012604 00000000000000/* Generated by re2c */ char scan(const unsigned char *s) { { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '=') { if (yych == 0x07) goto yy5; goto yy7; } else { if (yych <= '"') goto yy3; if (yych <= 0xFF) goto yy7; } yy3: ++YYCURSOR; { return '"'; } yy5: ++YYCURSOR; { return '\x2F'; } yy7: ++YYCURSOR; { return '\0'; } } } re2c-0.13.5/test/condition_05.cgitcondition_05.cgit.h.h0000775000076500007660000000010711016275331017326 00000000000000/* Generated by re2c */ enum YYCONDTYPE { yycnormal, yyccomment, }; re2c-0.13.5/test/condition_06.cs.re0000775000076500007660000000606711016275331013612 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } /*!types:re2c */ void scan(Scanner *s) { int cond = EStateNormal; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" { fputc('[', stdout); continue; } "??)" { fputc(']', stdout); continue; } "??<" { fputc('{', stdout); continue; } "??>" { fputc('}', stdout); continue; } "??=" { fputc('#', stdout); continue; } "??/" { fputc('\\', stdout); continue; } "??'" { fputc('^', stdout); continue; } "??!" { fputc('|', stdout); continue; } "??-" { fputc('~', stdout); continue; } "/*" { goto yyc_Comment; } "//" { goto yyc_Skiptoeol; } '"' { fputc(*s->tok, stdout); state = EStateString; continue; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { continue; } [^] { goto yyc_Comment; } "??/" "\r"? "\n" { goto yyc_Skiptoeol; } "\\" "\r"? "\n" { goto yyc_Skiptoeol; } "\n" { continue; } [^] { goto yyc_Skiptoeol; } '\\' . { fputl((const char*)s->tok, 2, stdout); continue; } '"' { fputc(*s->tok, stdout); continue; } [^] { fputc(*s->tok, stdout); continue; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_07.cbi.re0000775000076500007660000000370611016275331013740 00000000000000#include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } /*!types:re2c */ void scan(Scanner *s) { int cond = EStateR1; fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked= 1; re2c:define:YYFILL = "{ if(fill(s, #) >= 0) break; }"; re2c:define:YYGETCONDITION = cond; re2c:define:YYGETCONDITION:naked = 1; re2c:yyfill:parameter = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; NUM = [0-9]; ALNUM = NUM|[a-zA-Z]; ANY = [^]; ALNUM+ { continue; } ANY { continue; } ALNUM+ { continue; } ANY { continue; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_07.cbi.c0000775000076500007660000001331211016275331013546 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } enum YYCONDTYPE { EStateR1, EStateR2, }; void scan(Scanner *s) { int cond = EStateR1; fill(s, 0); for(;;) { s->tok = s->cur; { unsigned char yych; if (cond < 1) { goto yyc_R1; } else { goto yyc_R2; } /* *********************************** */ yyc_R1: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych <= '@') { if (yych <= '/') goto yy4; if (yych >= ':') goto yy4; } else { if (yych <= 'Z') goto yy2; if (yych <= '`') goto yy4; if (yych >= '{') goto yy4; } yy2: ++s->cur; yych = *s->cur; goto yy7; yy3: { continue; } yy4: ++s->cur; { continue; } yy6: ++s->cur; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; yy7: if (yybm[0+yych] & 128) { goto yy6; } goto yy3; } /* *********************************** */ yyc_R2: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych <= '@') { if (yych <= '/') goto yy12; if (yych >= ':') goto yy12; } else { if (yych <= 'Z') goto yy10; if (yych <= '`') goto yy12; if (yych >= '{') goto yy12; } yy10: ++s->cur; yych = *s->cur; goto yy15; yy11: { continue; } yy12: ++s->cur; { continue; } yy14: ++s->cur; if (s->lim <= s->cur) { if(fill(s, 1) >= 0) break; } yych = *s->cur; yy15: if (yybm[0+yych] & 128) { goto yy14; } goto yy11; } } } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/overflow-3.c0000775000076500007660000000006411016275331012521 00000000000000re2c: error: line 2, column 8219: can't find symbol re2c-0.13.5/test/condition_05.cgitcondition_05.cgit.h.c0000775000076500007660000000403711016275331017327 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } char scan(Scanner *s) { int cond = 1; fill(s, 0); for(;;) { s->tok = s->cur; { unsigned char yych; static void *yyctable[2] = { &&yyc_normal, &&yyc_comment, }; goto *yyctable[cond]; /* *********************************** */ yyc_comment: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '*') goto yy4; ++s->cur; if ((yych = *s->cur) == '/') goto yy5; yy3: { goto yyc_comment; } yy4: yych = *++s->cur; goto yy3; yy5: ++s->cur; { continue; } /* *********************************** */ yyc_normal: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '/') goto yy11; ++s->cur; if ((yych = *s->cur) == '*') goto yy12; yy10: { fputc(*s->tok, stdout); continue; } yy11: yych = *++s->cur; goto yy10; yy12: ++s->cur; { goto yyc_comment; } } } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_06.cs.c0000775000076500007660000001454011016275331013421 00000000000000/* Generated by re2c */ #line 1 "condition_06.cs.re" #include #include #include #define BSIZE 8192 typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } #line 57 "" enum YYCONDTYPE { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; #line 54 "condition_06.cs.re" void scan(Scanner *s) { int cond = EStateNormal; fill(s, 0); for(;;) { s->tok = s->cur; #line 78 "" { unsigned char yych; if (cond < 2) { if (cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych != '*') goto yy4; ++s->cur; if ((yych = *s->cur) == '/') goto yy5; yy3: #line 149 "condition_06.cs.re" { goto yyc_Comment; } #line 107 "" yy4: yych = *++s->cur; goto yy3; yy5: ++s->cur; #line 145 "condition_06.cs.re" { continue; } #line 117 "" /* *********************************** */ yyc_Normal: if ((s->lim - s->cur) < 3) { if(fill(s, 3) >= 0) break; } yych = *s->cur; if (yych <= '.') { if (yych == '"') goto yy12; goto yy14; } else { if (yych <= '/') goto yy11; if (yych != '?') goto yy14; } yych = *(s->tok = ++s->cur); if (yych == '?') goto yy19; yy10: #line 140 "condition_06.cs.re" { fputc(*s->tok, stdout); continue; } #line 137 "" yy11: yych = *++s->cur; if (yych == '*') goto yy17; if (yych == '/') goto yy15; goto yy10; yy12: ++s->cur; #line 134 "condition_06.cs.re" { fputc(*s->tok, stdout); state = EStateString; continue; } #line 151 "" yy14: yych = *++s->cur; goto yy10; yy15: ++s->cur; #line 130 "condition_06.cs.re" { goto yyc_Skiptoeol; } #line 161 "" yy17: ++s->cur; #line 126 "condition_06.cs.re" { goto yyc_Comment; } #line 168 "" yy19: yych = *++s->cur; switch (yych) { case '!': goto yy35; case '\'': goto yy33; case '(': goto yy21; case ')': goto yy23; case '-': goto yy37; case '/': goto yy31; case '<': goto yy25; case '=': goto yy29; case '>': goto yy27; default: goto yy20; } yy20: s->cur = s->tok; goto yy10; yy21: ++s->cur; #line 81 "condition_06.cs.re" { fputc('[', stdout); continue; } #line 193 "" yy23: ++s->cur; #line 86 "condition_06.cs.re" { fputc(']', stdout); continue; } #line 201 "" yy25: ++s->cur; #line 91 "condition_06.cs.re" { fputc('{', stdout); continue; } #line 209 "" yy27: ++s->cur; #line 96 "condition_06.cs.re" { fputc('}', stdout); continue; } #line 217 "" yy29: ++s->cur; #line 101 "condition_06.cs.re" { fputc('#', stdout); continue; } #line 225 "" yy31: ++s->cur; #line 106 "condition_06.cs.re" { fputc('\\', stdout); continue; } #line 233 "" yy33: ++s->cur; #line 111 "condition_06.cs.re" { fputc('^', stdout); continue; } #line 241 "" yy35: ++s->cur; #line 116 "condition_06.cs.re" { fputc('|', stdout); continue; } #line 249 "" yy37: ++s->cur; #line 121 "condition_06.cs.re" { fputc('~', stdout); continue; } #line 257 "" /* *********************************** */ yyc_Skiptoeol: if ((s->lim - s->cur) < 5) { if(fill(s, 5) >= 0) break; } yych = *s->cur; if (yych <= '>') { if (yych == '\n') goto yy44; goto yy46; } else { if (yych <= '?') goto yy41; if (yych == '\\') goto yy43; goto yy46; } yy41: yych = *(s->tok = ++s->cur); if (yych == '?') goto yy51; yy42: #line 165 "condition_06.cs.re" { goto yyc_Skiptoeol; } #line 278 "" yy43: yych = *(s->tok = ++s->cur); if (yych == '\n') goto yy49; if (yych == '\r') goto yy47; goto yy42; yy44: ++s->cur; #line 161 "condition_06.cs.re" { continue; } #line 290 "" yy46: yych = *++s->cur; goto yy42; yy47: yych = *++s->cur; if (yych == '\n') goto yy49; yy48: s->cur = s->tok; goto yy42; yy49: ++s->cur; #line 157 "condition_06.cs.re" { goto yyc_Skiptoeol; } #line 306 "" yy51: yych = *++s->cur; if (yych != '/') goto yy48; yych = *++s->cur; if (yych == '\n') goto yy54; if (yych != '\r') goto yy48; yych = *++s->cur; if (yych != '\n') goto yy48; yy54: ++s->cur; #line 153 "condition_06.cs.re" { goto yyc_Skiptoeol; } #line 321 "" /* *********************************** */ yyc_String: if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; } yych = *s->cur; if (yych == '"') goto yy60; if (yych != '\\') goto yy62; ++s->cur; if ((yych = *s->cur) != '\n') goto yy63; yy59: #line 179 "condition_06.cs.re" { fputc(*s->tok, stdout); continue; } #line 336 "" yy60: ++s->cur; #line 174 "condition_06.cs.re" { fputc(*s->tok, stdout); continue; } #line 344 "" yy62: yych = *++s->cur; goto yy59; yy63: ++s->cur; #line 169 "condition_06.cs.re" { fputl((const char*)s->tok, 2, stdout); continue; } #line 355 "" } #line 183 "condition_06.cs.re" } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_09.cgif.c0000775000076500007660000003106411016275331013727 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; static void *yystable[] = { &&yyFillLabel0, &&yyFillLabel1, &&yyFillLabel2, &&yyFillLabel3, }; if (s->state < 0) { goto yy0; } goto *yystable[s->state]; for(;;) { s->tok = s->cur; { static void *yyctable[4] = { &&yyc_Normal, &&yyc_Comment, &&yyc_Skiptoeol, &&yyc_String, }; yy0: goto *yyctable[s->cond]; /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: { goto yyc_Comment; } yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; { continue; } /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; { static void *yytarget[256] = { &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy13, &&yy15, &&yy15, &&yy15, &&yy15, &&yy12, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy11, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy9, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15 }; goto *yytarget[s->yych]; } yy9: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: { fputc(s->cur[-1], stdout); continue; } yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; { fputc(s->cur[-1], stdout); continue; } yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; { fputl("'\"'", 3, stdout); continue; } yy22: ++s->cur; s->cond = EStateSkiptoeol; { goto yyc_Skiptoeol; } yy24: ++s->cur; s->cond = EStateComment; { goto yyc_Comment; } yy26: s->yych = *++s->cur; { static void *yytarget[256] = { &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy41, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy39, &&yy27, &&yy29, &&yy17, &&yy17, &&yy17, &&yy43, &&yy17, &&yy37, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy31, &&yy35, &&yy33, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17 }; goto *yytarget[s->yych]; } yy27: ++s->cur; { fputc('[', stdout); continue; } yy29: ++s->cur; { fputc(']', stdout); continue; } yy31: ++s->cur; { fputc('{', stdout); continue; } yy33: ++s->cur; { fputc('}', stdout); continue; } yy35: ++s->cur; { fputc('#', stdout); continue; } yy37: ++s->cur; { fputc('\\', stdout); continue; } yy39: ++s->cur; { fputc('^', stdout); continue; } yy41: ++s->cur; { fputc('|', stdout); continue; } yy43: ++s->cur; { fputc('~', stdout); continue; } /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy51, &&yy53, &&yy53, &&yy50, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy47, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy49, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[s->yych]; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: { goto yyc_Skiptoeol; } yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; { fputc('\n', stdout); continue; } yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; { fputc('\r', stdout); fputc('\n', stdout); continue; } yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; { goto yyc_Skiptoeol; } yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; { goto yyc_Skiptoeol; } /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: { fputc(s->cur[-1], stdout); continue; } yy69: ++s->cur; s->cond = EStateNormal; { fputc(s->cur[-1], stdout); continue; } yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; { fputl((const char*)s->cur-2, 2, stdout); continue; } } } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_09.cbif.re0000775000076500007660000001001711016275331014101 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" { fputc('[', stdout); continue; } "??)" { fputc(']', stdout); continue; } "??<" { fputc('{', stdout); continue; } "??>" { fputc('}', stdout); continue; } "??=" { fputc('#', stdout); continue; } "??/" { fputc('\\', stdout); continue; } "??'" { fputc('^', stdout); continue; } "??!" { fputc('|', stdout); continue; } "??-" { fputc('~', stdout); continue; } "/*" => Comment { goto yyc_Comment; } "//" => Skiptoeol { goto yyc_Skiptoeol; } "'\\\"'"|"'\"'" { fputl("'\"'", 3, stdout); continue; } '"' => String { fputc(s->cur[-1], stdout); continue; } [^] { fputc(s->cur[-1], stdout); continue; } "*" "/" => Normal { continue; } [^] { goto yyc_Comment; } "??/" "\r"? "\n" { goto yyc_Skiptoeol; } "\\" "\r"? "\n" { goto yyc_Skiptoeol; } "\r" "\n" => Normal { fputc('\r', stdout); fputc('\n', stdout); continue; } "\n" => Normal { fputc('\n', stdout); continue; } [^] { goto yyc_Skiptoeol; } '\\' . { fputl((const char*)s->cur-2, 2, stdout); continue; } '"' => Normal { fputc(s->cur[-1], stdout); continue; } [^] { fputc(s->cur[-1], stdout); continue; } */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_08.cbif.c0000775000076500007660000001422111016275331013715 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { fill(s, 0); for(;;) { s->tok = s->cur; if (s->state < 1) { if (s->state < 0) { goto yy0; } else { goto yyFillLabel0; } } else { if (s->state < 2) { goto yyFillLabel1; } else { if (s->state < 3) { goto yyFillLabel2; } else { goto yyFillLabel3; } } } yy0: if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: { goto yyc_Comment; } yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; { s->cond = EStateNormal; continue; } /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if(fill(s, 4) >= 0) break; yyFillLabel1: s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: { fputc(*s->tok, stdout); continue; } yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; { fputc(*s->tok, stdout); s->state = EStateString; continue; } yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; { fputl("'\"'", 3, stdout); continue; } yy22: ++s->cur; { s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; } yy24: ++s->cur; { s->cond = EStateComment; goto yyc_Comment; } yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; { fputc('[', stdout); continue; } yy29: ++s->cur; { fputc(']', stdout); continue; } yy31: ++s->cur; { fputc('{', stdout); continue; } yy33: ++s->cur; { fputc('}', stdout); continue; } yy35: ++s->cur; { fputc('#', stdout); continue; } yy37: ++s->cur; { fputc('\\', stdout); continue; } yy39: ++s->cur; { fputc('^', stdout); continue; } yy41: ++s->cur; { fputc('|', stdout); continue; } yy43: ++s->cur; { fputc('~', stdout); continue; } /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if(fill(s, 5) >= 0) break; yyFillLabel2: s->yych = *s->cur; if (s->yych <= '>') { if (s->yych == '\n') goto yy50; goto yy52; } else { if (s->yych <= '?') goto yy47; if (s->yych == '\\') goto yy49; goto yy52; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy57; yy48: { goto yyc_Skiptoeol; } yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy55; if (s->yych == '\r') goto yy53; goto yy48; yy50: ++s->cur; { s->cond = EStateNormal; continue; } yy52: s->yych = *++s->cur; goto yy48; yy53: s->yych = *++s->cur; if (s->yych == '\n') goto yy55; yy54: s->cur = s->tok; goto yy48; yy55: ++s->cur; { goto yyc_Skiptoeol; } yy57: s->yych = *++s->cur; if (s->yych != '/') goto yy54; s->yych = *++s->cur; if (s->yych == '\n') goto yy60; if (s->yych != '\r') goto yy54; s->yych = *++s->cur; if (s->yych != '\n') goto yy54; yy60: ++s->cur; { goto yyc_Skiptoeol; } /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy66; if (s->yych != '\\') goto yy68; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy69; yy65: { fputc(*s->tok, stdout); continue; } yy66: ++s->cur; { fputc(*s->tok, stdout); s->cond = EStateNormal; continue; } yy68: s->yych = *++s->cur; goto yy65; yy69: ++s->cur; { fputl((const char*)s->tok, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } in.cond = EStateNormal; scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_08.cbif.re0000775000076500007660000000723411016275331014107 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" { fputc('[', stdout); continue; } "??)" { fputc(']', stdout); continue; } "??<" { fputc('{', stdout); continue; } "??>" { fputc('}', stdout); continue; } "??=" { fputc('#', stdout); continue; } "??/" { fputc('\\', stdout); continue; } "??'" { fputc('^', stdout); continue; } "??!" { fputc('|', stdout); continue; } "??-" { fputc('~', stdout); continue; } "/*" { s->cond = EStateComment; goto yyc_Comment; } "//" { s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; } "'\\\"'"|"'\"'" { fputl("'\"'", 3, stdout); continue; } '"' { fputc(*s->tok, stdout); s->state = EStateString; continue; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { s->cond = EStateNormal; continue; } [^] { goto yyc_Comment; } "??/" "\r"? "\n" { goto yyc_Skiptoeol; } "\\" "\r"? "\n" { goto yyc_Skiptoeol; } "\n" { s->cond = EStateNormal; continue; } [^] { goto yyc_Skiptoeol; } '\\' . { fputl((const char*)s->tok, 2, stdout); continue; } '"' { fputc(*s->tok, stdout); s->cond = EStateNormal; continue; } [^] { fputc(*s->tok, stdout); continue; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } in.cond = EStateNormal; scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_08.cbi.re0000775000076500007660000000723411016275331013741 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { fill(s, 0); for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) >= 0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" { fputc('[', stdout); continue; } "??)" { fputc(']', stdout); continue; } "??<" { fputc('{', stdout); continue; } "??>" { fputc('}', stdout); continue; } "??=" { fputc('#', stdout); continue; } "??/" { fputc('\\', stdout); continue; } "??'" { fputc('^', stdout); continue; } "??!" { fputc('|', stdout); continue; } "??-" { fputc('~', stdout); continue; } "/*" { s->cond = EStateComment; goto yyc_Comment; } "//" { s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; } "'\\\"'"|"'\"'" { fputl("'\"'", 3, stdout); continue; } '"' { fputc(*s->tok, stdout); s->state = EStateString; continue; } [^] { fputc(*s->tok, stdout); continue; } "*" "/" { s->cond = EStateNormal; continue; } [^] { goto yyc_Comment; } "??/" "\r"? "\n" { goto yyc_Skiptoeol; } "\\" "\r"? "\n" { goto yyc_Skiptoeol; } "\n" { s->cond = EStateNormal; continue; } [^] { goto yyc_Skiptoeol; } '\\' . { fputl((const char*)s->tok, 2, stdout); continue; } '"' { fputc(*s->tok, stdout); s->cond = EStateNormal; continue; } [^] { fputc(*s->tok, stdout); continue; } */ } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } in.cond = EStateNormal; scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_09.cgif.re0000775000076500007660000001001711016275331014106 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" { fputc('[', stdout); continue; } "??)" { fputc(']', stdout); continue; } "??<" { fputc('{', stdout); continue; } "??>" { fputc('}', stdout); continue; } "??=" { fputc('#', stdout); continue; } "??/" { fputc('\\', stdout); continue; } "??'" { fputc('^', stdout); continue; } "??!" { fputc('|', stdout); continue; } "??-" { fputc('~', stdout); continue; } "/*" => Comment { goto yyc_Comment; } "//" => Skiptoeol { goto yyc_Skiptoeol; } "'\\\"'"|"'\"'" { fputl("'\"'", 3, stdout); continue; } '"' => String { fputc(s->cur[-1], stdout); continue; } [^] { fputc(s->cur[-1], stdout); continue; } "*" "/" => Normal { continue; } [^] { goto yyc_Comment; } "??/" "\r"? "\n" { goto yyc_Skiptoeol; } "\\" "\r"? "\n" { goto yyc_Skiptoeol; } "\r" "\n" => Normal { fputc('\r', stdout); fputc('\n', stdout); continue; } "\n" => Normal { fputc('\n', stdout); continue; } [^] { goto yyc_Skiptoeol; } '\\' . { fputl((const char*)s->cur-2, 2, stdout); continue; } '"' => Normal { fputc(s->cur[-1], stdout); continue; } [^] { fputc(s->cur[-1], stdout); continue; } */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_08.cbi.c0000775000076500007660000001340711016275331013554 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { fill(s, 0); for(;;) { s->tok = s->cur; if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break; s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: { goto yyc_Comment; } yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; { s->cond = EStateNormal; continue; } /* *********************************** */ yyc_Normal: if ((s->lim - s->cur) < 4) if(fill(s, 4) >= 0) break; s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: { fputc(*s->tok, stdout); continue; } yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; { fputc(*s->tok, stdout); s->state = EStateString; continue; } yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; { fputl("'\"'", 3, stdout); continue; } yy22: ++s->cur; { s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; } yy24: ++s->cur; { s->cond = EStateComment; goto yyc_Comment; } yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; { fputc('[', stdout); continue; } yy29: ++s->cur; { fputc(']', stdout); continue; } yy31: ++s->cur; { fputc('{', stdout); continue; } yy33: ++s->cur; { fputc('}', stdout); continue; } yy35: ++s->cur; { fputc('#', stdout); continue; } yy37: ++s->cur; { fputc('\\', stdout); continue; } yy39: ++s->cur; { fputc('^', stdout); continue; } yy41: ++s->cur; { fputc('|', stdout); continue; } yy43: ++s->cur; { fputc('~', stdout); continue; } /* *********************************** */ yyc_Skiptoeol: if ((s->lim - s->cur) < 5) if(fill(s, 5) >= 0) break; s->yych = *s->cur; if (s->yych <= '>') { if (s->yych == '\n') goto yy50; goto yy52; } else { if (s->yych <= '?') goto yy47; if (s->yych == '\\') goto yy49; goto yy52; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy57; yy48: { goto yyc_Skiptoeol; } yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy55; if (s->yych == '\r') goto yy53; goto yy48; yy50: ++s->cur; { s->cond = EStateNormal; continue; } yy52: s->yych = *++s->cur; goto yy48; yy53: s->yych = *++s->cur; if (s->yych == '\n') goto yy55; yy54: s->cur = s->tok; goto yy48; yy55: ++s->cur; { goto yyc_Skiptoeol; } yy57: s->yych = *++s->cur; if (s->yych != '/') goto yy54; s->yych = *++s->cur; if (s->yych == '\n') goto yy60; if (s->yych != '\r') goto yy54; s->yych = *++s->cur; if (s->yych != '\n') goto yy54; yy60: ++s->cur; { goto yyc_Skiptoeol; } /* *********************************** */ yyc_String: if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break; s->yych = *s->cur; if (s->yych == '"') goto yy66; if (s->yych != '\\') goto yy68; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy69; yy65: { fputc(*s->tok, stdout); continue; } yy66: ++s->cur; { fputc(*s->tok, stdout); s->cond = EStateNormal; continue; } yy68: s->yych = *++s->cur; goto yy65; yy69: ++s->cur; { fputl((const char*)s->tok, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; char c; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } in.cond = EStateNormal; scan(&in); if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_09.cbif.c0000775000076500007660000001513711016275331013725 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; if (s->state < 1) { if (s->state < 0) { goto yy0; } else { goto yyFillLabel0; } } else { if (s->state < 2) { goto yyFillLabel1; } else { if (s->state < 3) { goto yyFillLabel2; } else { goto yyFillLabel3; } } } for(;;) { s->tok = s->cur; yy0: if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: { goto yyc_Comment; } yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; { continue; } /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: { fputc(s->cur[-1], stdout); continue; } yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; { fputc(s->cur[-1], stdout); continue; } yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; { fputl("'\"'", 3, stdout); continue; } yy22: ++s->cur; s->cond = EStateSkiptoeol; { goto yyc_Skiptoeol; } yy24: ++s->cur; s->cond = EStateComment; { goto yyc_Comment; } yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; { fputc('[', stdout); continue; } yy29: ++s->cur; { fputc(']', stdout); continue; } yy31: ++s->cur; { fputc('{', stdout); continue; } yy33: ++s->cur; { fputc('}', stdout); continue; } yy35: ++s->cur; { fputc('#', stdout); continue; } yy37: ++s->cur; { fputc('\\', stdout); continue; } yy39: ++s->cur; { fputc('^', stdout); continue; } yy41: ++s->cur; { fputc('|', stdout); continue; } yy43: ++s->cur; { fputc('~', stdout); continue; } /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; if (s->yych <= '\r') { if (s->yych == '\n') goto yy51; if (s->yych <= '\f') goto yy53; goto yy50; } else { if (s->yych <= '?') { if (s->yych <= '>') goto yy53; } else { if (s->yych == '\\') goto yy49; goto yy53; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: { goto yyc_Skiptoeol; } yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; { fputc('\n', stdout); continue; } yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; { fputc('\r', stdout); fputc('\n', stdout); continue; } yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; { goto yyc_Skiptoeol; } yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; { goto yyc_Skiptoeol; } /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: { fputc(s->cur[-1], stdout); continue; } yy69: ++s->cur; s->cond = EStateNormal; { fputc(s->cur[-1], stdout); continue; } yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; { fputl((const char*)s->cur-2, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_13.cg.re0000775000076500007660000000013411016275331013561 00000000000000/*!re2c <> :=> r1 <*> "1" :=> r1 <*> "2" :=> r1 "a" :=> r2 "b" :=> r2 */ re2c-0.13.5/test/condition_11.cg.c0000775000076500007660000000310711016275331013376 00000000000000/* Generated by re2c */ #line 1 "condition_11.cg.re" #line 5 "" { YYCTYPE yych; static void *yyctable[3] = { &&yyc_0, &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_0: YYSETCONDITION(yycr1); #line 3 "condition_11.cg.re" { return NULL; } #line 20 "" /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy5; if (yych <= '1') goto yy8; goto yy6; } else { if (yych <= '`') goto yy5; if (yych <= 'a') goto yy10; if (yych <= 'b') goto yy12; } yy5: yy6: ++YYCURSOR; #line 5 "condition_11.cg.re" { return "2"; } #line 39 "" yy8: ++YYCURSOR; #line 4 "condition_11.cg.re" { return "1"; } #line 44 "" yy10: ++YYCURSOR; YYSETCONDITION(yycr2); #line 6 "condition_11.cg.re" { return "a"; } #line 50 "" yy12: ++YYCURSOR; YYSETCONDITION(yycr2); #line 7 "condition_11.cg.re" { return "b"; } #line 56 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy16; if (yych <= '1') goto yy19; goto yy17; } else { if (yych == 'b') goto yy21; } yy16: yy17: ++YYCURSOR; YYSETCONDITION(yycr1); #line 5 "condition_11.cg.re" { return "2"; } #line 74 "" yy19: ++YYCURSOR; YYSETCONDITION(yycr1); #line 4 "condition_11.cg.re" { return "1"; } #line 80 "" yy21: ++YYCURSOR; #line 7 "condition_11.cg.re" { return "b"; } #line 85 "" } #line 9 "condition_11.cg.re" re2c-0.13.5/test/bug1711240.eis.re0000664000076500007660000000024211016275331012771 00000000000000char scan(const unsigned char *s) { /*!re2c '"' { return '"'; } '\x2F' { return '\x2F'; } '\x7F' { return '\x7F'; } [^] { return '\0'; } */ } re2c-0.13.5/test/condition_11.cg.re0000775000076500007660000000025011016275331013556 00000000000000/*!re2c <> => r1 { return NULL; } <*> "1" => r1 { return "1"; } <*> "2" => r1 { return "2"; } "a" => r2 { return "a"; } "b" => r2 { return "b"; } */ re2c-0.13.5/test/condition_12.cgif.c0000775000076500007660000003044111016275331013717 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; static void *yystable[] = { &&yyFillLabel0, &&yyFillLabel1, &&yyFillLabel2, &&yyFillLabel3, }; if (s->state < 0) { goto yy0; } goto *yystable[s->state]; for(;;) { s->tok = s->cur; { static void *yyctable[4] = { &&yyc_Normal, &&yyc_Comment, &&yyc_Skiptoeol, &&yyc_String, }; yy0: goto *yyctable[s->cond]; /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: goto yyc_Comment; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; goto yyc_Normal; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; { static void *yytarget[256] = { &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy13, &&yy15, &&yy15, &&yy15, &&yy15, &&yy12, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy11, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy9, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15 }; goto *yytarget[s->yych]; } yy9: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; yy24: ++s->cur; s->cond = EStateComment; goto yyc_Comment; yy26: s->yych = *++s->cur; { static void *yytarget[256] = { &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy41, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy39, &&yy27, &&yy29, &&yy17, &&yy17, &&yy17, &&yy43, &&yy17, &&yy37, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy31, &&yy35, &&yy33, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17 }; goto *yytarget[s->yych]; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy51, &&yy53, &&yy53, &&yy50, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy47, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy49, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[s->yych]; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: goto yyc_Skiptoeol; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; goto yyc_Skiptoeol; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; goto yyc_Skiptoeol; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_10.cgif.c0000775000076500007660000003043211016275331013715 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; static void *yystable[] = { &&yyFillLabel0, &&yyFillLabel1, &&yyFillLabel2, &&yyFillLabel3, }; if (s->state < 0) { goto yy0; } goto *yystable[s->state]; for(;;) { s->tok = s->cur; { static void *yyctable[4] = { &&yyc_Normal, &&yyc_Comment, &&yyc_Skiptoeol, &&yyc_String, }; yy0: goto *yyctable[s->cond]; /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: goto yyc_Comment; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; { static void *yytarget[256] = { &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy13, &&yy15, &&yy15, &&yy15, &&yy15, &&yy12, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy11, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy9, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15 }; goto *yytarget[s->yych]; } yy9: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; goto yyc_Skiptoeol; yy24: ++s->cur; s->cond = EStateComment; goto yyc_Comment; yy26: s->yych = *++s->cur; { static void *yytarget[256] = { &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy41, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy39, &&yy27, &&yy29, &&yy17, &&yy17, &&yy17, &&yy43, &&yy17, &&yy37, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy31, &&yy35, &&yy33, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17 }; goto *yytarget[s->yych]; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy51, &&yy53, &&yy53, &&yy50, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy47, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy49, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[s->yych]; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: goto yyc_Skiptoeol; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; goto yyc_Skiptoeol; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; goto yyc_Skiptoeol; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_10.cgif.re0000775000076500007660000000745011016275331014105 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" => Comment := goto yyc_Comment; "//" => Skiptoeol := goto yyc_Skiptoeol; "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" => Normal := continue; [^] := goto yyc_Comment; "??/" "\r"? "\n" := goto yyc_Skiptoeol; "\\" "\r"? "\n" := goto yyc_Skiptoeol; "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] := goto yyc_Skiptoeol; '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_12.cgif.re0000775000076500007660000000731611016275331014110 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if(fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_13.cg.c0000775000076500007660000000305611016275331013403 00000000000000/* Generated by re2c */ #line 1 "condition_13.cg.re" #line 5 "" { YYCTYPE yych; static void *yyctable[3] = { &&yyc_0, &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_0: YYSETCONDITION(yycr1); #line 3 "condition_13.cg.re" goto yyc_r1; #line 20 "" /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy5; if (yych <= '1') goto yy8; goto yy6; } else { if (yych <= '`') goto yy5; if (yych <= 'a') goto yy10; if (yych <= 'b') goto yy12; } yy5: yy6: ++YYCURSOR; #line 5 "condition_13.cg.re" goto yyc_r1; #line 39 "" yy8: ++YYCURSOR; #line 4 "condition_13.cg.re" goto yyc_r1; #line 44 "" yy10: ++YYCURSOR; YYSETCONDITION(yycr2); #line 6 "condition_13.cg.re" goto yyc_r2; #line 50 "" yy12: ++YYCURSOR; YYSETCONDITION(yycr2); #line 7 "condition_13.cg.re" goto yyc_r2; #line 56 "" /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy16; if (yych <= '1') goto yy19; goto yy17; } else { if (yych == 'b') goto yy21; } yy16: yy17: ++YYCURSOR; YYSETCONDITION(yycr1); #line 5 "condition_13.cg.re" goto yyc_r1; #line 74 "" yy19: ++YYCURSOR; YYSETCONDITION(yycr1); #line 4 "condition_13.cg.re" goto yyc_r1; #line 80 "" yy21: ++YYCURSOR; #line 7 "condition_13.cg.re" goto yyc_r2; #line 85 "" } #line 9 "condition_13.cg.re" re2c-0.13.5/test/casing-flags.i.c0000775000076500007660000000041411016275331013302 00000000000000/* Generated by re2c */ { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'B': case 'b': goto yy5; case 'a': goto yy3; default: goto yy2; } yy2: yy3: ++YYCURSOR; {return 'a';} yy5: ++YYCURSOR; {return 'b';} } } re2c-0.13.5/test/overflow-4.c0000775000076500007660000000075611016275331012532 00000000000000/* Generated by re2c */ #line 1 "overflow-4.re" #line 5 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3); yych = *YYCURSOR; switch (yych) { case 'b': goto yy3; default: goto yy2; } yy2: yy3: yych = *++YYCURSOR; switch (yych) { case 'l': goto yy4; default: goto yy2; } yy4: yych = *++YYCURSOR; switch (yych) { case 'a': goto yy5; default: goto yy2; } yy5: ++YYCURSOR; #line 4 "overflow-4.re" { return "bla"; } #line 32 "" } #line 6 "overflow-4.re" re2c-0.13.5/test/casing-flags.i--case-inverted.re0000775000076500007660000000006311016275331016272 00000000000000/*!re2c "a" {return 'a';} 'b' {return 'b';} */ } re2c-0.13.5/test/casing-flags.i.re0000775000076500007660000000006311016275331013466 00000000000000/*!re2c "a" {return 'a';} 'b' {return 'b';} */ } re2c-0.13.5/test/condition_15.csif.re0000775000076500007660000000746711016275331014136 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; re2c:cond:goto = "continue;"; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; := fprintf(stderr, "Normal\n"); := fprintf(stderr, "Comment\n"); */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/cond_error_11.c.c0000775000076500007660000000015511016275331013375 00000000000000re2c: error: line 7, column 1: setup for all rules with '*' not possible when all rules are setup explicitly re2c-0.13.5/test/condition_14.cbif.c0000664000076500007660000001437711016275331013723 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; if (s->state < 1) { if (s->state < 0) { goto yy0; } else { goto yyFillLabel0; } } else { if (s->state < 2) { goto yyFillLabel1; } else { if (s->state < 3) { goto yyFillLabel2; } else { goto yyFillLabel3; } } } for(;;) { s->tok = s->cur; yy0: if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: continue; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; continue; yy24: ++s->cur; s->cond = EStateComment; continue; yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; if (s->yych <= '\r') { if (s->yych == '\n') goto yy51; if (s->yych <= '\f') goto yy53; goto yy50; } else { if (s->yych <= '?') { if (s->yych <= '>') goto yy53; } else { if (s->yych == '\\') goto yy49; goto yy53; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: continue; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; continue; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; continue; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_01a.c.c0000775000076500007660000000147511016275331013375 00000000000000/* Generated by re2c */ #line 1 "condition_01a.c.re" #line 5 "" { YYCTYPE yych; switch (YYGETCONDITION()) { case yyca: goto yyc_a; case yycb: goto yyc_b; } /**** State a ***/ yyc_a: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy4; default: goto yy2; } yy4: ++YYCURSOR; #line 3 "condition_01a.c.re" { } #line 32 "" /**** State b ***/ yyc_b: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy9; default: goto yy8; } yy8: yy9: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy10; default: goto yy8; } yy10: ++YYCURSOR; #line 3 "condition_01a.c.re" { } #line 52 "" } #line 5 "condition_01a.c.re" re2c-0.13.5/test/condition_14.cbif.re0000775000076500007660000000733011016275331014101 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; re2c:cond:goto = "continue;"; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/casing-flags.i--case-inverted.c0000775000076500007660000000041411016275331016106 00000000000000/* Generated by re2c */ { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'a': goto yy3; case 'b': goto yy5; default: goto yy2; } yy2: yy3: ++YYCURSOR; {return 'a';} yy5: ++YYCURSOR; {return 'b';} } } re2c-0.13.5/test/yyaccept_missing.bci.c0000775000076500007660000000740311016275331014630 00000000000000/* Generated by re2c */ #include #include #include #define YYGETCONDITION() yy_state #define YYSETCONDITION(s) yy_state = s #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) #define STATE(name) yyc##name static enum YYCONDTYPE yy_state; enum YYCONDTYPE { yycINITIAL, yycST_VALUE, }; int scan(char *s, int l) { char *p = s; char *q = 0; char *t; for(;;) { t = p; { YYCTYPE yych; unsigned int yyaccept = 0; if (YYGETCONDITION() < 1) { goto yyc_INITIAL; } else { goto yyc_ST_VALUE; } /* *********************************** */ yyc_INITIAL: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= 0x00) goto yy4; if (yych != '$') goto yy6; ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') goto yy3; if (yych <= 'Z') goto yy7; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy7; yy3: { printf("ERR\n"); return 1; } yy4: ++YYCURSOR; { printf("EOF\n"); return 0; } yy6: yych = *++YYCURSOR; goto yy3; yy7: ++YYCURSOR; { printf("FOUND %s\n", t); continue; } /* *********************************** */ yyc_ST_VALUE: { static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *(YYMARKER = YYCURSOR); if (yybm[0+yych] & 128) { goto yy14; } if (yych == '$') goto yy12; yy11: { YYSETCONDITION(STATE(INITIAL)); printf("Found spaces\n"); } yy12: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy13; if (yych <= 'Z') goto yy16; if (yych <= '`') goto yy13; if (yych <= 'z') goto yy16; yy13: YYCURSOR = YYMARKER; if (yyaccept <= 0) { goto yy11; } else { goto yy17; } yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy14; } goto yy11; yy16: yyaccept = 1; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych == '$') goto yy12; yy17: { printf("Found $ or $\\\n"); continue; } } } } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/test/condition_01b.c.re0000775000076500007660000000006511016275331013554 00000000000000/*!re2c re2c:cond:divider = ; < a , b > "ab" { } */ re2c-0.13.5/test/cond_error_11.c.re0000775000076500007660000000017511016275331013563 00000000000000/*!re2c "a" { return 1; } "b" { return 2; } { printf("foo"); } := printf("bar"); := printf("baz"); */ re2c-0.13.5/test/condition_14.cgif.c0000775000076500007660000003034611016275331013725 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; static void *yystable[] = { &&yyFillLabel0, &&yyFillLabel1, &&yyFillLabel2, &&yyFillLabel3, }; if (s->state < 0) { goto yy0; } goto *yystable[s->state]; for(;;) { s->tok = s->cur; { static void *yyctable[4] = { &&yyc_Normal, &&yyc_Comment, &&yyc_Skiptoeol, &&yyc_String, }; yy0: goto *yyctable[s->cond]; /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: continue; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; { static void *yytarget[256] = { &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy13, &&yy15, &&yy15, &&yy15, &&yy15, &&yy12, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy11, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy9, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15, &&yy15 }; goto *yytarget[s->yych]; } yy9: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; continue; yy24: ++s->cur; s->cond = EStateComment; continue; yy26: s->yych = *++s->cur; { static void *yytarget[256] = { &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy41, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy39, &&yy27, &&yy29, &&yy17, &&yy17, &&yy17, &&yy43, &&yy17, &&yy37, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy31, &&yy35, &&yy33, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17, &&yy17 }; goto *yytarget[s->yych]; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; { static void *yytarget[256] = { &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy51, &&yy53, &&yy53, &&yy50, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy47, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy49, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53 }; goto *yytarget[s->yych]; } yy47: s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: continue; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; continue; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; continue; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/cond_error_09.c.re0000775000076500007660000000014611016275331013570 00000000000000/*!re2c "a" { return 1; } "b" { return 2; } { printf("foo"); } := printf("bar"); */ re2c-0.13.5/test/condition_01b.c.c0000775000076500007660000000142711016275331013373 00000000000000/* Generated by re2c */ #line 1 "condition_01b.c.re" #line 5 "" { YYCTYPE yych; switch (YYGETCONDITION()) { case yyca: goto yyc_a; case yycb: goto yyc_b; } yyc_a: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy3; default: goto yy2; } yy2: yy3: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy4; default: goto yy2; } yy4: ++YYCURSOR; #line 3 "condition_01b.c.re" { } #line 31 "" yyc_b: if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 'a': goto yy9; default: goto yy8; } yy8: yy9: yych = *++YYCURSOR; switch (yych) { case 'b': goto yy10; default: goto yy8; } yy10: ++YYCURSOR; #line 3 "condition_01b.c.re" { } #line 50 "" } #line 5 "condition_01b.c.re" re2c-0.13.5/test/condition_14.csif.c0000664000076500007660000001424011016275331013731 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; switch (s->state) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; case 3: goto yyFillLabel3; } for(;;) { s->tok = s->cur; yy0: if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: continue; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; continue; yy24: ++s->cur; s->cond = EStateComment; continue; yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; if (s->yych <= '\r') { if (s->yych == '\n') goto yy51; if (s->yych <= '\f') goto yy53; goto yy50; } else { if (s->yych <= '?') { if (s->yych <= '>') goto yy53; } else { if (s->yych == '\\') goto yy49; goto yy53; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: continue; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; continue; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; continue; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_14.csif.re0000775000076500007660000000733011016275331014122 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; re2c:cond:goto = "continue;"; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_14.cif.re0000775000076500007660000000733011016275331013737 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; re2c:cond:goto = "continue;"; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_14.cif.c0000664000076500007660000001475011016275331013554 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; switch (s->state) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; case 3: goto yyFillLabel3; } for(;;) { s->tok = s->cur; yy0: switch (s->cond) { case EStateComment: goto yyc_Comment; case EStateNormal: goto yyc_Normal; case EStateSkiptoeol: goto yyc_Skiptoeol; case EStateString: goto yyc_String; } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; switch (s->yych) { case '*': goto yy2; default: goto yy4; } yy2: ++s->cur; switch ((s->yych = *s->cur)) { case '/': goto yy5; default: goto yy3; } yy3: continue; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; switch (s->yych) { case '"': goto yy13; case '\'': goto yy12; case '/': goto yy11; case '?': goto yy9; default: goto yy15; } yy9: s->yych = *(s->tok = ++s->cur); switch (s->yych) { case '?': goto yy26; default: goto yy10; } yy10: fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; switch (s->yych) { case '*': goto yy24; case '/': goto yy22; default: goto yy10; } yy12: s->yych = *(s->tok = ++s->cur); switch (s->yych) { case '"': goto yy16; case '\\': goto yy18; default: goto yy10; } yy13: ++s->cur; s->cond = EStateString; fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; switch (s->yych) { case '\'': goto yy20; default: goto yy17; } yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; switch (s->yych) { case '"': goto yy19; default: goto yy17; } yy19: s->yych = *++s->cur; switch (s->yych) { case '\'': goto yy20; default: goto yy17; } yy20: ++s->cur; fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; continue; yy24: ++s->cur; s->cond = EStateComment; continue; yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; fputc('[', stdout); continue; yy29: ++s->cur; fputc(']', stdout); continue; yy31: ++s->cur; fputc('{', stdout); continue; yy33: ++s->cur; fputc('}', stdout); continue; yy35: ++s->cur; fputc('#', stdout); continue; yy37: ++s->cur; fputc('\\', stdout); continue; yy39: ++s->cur; fputc('^', stdout); continue; yy41: ++s->cur; fputc('|', stdout); continue; yy43: ++s->cur; fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; switch (s->yych) { case '\n': goto yy51; case '\r': goto yy50; case '?': goto yy47; case '\\': goto yy49; default: goto yy53; } yy47: s->yych = *(s->tok = ++s->cur); switch (s->yych) { case '?': goto yy60; default: goto yy48; } yy48: continue; yy49: s->yych = *(s->tok = ++s->cur); switch (s->yych) { case '\n': goto yy58; case '\r': goto yy56; default: goto yy48; } yy50: s->yych = *++s->cur; switch (s->yych) { case '\n': goto yy54; default: goto yy48; } yy51: ++s->cur; s->cond = EStateNormal; fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; switch (s->yych) { case '\n': goto yy58; default: goto yy57; } yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; continue; yy60: s->yych = *++s->cur; switch (s->yych) { case '/': goto yy61; default: goto yy57; } yy61: s->yych = *++s->cur; switch (s->yych) { case '\n': goto yy63; case '\r': goto yy62; default: goto yy57; } yy62: s->yych = *++s->cur; switch (s->yych) { case '\n': goto yy63; default: goto yy57; } yy63: ++s->cur; continue; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; switch (s->yych) { case '"': goto yy69; case '\\': goto yy67; default: goto yy71; } yy67: ++s->cur; switch ((s->yych = *s->cur)) { case '\n': goto yy68; default: goto yy72; } yy68: fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fputl((const char*)s->cur-2, 2, stdout); continue; } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_14.cgif.re0000775000076500007660000000737311016275331014115 00000000000000#include #include #include #define BSIZE 8192 /*!types:re2c */ typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; /*!re2c re2c:define:YYGETSTATE = "s->state"; re2c:define:YYGETSTATE:naked = 1; re2c:define:YYCONDTYPE = ScanContition; re2c:indent:top = 1; re2c:cond:goto = "continue;"; */ /*!getstate:re2c */ for(;;) { s->tok = s->cur; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = s->cur; re2c:define:YYLIMIT = s->lim; re2c:define:YYMARKER = s->tok; re2c:define:YYFILL@len = #; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (fill(s, #) == ~0) break;"; re2c:define:YYSETSTATE@state = #; re2c:define:YYSETSTATE = "s->state = #;"; re2c:define:YYSETCONDITION = "s->cond = #;"; re2c:define:YYSETCONDITION@cond = #; re2c:define:YYGETCONDITION = s->cond; re2c:define:YYGETCONDITION:naked = 1; re2c:variable:yych = s->yych; re2c:yych:emit = 0; re2c:indent:top = 2; re2c:condenumprefix = EState; "??(" := fputc('[', stdout); continue; "??)" := fputc(']', stdout); continue; "??<" := fputc('{', stdout); continue; "??>" := fputc('}', stdout); continue; "??=" := fputc('#', stdout); continue; "??/" := fputc('\\', stdout); continue; "??'" := fputc('^', stdout); continue; "??!" := fputc('|', stdout); continue; "??-" := fputc('~', stdout); continue; "/*" :=> Comment "//" :=> Skiptoeol "'\\\"'"|"'\"'" := fputl("'\"'", 3, stdout); continue; '"' => String := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; "*" "/" :=> Normal [^] :=> Comment "??/" "\r"? "\n" :=> Skiptoeol "\\" "\r"? "\n" :=> Skiptoeol "\r" "\n" => Normal := fputc('\r', stdout); fputc('\n', stdout); continue; "\n" => Normal := fputc('\n', stdout); continue; [^] :=> Skiptoeol '\\' . := fputl((const char*)s->cur-2, 2, stdout); continue; '"' => Normal := fputc(s->cur[-1], stdout); continue; [^] := fputc(s->cur[-1], stdout); continue; */ } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/cond_error_09.c.c0000775000076500007660000000011111016275331013374 00000000000000re2c: error: line 6, column 6: code to setup rule 'a' is already defined re2c-0.13.5/test/cond_error_10.c.c0000775000076500007660000000010511016275331013367 00000000000000re2c: error: line 6, column 1: setup for non existing rule 'c' found re2c-0.13.5/test/condition_15.csif.c0000775000076500007660000001526111016275331013741 00000000000000/* Generated by re2c */ #include #include #include #define BSIZE 8192 enum ScanContition { EStateNormal, EStateComment, EStateSkiptoeol, EStateString, }; typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; unsigned char yych; enum ScanContition cond; int state; } Scanner; size_t fill(Scanner *s, size_t len) { size_t got = ~0, cnt; if (!s->eof && s->lim - s->tok < len) { if (s->tok > s->buffer) { cnt = s->tok - s->buffer; memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; cnt = &s->buffer[BSIZE] - s->lim; } else { cnt = BSIZE; } if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } if (s->eof && s->cur + len > s->eof) { return ~0; /* not enough input data */ } return got; } size_t init(Scanner *s) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; s->cond = EStateNormal; s->state = -1; return fill(s, 0); } void fputl(const char *s, size_t len, FILE *stream) { while(len-- > 0) { fputc(*s++, stream); } } void scan(Scanner *s) { s->tok = s->cur; switch (s->state) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; case 2: goto yyFillLabel2; case 3: goto yyFillLabel3; } for(;;) { s->tok = s->cur; yy0: if (s->cond < 2) { if (s->cond < 1) { goto yyc_Normal; } else { goto yyc_Comment; } } else { if (s->cond < 3) { goto yyc_Skiptoeol; } else { goto yyc_String; } } /* *********************************** */ yyc_Comment: s->state = 0; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel0: s->yych = *s->cur; if (s->yych != '*') goto yy4; ++s->cur; if ((s->yych = *s->cur) == '/') goto yy5; yy3: continue; yy4: s->yych = *++s->cur; goto yy3; yy5: ++s->cur; s->cond = EStateNormal; continue; /* *********************************** */ yyc_Normal: s->state = 1; if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break; yyFillLabel1: s->yych = *s->cur; if (s->yych <= '\'') { if (s->yych == '"') goto yy13; if (s->yych <= '&') goto yy15; goto yy12; } else { if (s->yych <= '/') { if (s->yych <= '.') goto yy15; goto yy11; } else { if (s->yych != '?') goto yy15; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy26; yy10: fprintf(stderr, "Normal\n"); fputc(s->cur[-1], stdout); continue; yy11: s->yych = *++s->cur; if (s->yych == '*') goto yy24; if (s->yych == '/') goto yy22; goto yy10; yy12: s->yych = *(s->tok = ++s->cur); if (s->yych == '"') goto yy16; if (s->yych == '\\') goto yy18; goto yy10; yy13: ++s->cur; s->cond = EStateString; fprintf(stderr, "Normal\n"); fputc(s->cur[-1], stdout); continue; yy15: s->yych = *++s->cur; goto yy10; yy16: s->yych = *++s->cur; if (s->yych == '\'') goto yy20; yy17: s->cur = s->tok; goto yy10; yy18: s->yych = *++s->cur; if (s->yych != '"') goto yy17; s->yych = *++s->cur; if (s->yych != '\'') goto yy17; yy20: ++s->cur; fprintf(stderr, "Normal\n"); fputl("'\"'", 3, stdout); continue; yy22: ++s->cur; s->cond = EStateSkiptoeol; continue; yy24: ++s->cur; s->cond = EStateComment; continue; yy26: s->yych = *++s->cur; switch (s->yych) { case '!': goto yy41; case '\'': goto yy39; case '(': goto yy27; case ')': goto yy29; case '-': goto yy43; case '/': goto yy37; case '<': goto yy31; case '=': goto yy35; case '>': goto yy33; default: goto yy17; } yy27: ++s->cur; fprintf(stderr, "Normal\n"); fputc('[', stdout); continue; yy29: ++s->cur; fprintf(stderr, "Normal\n"); fputc(']', stdout); continue; yy31: ++s->cur; fprintf(stderr, "Normal\n"); fputc('{', stdout); continue; yy33: ++s->cur; fprintf(stderr, "Normal\n"); fputc('}', stdout); continue; yy35: ++s->cur; fprintf(stderr, "Normal\n"); fputc('#', stdout); continue; yy37: ++s->cur; fprintf(stderr, "Normal\n"); fputc('\\', stdout); continue; yy39: ++s->cur; fprintf(stderr, "Normal\n"); fputc('^', stdout); continue; yy41: ++s->cur; fprintf(stderr, "Normal\n"); fputc('|', stdout); continue; yy43: ++s->cur; fprintf(stderr, "Normal\n"); fputc('~', stdout); continue; /* *********************************** */ yyc_Skiptoeol: s->state = 2; if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break; yyFillLabel2: s->yych = *s->cur; if (s->yych <= '\r') { if (s->yych == '\n') goto yy51; if (s->yych <= '\f') goto yy53; goto yy50; } else { if (s->yych <= '?') { if (s->yych <= '>') goto yy53; } else { if (s->yych == '\\') goto yy49; goto yy53; } } s->yych = *(s->tok = ++s->cur); if (s->yych == '?') goto yy60; yy48: continue; yy49: s->yych = *(s->tok = ++s->cur); if (s->yych == '\n') goto yy58; if (s->yych == '\r') goto yy56; goto yy48; yy50: s->yych = *++s->cur; if (s->yych == '\n') goto yy54; goto yy48; yy51: ++s->cur; s->cond = EStateNormal; fprintf(stderr, "Comment\n"); fputc('\n', stdout); continue; yy53: s->yych = *++s->cur; goto yy48; yy54: ++s->cur; s->cond = EStateNormal; fprintf(stderr, "Comment\n"); fputc('\r', stdout); fputc('\n', stdout); continue; yy56: s->yych = *++s->cur; if (s->yych == '\n') goto yy58; yy57: s->cur = s->tok; goto yy48; yy58: ++s->cur; continue; yy60: s->yych = *++s->cur; if (s->yych != '/') goto yy57; s->yych = *++s->cur; if (s->yych == '\n') goto yy63; if (s->yych != '\r') goto yy57; s->yych = *++s->cur; if (s->yych != '\n') goto yy57; yy63: ++s->cur; continue; /* *********************************** */ yyc_String: s->state = 3; if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break; yyFillLabel3: s->yych = *s->cur; if (s->yych == '"') goto yy69; if (s->yych != '\\') goto yy71; ++s->cur; if ((s->yych = *s->cur) != '\n') goto yy72; yy68: fprintf(stderr, "Normal\n"); fputc(s->cur[-1], stdout); continue; yy69: ++s->cur; s->cond = EStateNormal; fprintf(stderr, "Normal\n"); fputc(s->cur[-1], stdout); continue; yy71: s->yych = *++s->cur; goto yy68; yy72: ++s->cur; fprintf(stderr, "Normal\n"); fputl((const char*)s->cur-2, 2, stdout); continue; } } int main(int argc, char **argv) { Scanner in; if (argc != 2) { fprintf(stderr, "%s \n", argv[0]); return 1;; } memset((char*) &in, 0, sizeof(in)); if (!strcmp(argv[1], "-")) { in.fp = stdin; } else if ((in.fp = fopen(argv[1], "r")) == NULL) { fprintf(stderr, "Cannot open file '%s'\n", argv[1]); return 1; } if (init(&in) > 0) { scan(&in); } if (in.fp != stdin) { fclose(in.fp); } return 0; } re2c-0.13.5/test/condition_01a.c.re0000775000076500007660000000011311016275331013545 00000000000000/*!re2c re2c:cond:divider = "/**** State @@ ***\/"; < a , b > "ab" { } */ re2c-0.13.5/test/cond_error_10.c.re0000775000076500007660000000014611016275331013560 00000000000000/*!re2c "a" { return 1; } "b" { return 2; } { printf("foo"); } := printf("bar"); */ re2c-0.13.5/test/yyaccept_missing.bci.re0000775000076500007660000000201711016275331015010 00000000000000#include #include #include #define YYGETCONDITION() yy_state #define YYSETCONDITION(s) yy_state = s #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) #define STATE(name) yyc##name static enum YYCONDTYPE yy_state; /*!types:re2c */ int scan(char *s, int l) { char *p = s; char *q = 0; char *t; for(;;) { t = p; /*!re2c re2c:indent:top = 2; TABS_AND_SPACES = [ \t]*; LITERAL_DOLLAR = "$"[a-zA-Z]; LITERAL_DOLLAR { printf("FOUND %s\n", t); continue; } LITERAL_DOLLAR+ { printf("Found $ or $\\\n"); continue; } TABS_AND_SPACES { YYSETCONDITION(STATE(INITIAL)); printf("Found spaces\n"); } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/test/repeat-01.cgir.c0000775000076500007660000000556211016275331013147 00000000000000/* Generated by re2c */ // multiple scanners enum YYCONDTYPE { yycr1, yycr2, }; void scan(unsigned char* in) { { unsigned char yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++YYCURSOR; { return "2"; } yy5: ++YYCURSOR; { return "1"; } yy7: ++YYCURSOR; { return "a"; } yy9: ++YYCURSOR; { return "b"; } /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++YYCURSOR; { return "2"; } yy16: ++YYCURSOR; { return "1"; } yy18: ++YYCURSOR; { return "b"; } } } void scan(unsigned short* in) { { YYCTYPE yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++YYCURSOR; { return "2"; } yy5: ++YYCURSOR; { return "1"; } yy7: ++YYCURSOR; { return "a"; } yy9: ++YYCURSOR; { return "b"; } /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++YYCURSOR; { return "2"; } yy16: ++YYCURSOR; { return "1"; } yy18: ++YYCURSOR; { return "b"; } } } void scan(unsigned int* in) { { YYCTYPE yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++YYCURSOR; { return "2"; } yy5: ++YYCURSOR; { return "1"; } yy7: ++YYCURSOR; { return "a"; } yy9: ++YYCURSOR; { return "b"; } /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++YYCURSOR; { return "2"; } yy16: ++YYCURSOR; { return "1"; } yy18: ++YYCURSOR; { return "b"; } } } re2c-0.13.5/test/repeat-02.cgir.c0000775000076500007660000000552111016275331013143 00000000000000/* Generated by re2c */ // multiple scanners enum YYCONDTYPE { yycr1, yycr2, }; void scan(unsigned char* in) { { unsigned char yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (limit1 <= cursor1) fill1(1); yych = *cursor1; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++cursor1; { return "2"; } yy5: ++cursor1; { return "1"; } yy7: ++cursor1; { return "a"; } yy9: ++cursor1; { return "b"; } /* *********************************** */ yyc_r2: if (limit1 <= cursor1) fill1(1); yych = *cursor1; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++cursor1; { return "2"; } yy16: ++cursor1; { return "1"; } yy18: ++cursor1; { return "b"; } } } void scan(unsigned short* in) { { unsigned short yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (limit2 <= cursor2) fill2(1); yych = *cursor2; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++cursor2; { return "2"; } yy5: ++cursor2; { return "1"; } yy7: ++cursor2; { return "a"; } yy9: ++cursor2; { return "b"; } /* *********************************** */ yyc_r2: if (limit2 <= cursor2) fill2(1); yych = *cursor2; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++cursor2; { return "2"; } yy16: ++cursor2; { return "1"; } yy18: ++cursor2; { return "b"; } } } void scan(unsigned int* in) { { unsigned int yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (limit3 <= cursor3) fill3(1); yych = *cursor3; if (yych <= '2') { if (yych <= '0') goto yy2; if (yych <= '1') goto yy5; goto yy3; } else { if (yych <= '`') goto yy2; if (yych <= 'a') goto yy7; if (yych <= 'b') goto yy9; } yy2: yy3: ++cursor3; { return "2"; } yy5: ++cursor3; { return "1"; } yy7: ++cursor3; { return "a"; } yy9: ++cursor3; { return "b"; } /* *********************************** */ yyc_r2: if (limit3 <= cursor3) fill3(1); yych = *cursor3; if (yych <= '2') { if (yych <= '0') goto yy13; if (yych <= '1') goto yy16; goto yy14; } else { if (yych == 'b') goto yy18; } yy13: yy14: ++cursor3; { return "2"; } yy16: ++cursor3; { return "1"; } yy18: ++cursor3; { return "b"; } } } re2c-0.13.5/test/casing-flags.i--case-insensitive.re0000775000076500007660000000006311016275331017012 00000000000000/*!re2c "a" {return 'a';} 'b' {return 'b';} */ } re2c-0.13.5/test/casing-flags.i--case-insensitive.c0000775000076500007660000000042711016275331016632 00000000000000/* Generated by re2c */ { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case 'A': case 'a': goto yy3; case 'B': case 'b': goto yy5; default: goto yy2; } yy2: yy3: ++YYCURSOR; {return 'a';} yy5: ++YYCURSOR; {return 'b';} } } re2c-0.13.5/test/parse_date_1_78.db.re0000775000076500007660000015634111016275331014145 00000000000000/* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: parse_date.re,v 1.78 2008/05/02 12:48:19 derick Exp $ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_UNSET -99999 #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define TIMELIB_SPECIAL 8 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_LF_DAY_OF_MONTH 280 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; } #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == TIMELIB_UNSET) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; struct timelib_error_container *errors; struct timelib_time *time; const timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ const static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ' || ptr[0] == '\t') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static void add_warning(Scanner *s, char *error) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_error(Scanner *s, char *error) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr; s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr; s->errors->error_messages[s->errors->error_count - 1].character = *cptr; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { ++*ptr; if (**ptr != 'm' && **ptr != 'M') { return TIMELIB_UNSET; } ++*ptr; if (**ptr != '.' ) { return TIMELIB_UNSET; } ++*ptr; } else if (**ptr == 'm' || **ptr == 'M') { ++*ptr; } else { return TIMELIB_UNSET; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); if (str[0] == ':') { str[0] = '.'; } tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } while (**ptr == '+' || **ptr == '-') { if (**ptr == '-') { dir *= -1; } ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ' || **ptr == '\t') { ++*ptr; } } static void timelib_eat_until_separator(char **ptr) { while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ' && **ptr != '\t') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; if (!(relunit = timelib_lookup_relunit(ptr))) { return; } switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; case TIMELIB_SPECIAL: TIMELIB_HAVE_SPECIAL_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.special.type = relunit->multiplier; s->time->relative.special.amount = amount; } } const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; const timelib_tz_lookup_table *tp, *first_found_elem = NULL; const timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { ++*ptr; } if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) { *ptr += 3; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); if (found) { t->zone_type = TIMELIB_ZONETYPE_ABBR; } #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (found && t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; /*!re2c any = [\000-\377]; space = [ \t]+; frac = "."[0-9]+; ago = 'ago'; hour24 = [01]?[0-9] | "2"[0-4]; hour24lz = [01][0-9] | "2"[0-4]; hour12 = "0"?[1-9] | "1"[0-2]; minute = [0-5]?[0-9]; minutelz = [0-5][0-9]; second = minute | "60"; secondlz = minutelz | "60"; meridian = ([AaPp] "."? [Mm] "."?) [\000\t ]; tz = "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+; tzcorrection = "GMT"? [+-] hour24 ":"? minute?; daysuf = "st" | "nd" | "rd" | "th"; month = "0"? [0-9] | "1"[0-2]; day = ([0-2]?[0-9] | "3"[01]) daysuf?; year = [0-9]{1,4}; year2 = [0-9]{2}; year4 = [0-9]{4}; year4withsign = [+-]? [0-9]{4}; dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]; weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3]; monthlz = "0" [0-9] | "1" [0-2]; daylz = "0" [0-9] | [1-2][0-9] | "3" [01]; dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday'; dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'; dayspecial = 'weekday' | 'weekdays'; daytext = dayfull | dayabbr | dayspecial; monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december'; monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'; monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII"; monthtext = monthfull | monthabbr | monthroman; /* Time formats */ timetiny12 = hour12 space? meridian; timeshort12 = hour12[:.]minutelz space? meridian; timelong12 = hour12[:.]minute[:.]secondlz space? meridian; timeshort24 = 't'? hour24[:.]minute; timelong24 = 't'? hour24[:.]minute[:.]second; iso8601long = 't'? hour24 [:.] minute [:.] second frac; /* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */ iso8601normtz = 't'? hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz); /* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */ gnunocolon = 't'? hour24lz minutelz; /* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */ iso8601nocolon = 't'? hour24lz minutelz secondlz; /* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */ /* Date formats */ americanshort = month "/" day; american = month "/" day "/" year; iso8601dateslash = year4 "/" monthlz "/" daylz "/"?; dateslash = year4 "/" month "/" day; iso8601date4 = year4withsign "-" monthlz "-" daylz; iso8601date2 = year2 "-" monthlz "-" daylz; gnudateshorter = year4 "-" month; gnudateshort = year "-" month "-" day; pointeddate4 = day [.\t-] month [.-] year4; pointeddate2 = day [.\t-] month [.-] year2; datefull = day ([ \t.-])* monthtext ([ \t.-])* year; datenoday = monthtext ([ .\t-])* year4; datenodayrev = year4 ([ .\t-])* monthtext; datetextual = monthtext ([ .\t-])* day [,.stndrh\t ]* year; datenoyear = monthtext ([ .\t-])* day [,.stndrh\t ]*; datenoyearrev = day ([ .\t-])* monthtext; datenocolon = year4 monthlz daylz; /* Special formats */ soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?; xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz; xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz; wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second; pgydotd = year4 "."? dayofyear; pgtextshort = monthabbr "-" daylz "-" year; pgtextreverse = year "-" monthabbr "-" daylz; mssqltime = hour12 ":" minutelz ":" secondlz [:.] [0-9]+ meridian; isoweekday = year4 "-"? "W" weekofyear "-"? [0-7]; isoweek = year4 "-"? "W" weekofyear; exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz; firstdayof = 'first day' ' of'?; lastdayof = 'last day' ' of'?; /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection; /* Timestamp format: @1126396800 */ timestamp = "@" "-"? [0-9]+; /* To fix some ambiguities */ dateshortwithtimeshort12 = datenoyear timeshort12; dateshortwithtimelong12 = datenoyear timelong12; dateshortwithtimeshort = datenoyear timeshort24; dateshortwithtimelong = datenoyear timelong24; dateshortwithtimelongtz = datenoyear iso8601normtz; /* * Relative regexps */ reltextnumber = 'first'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'ninth'|'tenth'|'eleventh'|'twelfth'; reltexttext = 'next'|'last'|'previous'|'this'; reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'fortnight'|'forthnight'|'month'|'year') 's'?) | 'weeks' | daytext; relnumber = ([+-]*[ \t]*[0-9]+); relative = relnumber space? (reltextunit | 'week' ); relativetext = (reltextnumber|reltexttext) space reltextunit; relativetextweek = reltexttext space 'week'; */ /*!re2c /* so that vim highlights correctly */ 'yesterday' { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'now' { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'noon' { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'midnight' | 'today' { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } 'tomorrow' { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } timestamp { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TZ(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } firstdayof | lastdayof { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); // skip "last day of" or "first day of" if (*ptr == 'l') { s->time->relative.first_last_day_of = 2; } else { s->time->relative.first_last_day_of = 1; } TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } timetiny12 | timeshort12 | timelong12 { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } mssqltime { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } timelib_eat_spaces((char **) &ptr); s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/ { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } gnunocolon { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; add_error(s, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } /* gnunocolontz { DEBUG_OUTPUT("gnunocolontz"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb); break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON_TZ; } */ iso8601nocolon /*| iso8601nocolontz*/ { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } americanshort | american { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } iso8601date4 | iso8601dateslash | dateslash { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } iso8601date2 { DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshorter { DEBUG_OUTPUT("gnudateshorter"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } gnudateshort { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } datefull { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } pointeddate4 { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } pointeddate2 { DEBUG_OUTPUT("pointed date YY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } datenoday { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datenodayrev { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } datetextual | datenoyear { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenoyearrev { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } datenocolon { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } xmlrpc | xmlrpcnocolon | soap | wddx | exif { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } pgydotd { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } isoweekday { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } isoweek { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } pgtextshort { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } pgtextreverse { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } clf { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } year4 { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } ago { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; if (s->time->relative.weekday == 0) { s->time->relative.weekday = -7; } if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { s->time->relative.special.amount = 0 - s->time->relative.special.amount; } TIMELIB_DEINIT; return TIMELIB_AGO; } daytext { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; if (s->time->relative.weekday_behavior != 2) { s->time->relative.weekday_behavior = 1; } TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } relativetextweek { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetextweek"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); s->time->relative.weekday_behavior = 2; /* to handle the format weekday + last/this/next week */ if (s->time->relative.have_weekday_relative == 0) { TIMELIB_HAVE_WEEKDAY_RELATIVE(); s->time->relative.weekday = 1; } } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } relativetext { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } monthfull | monthabbr { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_lookup_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } tzcorrection | tz { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } dateshortwithtimeshort12 | dateshortwithtimelong12 { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } relative { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } [ .,\t] { goto std; } "\000"|"\n" { s->pos = cursor; s->line++; goto std; } any { add_error(s, "Unexpected character"); goto std; } */ } /*!max:re2c */ timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; if (len > 0) { while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } } if (e - s < 0) { in.time = timelib_time_ctor(); add_error(&in, "Empty string"); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } #define TIMELIB_CHECK_NUMBER \ if (strchr("0123456789", *ptr) == NULL) \ { \ add_pbf_error(s, "Unexpected data found.", string, begin); \ } timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb) { char *fptr = format; char *ptr = string; char *begin; timelib_sll tmp; Scanner in; Scanner *s = ∈ memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; /* Loop over the format string */ while (*fptr && *ptr) { begin = ptr; switch (*fptr) { case 'd': // two digit day, with leading zero case 'j': // two digit day, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit day could not be found", string, begin); } break; case 'S': // day suffix, ignored, nor checked timelib_skip_day_suffix((char **) &ptr); break; case 'z': // day of year - resets month (0 based) TIMELIB_CHECK_NUMBER; if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; } break; case 'm': // two digit month, with leading zero case 'n': // two digit month, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit month could not be found", string, begin); } break; case 'M': // three letter month case 'F': // full month tmp = timelib_lookup_month((char **) &ptr); if (!tmp) { add_pbf_error(s, "A textual month could not be found", string, begin); } else { s->time->m = tmp; } break; case 'y': // two digit year TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit year could not be found", string, begin); } TIMELIB_PROCESS_YEAR(s->time->y); break; case 'Y': // four digit year TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) { add_pbf_error(s, "A four digit year could not be found", string, begin); } break; case 'g': // two digit hour, with leading zero case 'h': // two digit hour, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } if (s->time->h > 12) { add_pbf_error(s, "Hour can not be higher than 12", string, begin); } break; case 'G': // two digit hour, with leading zero case 'H': // two digit hour, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } break; case 'a': // am/pm/a.m./p.m. case 'A': // AM/PM/A.M./P.M. if (s->time->h == TIMELIB_UNSET) { add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin); } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) { add_pbf_error(s, "A meridian could not be found", string, begin); } else { s->time->h += tmp; } break; case 'i': // two digit minute, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit minute could not be found", string, begin); } break; case 's': // two digit second, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit second could not be found", string, begin); } break; case 'u': // five digit millisecond, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->f = timelib_get_nr((char **) &ptr, 5)) == TIMELIB_UNSET) { add_pbf_error(s, "A five digit millisecond could not be found", string, begin); } break; case ' ': // any sort of whitespace (' ' and \t) timelib_eat_spaces((char **) &ptr); break; case 'U': // epoch seconds TIMELIB_CHECK_NUMBER; TIMELIB_HAVE_RELATIVE(); tmp = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += tmp; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; break; case 'e': // timezone { int tz_not_found; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_pbf_error(s, "The timezone could not be found in the database", string, begin); } } break; case '#': // separation symbol if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-') { ++ptr; } else { add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); } break; case ';': case ':': case '/': case '.': case ',': case '-': if (*ptr == *fptr) { ++ptr; } else { add_pbf_error(s, "The separation symbol could not be found", string, begin); } break; case '!': // reset all fields to default s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->tz_info = NULL; break; // break intentionally not missing case '|': // reset all fields to default when not set if (s->time->y == TIMELIB_UNSET ) s->time->y = 1970; if (s->time->m == TIMELIB_UNSET ) s->time->m = 1; if (s->time->d == TIMELIB_UNSET ) s->time->d = 1; if (s->time->h == TIMELIB_UNSET ) s->time->h = 0; if (s->time->i == TIMELIB_UNSET ) s->time->i = 0; if (s->time->s == TIMELIB_UNSET ) s->time->s = 0; if (s->time->f == TIMELIB_UNSET ) s->time->f = 0.0; break; // break intentionally not missing case '?': // random char ++ptr; break; case '*': // random chars until a separator or number ([ \t.,:;/-0123456789]) timelib_eat_until_separator((char **) &ptr); break; default: if (*fptr != *ptr) { add_pbf_error(s, "The format separator does not match", string, begin); } ptr++; } fptr++; } if (*ptr) { add_pbf_error(s, "Trailing data", string, ptr); } if (*fptr) { add_pbf_error(s, "Data missing", string, ptr); } // clean up a bit if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) { if (s->time->h == TIMELIB_UNSET ) { s->time->h = 0; } if (s->time->i == TIMELIB_UNSET ) { s->time->i = 0; } if (s->time->s == TIMELIB_UNSET ) { s->time->s = 0; } } if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0; if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0; if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0; if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0; if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0; if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { const timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/test/repeat-02.cgir.re0000775000076500007660000000133211016275331013323 00000000000000// multiple scanners /*!types:re2c */ void scan(unsigned char* in) { /*!rules:re2c <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } *//*!use:re2c re2c:define:YYCTYPE = 'unsigned char'; re2c:define:YYFILL = 'fill1'; re2c:define:YYCURSOR = 'cursor1'; re2c:define:YYLIMIT = 'limit1'; */ } void scan(unsigned short* in) { /*!use:re2c re2c:define:YYCTYPE = 'unsigned short'; re2c:define:YYFILL = 'fill2'; re2c:define:YYCURSOR = 'cursor2'; re2c:define:YYLIMIT = 'limit2'; */ } void scan(unsigned int* in) { /*!use:re2c re2c:define:YYCTYPE = 'unsigned int'; re2c:define:YYFILL = 'fill3'; re2c:define:YYCURSOR = 'cursor3'; re2c:define:YYLIMIT = 'limit3'; */ } re2c-0.13.5/test/repeat-01.cgir.re0000775000076500007660000000055611016275331013331 00000000000000// multiple scanners /*!types:re2c */ void scan(unsigned char* in) { /*!rules:re2c <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } *//*!use:re2c re2c:define:YYCTYPE = 'unsigned char'; */ } void scan(unsigned short* in) { /*!use:re2c */ } void scan(unsigned int* in) { /*!use:re2c */ } re2c-0.13.5/test/repeat-00.cgi.re0000775000076500007660000000053711016275331013145 00000000000000// multiples scanners void scan(unsigned char* in) { /*!rules:re2c <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } */ /*!use:re2c re2c:define:YYCTYPE = 'unsigned char'; */ } void scan(unsigned short* in) { /*!use:re2c */ } void scan(unsigned int* in) { /*!use:re2c */ } re2c-0.13.5/test/dot_conditions.Dc.re0000664000076500007660000000026511016275331014246 00000000000000int main() { printf("some code that will be stripped"); /*!re2c "abc" { return 1; } "abc" { return 2; } "foo" { return 3; } */ printf("here too\n"); } re2c-0.13.5/test/overflow-1.re0000775000076500007660000002006411016275331012705 00000000000000/*!re2c "00000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfow?" {return 'a';} */re2c-0.13.5/test/overflow-2.re0000775000076500007660000002006211016275331012704 00000000000000/*!re2c x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ {return 'a';} */re2c-0.13.5/test/overflow-3.re0000775000076500007660000002006211016275331012705 00000000000000/*!re2c x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ {return 'a';} */re2c-0.13.5/test/repeat-00.cgi.c0000775000076500007660000000011111016275331012745 00000000000000re2c: error: line 5, column 1: found 'reules:re2c' block without -r flag re2c-0.13.5/test/dot_conditions.Dc.c0000664000076500007660000000132411016275331014057 00000000000000/* Generated by re2c */ digraph re2c { 0 -> state1 [label="state=state1"] 0 -> state2 [label="state=state2"] /* *********************************** */ state1 -> 1 1 -> 3 [label="a"] 1 -> 4 [label="f"] 1 -> 2 [label=default] 3 -> 8 [label="b"] 3 -> 2 [label=default] 4 -> 5 [label="o"] 4 -> 2 [label=default] 5 -> 6 [label="o"] 5 -> 2 [label=default] 6 -> 7 7 [label="dot_conditions.Dc.re:8"]; 8 -> 9 [label="c"] 8 -> 2 [label=default] 9 -> 10 10 [label="dot_conditions.Dc.re:6"]; /* *********************************** */ state2 -> 12 12 -> 14 [label="a"] 12 -> 13 [label=default] 14 -> 15 [label="b"] 14 -> 13 [label=default] 15 -> 16 [label="c"] 15 -> 13 [label=default] 16 -> 17 17 [label="dot_conditions.Dc.re:7"]; } re2c-0.13.5/test/flex-01.iF.re0000775000076500007660000000011411016275331012407 00000000000000/*!re2c F1 = "a"; F2 = "b"; {F1} { return "a"; } {F2} { return "b"; } */ re2c-0.13.5/test/flex-01.i.c0000775000076500007660000000012211016275331012114 00000000000000re2c: error: line 6, column 1: curly braces for names only allowed with -F switch re2c-0.13.5/test/overflow-4.re0000775000076500007660000004013311016275331012707 00000000000000/*!re2c x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ = "bla"; x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ { return "bla"; } */re2c-0.13.5/test/repeat-03.cgir.re0000775000076500007660000000047011016275331013326 00000000000000// multiple scanners /*!types:re2c */ void scan(unsigned char* in) { /*!rules:re2c <*> "a" { return "a"; } <*> . { return "."; } "b" { return "b"; } "c" { return "c"; } *//*!use:re2c "1" { return "1"; } */ } void scan(unsigned short* in) { /*!use:re2c "2" { return "2"; } */ } re2c-0.13.5/test/repeat-04.cgir.re0000775000076500007660000000046511016275331013333 00000000000000// multiple scanners, error /*!types:re2c */ void scan(unsigned char* in) { /*!rules:re2c <*> "1" { return "1"; } <*> "2" { return "2"; } "a" { return "a"; } "b" { return "b"; } *//*!use:re2c re2c:define:YYCTYPE = 'unsigned char'; */ /* Next block is not possible */ /*!rules:re2c */ } re2c-0.13.5/test/repeat-03.cgir.c0000775000076500007660000001360311016275331013144 00000000000000/* Generated by re2c */ // multiple scanners enum YYCONDTYPE { yycr1, yycr2, }; void scan(unsigned char* in) { { YYCTYPE yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy2, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7, &&yy9, &&yy11, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy2: yy3: ++YYCURSOR; { return "."; } yy5: ++YYCURSOR; { return "1"; } yy7: ++YYCURSOR; { return "a"; } yy9: ++YYCURSOR; { return "b"; } yy11: ++YYCURSOR; { return "c"; } /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') { if (yych != '\n') goto yy16; } else { if (yych <= 'a') goto yy18; if (yych == 'c') goto yy20; goto yy16; } yy16: ++YYCURSOR; { return "."; } yy18: ++YYCURSOR; { return "a"; } yy20: ++YYCURSOR; { return "c"; } } } void scan(unsigned short* in) { { YYCTYPE yych; static void *yyctable[2] = { &&yyc_r1, &&yyc_r2, }; goto *yyctable[YYGETCONDITION()]; /* *********************************** */ yyc_r1: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; { static void *yytarget[256] = { &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy2, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7, &&yy9, &&yy11, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3 }; goto *yytarget[yych]; } yy2: yy3: ++YYCURSOR; { return "."; } yy5: ++YYCURSOR; { return "2"; } yy7: ++YYCURSOR; { return "a"; } yy9: ++YYCURSOR; { return "b"; } yy11: ++YYCURSOR; { return "c"; } /* *********************************** */ yyc_r2: if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') { if (yych != '\n') goto yy16; } else { if (yych <= 'a') goto yy18; if (yych == 'c') goto yy20; goto yy16; } yy16: ++YYCURSOR; { return "."; } yy18: ++YYCURSOR; { return "a"; } yy20: ++YYCURSOR; { return "c"; } } } re2c-0.13.5/test/config4g.ifs.c0000775000076500007660000000123311016275331012775 00000000000000/* Generated by re2c */ #define NULL ((char*) 0) const unsigned char *scan(const unsigned char *p, unsigned int len, int *state) { unsigned char c; const unsigned char *q; const unsigned char * const e = p + len; switch (*state) { default: goto yy0; case 0: goto yyFillLabel0; case 1: goto yyFillLabel1; } yy0: *state = 0; if (p >= e) { return NULL; } yyFillLabel0: c = *p; if (c <= '/') goto yy4; if (c >= ':') goto yy4; ++p; c = *p; goto yy7; yy3: { return p; } yy4: ++p; { return NULL; } yy6: ++p; *state = 1; if (p >= e) { return NULL; } yyFillLabel1: c = *p; yy7: if (c <= '/') goto yy3; if (c <= '9') goto yy6; goto yy3; } re2c-0.13.5/test/repeat-04.cgir.c0000775000076500007660000000011011016275331013132 00000000000000re2c: error: line 20, column 1: cannot have a second 'rules:re2c' block re2c-0.13.5/test/config4g.ifs.re0000775000076500007660000000160011016275331013157 00000000000000#define NULL ((char*) 0) const unsigned char *scan(const unsigned char *p, unsigned int len, int *state) { unsigned char c; const unsigned char *q; const unsigned char * const e = p + len; /*!re2c re2c:variable:yych = c; re2c:indent:top = 1; re2c:state:abort = 0; re2c:state:nextlabel = 0; re2c:define:YYCTYPE = char; re2c:define:YYCURSOR = p; re2c:define:YYLIMIT = e; re2c:define:YYMARKER = q; re2c:yyfill:check = 0; re2c:define:YYFILL:naked = 1; re2c:define:YYFILL = "if (p >= e) {\n\t\treturn NULL;\n\t}"; re2c:define:YYSETSTATE = "*state = @;"; re2c:define:YYSETSTATE:naked = 1; re2c:define:YYSETSTATE@state = "@"; re2c:define:YYGETSTATE = "*state"; re2c:define:YYGETSTATE:naked = 1; */ /*!getstate:re2c */ /*!re2c [0-9]+ { return p; } [\000-\377] { return NULL; } */ } re2c-0.13.5/test/repeat-05.cgir.c0000775000076500007660000000011711016275331013142 00000000000000re2c: error: line 7, column 1: found standard 're2c' block while using -r flag re2c-0.13.5/test/repeat-07.gir.re0000775000076500007660000000171411016275331013171 00000000000000// multiple scanners, additional rules, char width change void scan(unsigned char* in) { /*!rules:re2c "a" := return "a"; "b" := return "b"; "c" := return "c"; "d" := return "d"; re2c:indent:top = 1; *//*!use:re2c re2c:flags:u = 0; re2c:flags:w = 0; re2c:define:YYCTYPE = 'unsigned char'; re2c:define:YYFILL = 'fill1'; re2c:define:YYCURSOR = 'cursor1'; re2c:define:YYLIMIT = 'limit1'; "1" := return "1"; . := return "."; */ } void scan(unsigned short* in) { /*!use:re2c re2c:flags:u = 0; re2c:flags:w = 1; re2c:define:YYCTYPE = 'unsigned short'; re2c:define:YYFILL = 'fill2'; re2c:define:YYCURSOR = 'cursor2'; re2c:define:YYLIMIT = 'limit2'; "2" := return "2"; . := return "."; */ } void scan(unsigned int* in) { /*!use:re2c re2c:flags:u = 1; re2c:flags:w = 1; re2c:define:YYCTYPE = 'unsigned int'; re2c:define:YYFILL = 'fill3'; re2c:define:YYCURSOR = 'cursor3'; re2c:define:YYLIMIT = 'limit3'; "3" := return "3"; . := return "."; */ } re2c-0.13.5/test/repeat-06.gir.c0000775000076500007660000001714711016275331013013 00000000000000/* Generated by re2c */ // multiple scanners, additional rules, no char width change void scan(unsigned char* in) { { unsigned char yych; if (limit1 <= cursor1) fill1(1); yych = *cursor1; { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor1; return "a"; yy5: ++cursor1; return "b"; yy7: ++cursor1; return "c"; yy9: ++cursor1; return "d"; yy11: ++cursor1; return "1"; yy13: ++cursor1; return "."; } } void scan(unsigned short* in) { { unsigned short yych; if (limit2 <= cursor2) fill2(1); yych = *cursor2; { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor2; return "a"; yy5: ++cursor2; return "b"; yy7: ++cursor2; return "c"; yy9: ++cursor2; return "d"; yy11: ++cursor2; return "2"; yy13: ++cursor2; return "."; } } void scan(unsigned int* in) { { unsigned int yych; if (limit3 <= cursor3) fill3(1); yych = *cursor3; { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor3; return "a"; yy5: ++cursor3; return "b"; yy7: ++cursor3; return "c"; yy9: ++cursor3; return "d"; yy11: ++cursor3; return "3"; yy13: ++cursor3; return "."; } } re2c-0.13.5/test/repeat-07.gir.c0000775000076500007660000001727211016275331013013 00000000000000/* Generated by re2c */ // multiple scanners, additional rules, char width change void scan(unsigned char* in) { { unsigned char yych; if (limit1 <= cursor1) fill1(1); yych = *cursor1; { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor1; return "a"; yy5: ++cursor1; return "b"; yy7: ++cursor1; return "c"; yy9: ++cursor1; return "d"; yy11: ++cursor1; return "1"; yy13: ++cursor1; return "."; } } void scan(unsigned short* in) { { unsigned short yych; if (limit2 <= cursor2) fill2(1); yych = *cursor2; if (yych & ~0xFF) { goto yy13; } else { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor2; return "a"; yy5: ++cursor2; return "b"; yy7: ++cursor2; return "c"; yy9: ++cursor2; return "d"; yy11: ++cursor2; return "2"; yy13: ++cursor2; return "."; } } void scan(unsigned int* in) { { unsigned int yych; if (limit3 <= cursor3) fill3(1); yych = *cursor3; if (yych & ~0xFF) { goto yy13; } else { static void *yytarget[256] = { &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy2, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy11, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy3, &&yy5, &&yy7, &&yy9, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13, &&yy13 }; goto *yytarget[yych]; } yy2: yy3: ++cursor3; return "a"; yy5: ++cursor3; return "b"; yy7: ++cursor3; return "c"; yy9: ++cursor3; return "d"; yy11: ++cursor3; return "3"; yy13: ++cursor3; return "."; } } re2c-0.13.5/test/repeat-05.cgir.re0000775000076500007660000000015511016275331013330 00000000000000// multiple scanners, error /*!types:re2c */ void scan(unsigned char* in) { /*!re2c re2c not allowed */ } re2c-0.13.5/test/repeat-06.gir.re0000775000076500007660000000154011016275331013165 00000000000000// multiple scanners, additional rules, no char width change void scan(unsigned char* in) { /*!rules:re2c "a" := return "a"; "b" := return "b"; "c" := return "c"; "d" := return "d"; re2c:indent:top = 1; *//*!use:re2c re2c:define:YYCTYPE = 'unsigned char'; re2c:define:YYFILL = 'fill1'; re2c:define:YYCURSOR = 'cursor1'; re2c:define:YYLIMIT = 'limit1'; "1" := return "1"; . := return "."; */ } void scan(unsigned short* in) { /*!use:re2c re2c:define:YYCTYPE = 'unsigned short'; re2c:define:YYFILL = 'fill2'; re2c:define:YYCURSOR = 'cursor2'; re2c:define:YYLIMIT = 'limit2'; "2" := return "2"; . := return "."; */ } void scan(unsigned int* in) { /*!use:re2c re2c:define:YYCTYPE = 'unsigned int'; re2c:define:YYFILL = 'fill3'; re2c:define:YYCURSOR = 'cursor3'; re2c:define:YYLIMIT = 'limit3'; "3" := return "3"; . := return "."; */ } re2c-0.13.5/test/line-01.re0000775000076500007660000000033111016275331012044 00000000000000const char* scan(unsigned char* in) { /*!re2c #line 1 "a" "a" { return "a"; } #line 2 "b" "b" { return "b"; } "c" { return "c"; } #line 1 "d" "d" { return "d"; } . { return "."; } #line 1 "e" */ } re2c-0.13.5/test/line-01.c0000775000076500007660000000127111016275331011664 00000000000000/* Generated by re2c */ #line 1 "line-01.re" const char* scan(unsigned char* in) { #line 7 "" { YYCTYPE yych; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '\n': goto yy2; case 'a': goto yy3; case 'b': goto yy5; case 'c': goto yy7; case 'd': goto yy9; default: goto yy11; } yy2: yy3: ++YYCURSOR; #line 1 "a" { return "a"; } #line 28 "" yy5: ++YYCURSOR; #line 2 "b" { return "b"; } #line 35 "" yy7: ++YYCURSOR; #line 5 "b" { return "c"; } #line 42 "" yy9: ++YYCURSOR; #line 2 "d" { return "d"; } #line 49 "" yy11: ++YYCURSOR; #line 6 "d" { return "."; } #line 56 "" } #line 1 "e" } re2c-0.13.5/test/parse_date_1_78.db.c0000775000076500007660000165647111016275331013773 00000000000000/* Generated by re2c */ #line 1 "parse_date_1_78.db.re" /* +----------------------------------------------------------------------+ | PHP Version 5 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2006 The PHP Group | +----------------------------------------------------------------------+ | This source file is subject to version 3.01 of the PHP license, | | that is bundled with this package in the file LICENSE, and is | | available through the world-wide-web at the following url: | | http://www.php.net/license/3_01.txt | | If you did not receive a copy of the PHP license and are unable to | | obtain it through the world-wide-web, please send a note to | | license@php.net so we can mail you a copy immediately. | +----------------------------------------------------------------------+ | Authors: Derick Rethans | +----------------------------------------------------------------------+ */ /* $Id: parse_date.re,v 1.78 2008/05/02 12:48:19 derick Exp $ */ #include "timelib.h" #include #include #ifdef HAVE_STDLIB_H #include #endif #ifdef HAVE_STRING_H #include #else #include #endif #if defined(_MSC_VER) # define strtoll(s, f, b) _atoi64(s) #elif !defined(HAVE_STRTOLL) # if defined(HAVE_ATOLL) # define strtoll(s, f, b) atoll(s) # else # define strtoll(s, f, b) strtol(s, f, b) # endif #endif #define TIMELIB_UNSET -99999 #define TIMELIB_SECOND 1 #define TIMELIB_MINUTE 2 #define TIMELIB_HOUR 3 #define TIMELIB_DAY 4 #define TIMELIB_MONTH 5 #define TIMELIB_YEAR 6 #define TIMELIB_WEEKDAY 7 #define TIMELIB_SPECIAL 8 #define EOI 257 #define TIME 258 #define DATE 259 #define TIMELIB_XMLRPC_SOAP 260 #define TIMELIB_TIME12 261 #define TIMELIB_TIME24 262 #define TIMELIB_GNU_NOCOLON 263 #define TIMELIB_GNU_NOCOLON_TZ 264 #define TIMELIB_ISO_NOCOLON 265 #define TIMELIB_AMERICAN 266 #define TIMELIB_ISO_DATE 267 #define TIMELIB_DATE_FULL 268 #define TIMELIB_DATE_TEXT 269 #define TIMELIB_DATE_NOCOLON 270 #define TIMELIB_PG_YEARDAY 271 #define TIMELIB_PG_TEXT 272 #define TIMELIB_PG_REVERSE 273 #define TIMELIB_CLF 274 #define TIMELIB_DATE_NO_DAY 275 #define TIMELIB_SHORTDATE_WITH_TIME 276 #define TIMELIB_DATE_FULL_POINTED 277 #define TIMELIB_TIME24_WITH_ZONE 278 #define TIMELIB_ISO_WEEK 279 #define TIMELIB_LF_DAY_OF_MONTH 280 #define TIMELIB_TIMEZONE 300 #define TIMELIB_AGO 301 #define TIMELIB_RELATIVE 310 #define TIMELIB_ERROR 999 typedef unsigned char uchar; #define BSIZE 8192 #define YYCTYPE uchar #define YYCURSOR cursor #define YYLIMIT s->lim #define YYMARKER s->ptr #define YYFILL(n) return EOI; #define RET(i) {s->cur = cursor; return i;} #define timelib_string_free free #define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } } #define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } #define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } } #define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; } #define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; } #define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; } #define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; } #define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } } #define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str #define TIMELIB_DEINIT timelib_string_free(str) #define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; } #define TIMELIB_PROCESS_YEAR(x) { \ if ((x) == TIMELIB_UNSET) { \ /* (x) = 0; */ \ } else if ((x) < 100) { \ if ((x) < 70) { \ (x) += 2000; \ } else { \ (x) += 1900; \ } \ } \ } #ifdef DEBUG_PARSER #define DEBUG_OUTPUT(s) printf("%s\n", s); #define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } } #else #define DEBUG_OUTPUT(s) #define YYDEBUG(s,c) #endif #include "timelib_structs.h" typedef struct timelib_elems { unsigned int c; /* Number of elements */ char **v; /* Values */ } timelib_elems; typedef struct Scanner { int fd; uchar *lim, *str, *ptr, *cur, *tok, *pos; unsigned int line, len; struct timelib_error_container *errors; struct timelib_time *time; const timelib_tzdb *tzdb; } Scanner; typedef struct _timelib_lookup_table { const char *name; int type; int value; } timelib_lookup_table; typedef struct _timelib_relunit { const char *name; int unit; int multiplier; } timelib_relunit; #define HOUR(a) (int)(a * 60) /* The timezone table. */ const static timelib_tz_lookup_table timelib_timezone_lookup[] = { #include "timezonemap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = { #include "fallbackmap.h" { NULL, 0, 0, NULL }, }; const static timelib_tz_lookup_table timelib_timezone_utc[] = { { "utc", 0, 0, "UTC" }, }; static timelib_relunit const timelib_relunit_lookup[] = { { "sec", TIMELIB_SECOND, 1 }, { "secs", TIMELIB_SECOND, 1 }, { "second", TIMELIB_SECOND, 1 }, { "seconds", TIMELIB_SECOND, 1 }, { "min", TIMELIB_MINUTE, 1 }, { "mins", TIMELIB_MINUTE, 1 }, { "minute", TIMELIB_MINUTE, 1 }, { "minutes", TIMELIB_MINUTE, 1 }, { "hour", TIMELIB_HOUR, 1 }, { "hours", TIMELIB_HOUR, 1 }, { "day", TIMELIB_DAY, 1 }, { "days", TIMELIB_DAY, 1 }, { "week", TIMELIB_DAY, 7 }, { "weeks", TIMELIB_DAY, 7 }, { "fortnight", TIMELIB_DAY, 14 }, { "fortnights", TIMELIB_DAY, 14 }, { "forthnight", TIMELIB_DAY, 14 }, { "forthnights", TIMELIB_DAY, 14 }, { "month", TIMELIB_MONTH, 1 }, { "months", TIMELIB_MONTH, 1 }, { "year", TIMELIB_YEAR, 1 }, { "years", TIMELIB_YEAR, 1 }, { "monday", TIMELIB_WEEKDAY, 1 }, { "mon", TIMELIB_WEEKDAY, 1 }, { "tuesday", TIMELIB_WEEKDAY, 2 }, { "tue", TIMELIB_WEEKDAY, 2 }, { "wednesday", TIMELIB_WEEKDAY, 3 }, { "wed", TIMELIB_WEEKDAY, 3 }, { "thursday", TIMELIB_WEEKDAY, 4 }, { "thu", TIMELIB_WEEKDAY, 4 }, { "friday", TIMELIB_WEEKDAY, 5 }, { "fri", TIMELIB_WEEKDAY, 5 }, { "saturday", TIMELIB_WEEKDAY, 6 }, { "sat", TIMELIB_WEEKDAY, 6 }, { "sunday", TIMELIB_WEEKDAY, 0 }, { "sun", TIMELIB_WEEKDAY, 0 }, { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY }, { NULL, 0, 0 } }; /* The relative text table. */ static timelib_lookup_table const timelib_reltext_lookup[] = { { "first", 0, 1 }, { "next", 0, 1 }, { "second", 0, 2 }, { "third", 0, 3 }, { "fourth", 0, 4 }, { "fifth", 0, 5 }, { "sixth", 0, 6 }, { "seventh", 0, 7 }, { "eight", 0, 8 }, { "ninth", 0, 9 }, { "tenth", 0, 10 }, { "eleventh", 0, 11 }, { "twelfth", 0, 12 }, { "last", 0, -1 }, { "previous", 0, -1 }, { "this", 1, 0 }, { NULL, 1, 0 } }; /* The month table. */ static timelib_lookup_table const timelib_month_lookup[] = { { "jan", 0, 1 }, { "feb", 0, 2 }, { "mar", 0, 3 }, { "apr", 0, 4 }, { "may", 0, 5 }, { "jun", 0, 6 }, { "jul", 0, 7 }, { "aug", 0, 8 }, { "sep", 0, 9 }, { "sept", 0, 9 }, { "oct", 0, 10 }, { "nov", 0, 11 }, { "dec", 0, 12 }, { "i", 0, 1 }, { "ii", 0, 2 }, { "iii", 0, 3 }, { "iv", 0, 4 }, { "v", 0, 5 }, { "vi", 0, 6 }, { "vii", 0, 7 }, { "viii", 0, 8 }, { "ix", 0, 9 }, { "x", 0, 10 }, { "xi", 0, 11 }, { "xii", 0, 12 }, { "january", 0, 1 }, { "february", 0, 2 }, { "march", 0, 3 }, { "april", 0, 4 }, { "may", 0, 5 }, { "june", 0, 6 }, { "july", 0, 7 }, { "august", 0, 8 }, { "september", 0, 9 }, { "october", 0, 10 }, { "november", 0, 11 }, { "december", 0, 12 }, { NULL, 0, 0 } }; #if 0 static char* timelib_ltrim(char *s) { char *ptr = s; while (ptr[0] == ' ' || ptr[0] == '\t') { ptr++; } return ptr; } #endif #if 0 uchar *fill(Scanner *s, uchar *cursor){ if(!s->eof){ unsigned int cnt = s->tok - s->bot; if(cnt){ memcpy(s->bot, s->tok, s->lim - s->tok); s->tok = s->bot; s->ptr -= cnt; cursor -= cnt; s->pos -= cnt; s->lim -= cnt; } if((s->top - s->lim) < BSIZE){ uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar)); memcpy(buf, s->tok, s->lim - s->tok); s->tok = buf; s->ptr = &buf[s->ptr - s->bot]; cursor = &buf[cursor - s->bot]; s->pos = &buf[s->pos - s->bot]; s->lim = &buf[s->lim - s->bot]; s->top = &s->lim[BSIZE]; free(s->bot); s->bot = buf; } if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){ s->eof = &s->lim[cnt]; *(s->eof)++ = '\n'; } s->lim += cnt; } return cursor; } #endif static void add_warning(Scanner *s, char *error) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_error(Scanner *s, char *error) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0; s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->warning_count++; s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message)); s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr; s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr; s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error); } static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr) { s->errors->error_count++; s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message)); s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr; s->errors->error_messages[s->errors->error_count - 1].character = *cptr; s->errors->error_messages[s->errors->error_count - 1].message = strdup(error); } static timelib_sll timelib_meridian(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { *ptr += 3; } else { ++*ptr; } return retval; } static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h) { timelib_sll retval = 0; while (!strchr("AaPp", **ptr)) { ++*ptr; } if (**ptr == 'a' || **ptr == 'A') { if (h == 12) { retval = -12; } } else if (h != 12) { retval = 12; } ++*ptr; if (**ptr == '.') { ++*ptr; if (**ptr != 'm' && **ptr != 'M') { return TIMELIB_UNSET; } ++*ptr; if (**ptr != '.' ) { return TIMELIB_UNSET; } ++*ptr; } else if (**ptr == 'm' || **ptr == 'M') { ++*ptr; } else { return TIMELIB_UNSET; } return retval; } static char *timelib_string(Scanner *s) { char *tmp = calloc(1, s->cur - s->tok + 1); memcpy(tmp, s->tok, s->cur - s->tok); return tmp; } static timelib_sll timelib_get_nr(char **ptr, int max_length) { char *begin, *end, *str; timelib_sll tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr < '0') || (**ptr > '9')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); tmp_nr = strtoll(str, NULL, 10); free(str); return tmp_nr; } static void timelib_skip_day_suffix(char **ptr) { if (isspace(**ptr)) { return; } if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) { *ptr += 2; } } static double timelib_get_frac_nr(char **ptr, int max_length) { char *begin, *end, *str; double tmp_nr = TIMELIB_UNSET; int len = 0; while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } begin = *ptr; while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) { ++*ptr; ++len; } end = *ptr; str = calloc(1, end - begin + 1); memcpy(str, begin, end - begin); if (str[0] == ':') { str[0] = '.'; } tmp_nr = strtod(str, NULL); free(str); return tmp_nr; } static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length) { timelib_ull dir = 1; while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) { if (**ptr == '\0') { return TIMELIB_UNSET; } ++*ptr; } while (**ptr == '+' || **ptr == '-') { if (**ptr == '-') { dir *= -1; } ++*ptr; } return dir * timelib_get_nr(ptr, max_length); } static long timelib_parse_tz_cor(char **ptr) { char *begin = *ptr, *end; long tmp; while (**ptr != '\0') { ++*ptr; } end = *ptr; switch (end - begin) { case 1: case 2: return HOUR(strtol(begin, NULL, 10)); break; case 3: case 4: if (begin[1] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 2, NULL, 10); return tmp; } else if (begin[2] == ':') { tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } else { tmp = strtol(begin, NULL, 10); return HOUR(tmp / 100) + tmp % 100; } case 5: tmp = HOUR(strtol(begin, NULL, 10)) + strtol(begin + 3, NULL, 10); return tmp; } return 0; } static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior) { char *word; char *begin = *ptr, *end; timelib_sll value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_reltext_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; *behavior = tp->type; } } free(word); return value; } static timelib_sll timelib_get_relative_text(char **ptr, int *behavior) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') { ++*ptr; } return timelib_lookup_relative_text(ptr, behavior); } static long timelib_lookup_month(char **ptr) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_lookup_table *tp; while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_month_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp->value; } } free(word); return value; } static long timelib_get_month(char **ptr) { while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') { ++*ptr; } return timelib_lookup_month(ptr); } static void timelib_eat_spaces(char **ptr) { while (**ptr == ' ' || **ptr == '\t') { ++*ptr; } } static void timelib_eat_until_separator(char **ptr) { while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) { ++*ptr; } } static const timelib_relunit* timelib_lookup_relunit(char **ptr) { char *word; char *begin = *ptr, *end; const timelib_relunit *tp, *value = NULL; while (**ptr != '\0' && **ptr != ' ' && **ptr != '\t') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); for (tp = timelib_relunit_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { value = tp; break; } } free(word); return value; } static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s) { const timelib_relunit* relunit; if (!(relunit = timelib_lookup_relunit(ptr))) { return; } switch (relunit->unit) { case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break; case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break; case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break; case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break; case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break; case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break; case TIMELIB_WEEKDAY: TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7; s->time->relative.weekday = relunit->multiplier; s->time->relative.weekday_behavior = behavior; break; case TIMELIB_SPECIAL: TIMELIB_HAVE_SPECIAL_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.special.type = relunit->multiplier; s->time->relative.special.amount = amount; } } const static timelib_tz_lookup_table* zone_search(const char *word, long gmtoffset, int isdst) { int first_found = 0; const timelib_tz_lookup_table *tp, *first_found_elem = NULL; const timelib_tz_lookup_table *fmp; if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) { return timelib_timezone_utc; } for (tp = timelib_timezone_lookup; tp->name; tp++) { if (strcasecmp(word, tp->name) == 0) { if (!first_found) { first_found = 1; first_found_elem = tp; if (gmtoffset == -1) { return tp; } } if (tp->gmtoffset == gmtoffset) { return tp; } } } if (first_found) { return first_found_elem; } /* Still didn't find anything, let's find the zone solely based on * offset/isdst then */ for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) { if ((fmp->gmtoffset * 3600) == gmtoffset && fmp->type == isdst) { return fmp; } } return NULL; } static long timelib_lookup_zone(char **ptr, int *dst, char **tz_abbr, int *found) { char *word; char *begin = *ptr, *end; long value = 0; const timelib_tz_lookup_table *tp; while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') { ++*ptr; } end = *ptr; word = calloc(1, end - begin + 1); memcpy(word, begin, end - begin); if ((tp = zone_search(word, -1, 0))) { value = -tp->gmtoffset / 60; *dst = tp->type; value += tp->type * 60; *found = 1; } else { *found = 0; } *tz_abbr = word; return value; } static long timelib_get_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb) { timelib_tzinfo *res; long retval = 0; *tz_not_found = 0; while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') { ++*ptr; } if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) { *ptr += 3; } if (**ptr == '+') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = -1 * timelib_parse_tz_cor(ptr); } else if (**ptr == '-') { ++*ptr; t->is_localtime = 1; t->zone_type = TIMELIB_ZONETYPE_OFFSET; *tz_not_found = 0; t->dst = 0; retval = timelib_parse_tz_cor(ptr); } else { int found = 0; long offset; char *tz_abbr; t->is_localtime = 1; offset = timelib_lookup_zone(ptr, dst, &tz_abbr, &found); if (found) { t->zone_type = TIMELIB_ZONETYPE_ABBR; } #if 0 /* If we found a TimeZone identifier, use it */ if (tz_name) { t->tz_info = timelib_parse_tzfile(tz_name); t->zone_type = TIMELIB_ZONETYPE_ID; } #endif /* If we have a TimeZone identifier to start with, use it */ if (strstr(tz_abbr, "/")) { if ((res = timelib_parse_tzfile(tz_abbr, tzdb)) != NULL) { t->tz_info = res; t->zone_type = TIMELIB_ZONETYPE_ID; found++; } } if (found && t->zone_type != TIMELIB_ZONETYPE_ID) { timelib_time_tz_abbr_update(t, tz_abbr); } free(tz_abbr); *tz_not_found = (found == 0); retval = offset; } while (**ptr == ')') { ++*ptr; } return retval; } #define timelib_split_free(arg) { \ int i; \ for (i = 0; i < arg.c; i++) { \ free(arg.v[i]); \ } \ if (arg.v) { \ free(arg.v); \ } \ } static int scan(Scanner *s) { uchar *cursor = s->cur; char *str, *ptr = NULL; std: s->tok = cursor; s->len = 0; #line 959 "parse_date_1_78.db.re" #line 845 "" { YYCTYPE yych; unsigned int yyaccept = 0; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 64, 160, 96, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 16, 16, 80, 16, 16, 16, 80, 16, 16, 16, 16, 16, 80, 16, 16, 16, 80, 80, 80, 16, 16, 16, 16, 16, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; YYDEBUG(0, *YYCURSOR); if ((YYLIMIT - YYCURSOR) < 30) YYFILL(30); yych = *YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 0x00: case '\n': goto yy49; case '\t': case ' ': goto yy46; case '(': goto yy43; case '+': case '-': goto yy22; case ',': case '.': goto yy48; case '0': goto yy17; case '1': goto yy18; case '2': goto yy19; case '3': goto yy20; case '4': case '5': case '6': case '7': case '8': case '9': goto yy21; case '@': goto yy11; case 'A': goto yy28; case 'B': case 'C': case 'H': case 'K': case 'Q': case 'R': case 'U': case 'Z': goto yy44; case 'D': goto yy34; case 'E': goto yy40; case 'F': goto yy13; case 'G': goto yy42; case 'I': goto yy23; case 'J': goto yy26; case 'L': goto yy15; case 'M': goto yy7; case 'N': goto yy5; case 'O': goto yy32; case 'P': goto yy38; case 'S': goto yy30; case 'T': goto yy9; case 'V': goto yy24; case 'W': goto yy36; case 'X': goto yy25; case 'Y': goto yy2; case 'a': goto yy29; case 'b': case 'c': case 'g': case 'h': case 'i': case 'k': case 'q': case 'r': case 'u': case 'v': case 'x': case 'z': goto yy45; case 'd': goto yy35; case 'e': goto yy41; case 'f': goto yy14; case 'j': goto yy27; case 'l': goto yy16; case 'm': goto yy8; case 'n': goto yy6; case 'o': goto yy33; case 'p': goto yy39; case 's': goto yy31; case 't': goto yy10; case 'w': goto yy37; case 'y': goto yy4; default: goto yy51; } yy2: YYDEBUG(2, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'E') { if (yych <= ')') { if (yych >= ')') goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy1470; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych >= 'a') goto yy143; } else { if (yych <= 'e') goto yy1479; if (yych <= 'z') goto yy143; } } yy3: YYDEBUG(3, *YYCURSOR); #line 1580 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("tzcorrection | tz"); TIMELIB_INIT; TIMELIB_HAVE_TZ(); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_TIMEZONE; } #line 998 "" yy4: YYDEBUG(4, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy1470; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy1470; if (yych <= 'z') goto yy138; goto yy3; } } yy5: YYDEBUG(5, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1441; goto yy138; } else { if (yych <= 'I') goto yy1442; if (yych <= 'N') goto yy138; goto yy1440; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1457; goto yy143; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1458; goto yy143; } else { if (yych <= 'o') goto yy1456; if (yych <= 'z') goto yy143; goto yy3; } } } yy6: YYDEBUG(6, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'D') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'H') { if (yych <= 'E') goto yy1441; goto yy138; } else { if (yych <= 'I') goto yy1442; if (yych <= 'N') goto yy138; goto yy1440; } } } else { if (yych <= 'h') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych == 'e') goto yy1441; goto yy138; } } else { if (yych <= 'n') { if (yych <= 'i') goto yy1442; goto yy138; } else { if (yych <= 'o') goto yy1440; if (yych <= 'z') goto yy138; goto yy3; } } } yy7: YYDEBUG(7, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy1410; } else { if (yych == 'I') goto yy1411; if (yych <= 'N') goto yy138; goto yy1412; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1425; goto yy143; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1426; goto yy143; } else { if (yych <= 'o') goto yy1427; if (yych <= 'z') goto yy143; goto yy3; } } } yy8: YYDEBUG(8, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy1410; } else { if (yych == 'I') goto yy1411; if (yych <= 'N') goto yy138; goto yy1412; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1410; goto yy138; } else { if (yych <= 'n') { if (yych <= 'i') goto yy1411; goto yy138; } else { if (yych <= 'o') goto yy1412; if (yych <= 'z') goto yy138; goto yy3; } } } yy9: YYDEBUG(9, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case ')': goto yy137; case '0': case '1': goto yy1340; case '2': goto yy1341; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1342; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': goto yy138; case 'E': goto yy1335; case 'H': goto yy1336; case 'O': goto yy1337; case 'U': goto yy1338; case 'W': goto yy1339; case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy143; case 'e': goto yy1378; case 'h': goto yy1379; case 'o': goto yy1380; case 'u': goto yy1381; case 'w': goto yy1382; default: goto yy3; } yy10: YYDEBUG(10, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case ')': goto yy137; case '0': case '1': goto yy1340; case '2': goto yy1341; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1342; case 'A': case 'B': case 'C': case 'D': case 'F': case 'G': case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'P': case 'Q': case 'R': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'Z': case 'a': case 'b': case 'c': case 'd': case 'f': case 'g': case 'i': case 'j': case 'k': case 'l': case 'm': case 'n': case 'p': case 'q': case 'r': case 's': case 't': case 'v': case 'x': case 'y': case 'z': goto yy138; case 'E': case 'e': goto yy1335; case 'H': case 'h': goto yy1336; case 'O': case 'o': goto yy1337; case 'U': case 'u': goto yy1338; case 'W': case 'w': goto yy1339; default: goto yy3; } yy11: YYDEBUG(11, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1331; if (yych <= '/') goto yy12; if (yych <= '9') goto yy1332; yy12: YYDEBUG(12, *YYCURSOR); #line 1675 "parse_date_1_78.db.re" { add_error(s, "Unexpected character"); goto std; } #line 1314 "" yy13: YYDEBUG(13, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy1285; } } else { if (yych <= 'N') { if (yych == 'I') goto yy1286; goto yy138; } else { if (yych <= 'O') goto yy1287; if (yych <= 'Q') goto yy138; goto yy1288; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'e') goto yy1311; if (yych <= 'h') goto yy143; goto yy1312; } } else { if (yych <= 'q') { if (yych == 'o') goto yy1313; goto yy143; } else { if (yych <= 'r') goto yy1314; if (yych <= 'z') goto yy143; goto yy3; } } } yy14: YYDEBUG(14, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy1285; } } else { if (yych <= 'N') { if (yych == 'I') goto yy1286; goto yy138; } else { if (yych <= 'O') goto yy1287; if (yych <= 'Q') goto yy138; goto yy1288; } } } else { if (yych <= 'i') { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy1285; if (yych <= 'h') goto yy138; goto yy1286; } } else { if (yych <= 'q') { if (yych == 'o') goto yy1287; goto yy138; } else { if (yych <= 'r') goto yy1288; if (yych <= 'z') goto yy138; goto yy3; } } } yy15: YYDEBUG(15, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy1271; } else { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy1282; if (yych <= 'z') goto yy143; goto yy3; } } yy16: YYDEBUG(16, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy1271; } else { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy1271; if (yych <= 'z') goto yy138; goto yy3; } } yy17: YYDEBUG(17, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy1225; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'w': case 'y': goto yy1227; case '-': goto yy653; case '.': goto yy1237; case '/': goto yy652; case '0': goto yy1270; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1269; case ':': goto yy1238; case 'n': goto yy650; case 'r': goto yy651; case 's': goto yy644; case 't': goto yy648; default: goto yy12; } yy18: YYDEBUG(18, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy640; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy642; case '-': goto yy653; case '.': goto yy654; case '/': goto yy652; case '0': case '1': case '2': goto yy1269; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1236; case ':': goto yy663; case 'n': goto yy650; case 'r': goto yy651; case 's': goto yy644; case 't': goto yy648; default: goto yy12; } yy19: YYDEBUG(19, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy640; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy642; case '-': goto yy653; case '.': goto yy654; case '/': goto yy652; case '0': case '1': case '2': case '3': case '4': goto yy1236; case '5': case '6': case '7': case '8': case '9': goto yy1223; case ':': goto yy663; case 'n': goto yy650; case 'r': goto yy651; case 's': goto yy644; case 't': goto yy648; default: goto yy12; } yy20: YYDEBUG(20, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy640; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy642; case '-': goto yy653; case '.': goto yy654; case '/': goto yy652; case '0': case '1': goto yy1223; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy649; case ':': goto yy663; case 'n': goto yy650; case 'r': goto yy651; case 's': goto yy644; case 't': goto yy648; default: goto yy12; } yy21: YYDEBUG(21, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': goto yy640; case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'P': case 'S': case 'T': case 'V': case 'W': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'o': case 'p': case 'w': case 'y': goto yy642; case '-': goto yy653; case '.': goto yy654; case '/': goto yy652; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy649; case ':': goto yy663; case 'n': goto yy650; case 'r': goto yy651; case 's': goto yy644; case 't': goto yy648; default: goto yy12; } yy22: YYDEBUG(22, *YYCURSOR); yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy55; } YYDEBUG(-1, yych); switch (yych) { case '+': case '-': goto yy620; case '0': case '1': goto yy617; case '2': goto yy618; case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy619; default: goto yy12; } yy23: YYDEBUG(23, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy317; } else { if (yych == ' ') goto yy317; goto yy3; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy3; } else { if (yych == '/') goto yy3; goto yy317; } } } else { if (yych <= 'V') { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'I') goto yy616; if (yych <= 'U') goto yy138; goto yy615; } } else { if (yych <= 'Z') { if (yych == 'X') goto yy615; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } } yy24: YYDEBUG(24, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy612; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } } yy25: YYDEBUG(25, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy610; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } } yy26: YYDEBUG(26, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'A') goto yy593; if (yych <= 'T') goto yy138; goto yy592; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy602; } else { if (yych == 'u') goto yy601; if (yych <= 'z') goto yy143; goto yy3; } } yy27: YYDEBUG(27, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'A') goto yy593; if (yych <= 'T') goto yy138; goto yy592; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy593; } else { if (yych == 'u') goto yy592; if (yych <= 'z') goto yy138; goto yy3; } } yy28: YYDEBUG(28, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'O') { if (yych <= 'G') goto yy571; goto yy138; } else { if (yych <= 'P') goto yy570; if (yych <= 'T') goto yy138; goto yy569; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych == 'g') goto yy583; goto yy143; } } else { if (yych <= 't') { if (yych <= 'p') goto yy582; goto yy143; } else { if (yych <= 'u') goto yy581; if (yych <= 'z') goto yy143; goto yy3; } } } yy29: YYDEBUG(29, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'F') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'O') { if (yych <= 'G') goto yy571; goto yy138; } else { if (yych <= 'P') goto yy570; if (yych <= 'T') goto yy138; goto yy569; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych == 'g') goto yy571; goto yy138; } } else { if (yych <= 't') { if (yych <= 'p') goto yy570; goto yy138; } else { if (yych <= 'u') goto yy569; if (yych <= 'z') goto yy138; goto yy3; } } } yy30: YYDEBUG(30, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy512; goto yy138; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy511; goto yy138; } else { if (yych <= 'I') goto yy513; if (yych <= 'T') goto yy138; goto yy514; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy541; if (yych <= 'd') goto yy143; goto yy540; } } else { if (yych <= 't') { if (yych == 'i') goto yy542; goto yy143; } else { if (yych <= 'u') goto yy543; if (yych <= 'z') goto yy143; goto yy3; } } } yy31: YYDEBUG(31, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy512; goto yy138; } } else { if (yych <= 'H') { if (yych <= 'E') goto yy511; goto yy138; } else { if (yych <= 'I') goto yy513; if (yych <= 'T') goto yy138; goto yy514; } } } else { if (yych <= 'e') { if (yych <= '`') { if (yych <= 'Z') goto yy138; goto yy3; } else { if (yych <= 'a') goto yy512; if (yych <= 'd') goto yy138; goto yy511; } } else { if (yych <= 't') { if (yych == 'i') goto yy513; goto yy138; } else { if (yych <= 'u') goto yy514; if (yych <= 'z') goto yy138; goto yy3; } } } yy32: YYDEBUG(32, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy138; goto yy501; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'c') goto yy506; if (yych <= 'z') goto yy143; goto yy3; } } yy33: YYDEBUG(33, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy138; goto yy501; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'c') goto yy501; if (yych <= 'z') goto yy138; goto yy3; } } yy34: YYDEBUG(34, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy313; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'e') goto yy494; if (yych <= 'z') goto yy143; goto yy3; } } yy35: YYDEBUG(35, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy313; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy313; if (yych <= 'z') goto yy138; goto yy3; } } yy36: YYDEBUG(36, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy286; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'e') goto yy300; if (yych <= 'z') goto yy143; goto yy3; } } yy37: YYDEBUG(37, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy138; goto yy286; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'e') goto yy286; if (yych <= 'z') goto yy138; goto yy3; } } yy38: YYDEBUG(38, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy138; goto yy265; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy143; } else { if (yych <= 'r') goto yy279; if (yych <= 'z') goto yy143; goto yy3; } } yy39: YYDEBUG(39, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy138; goto yy265; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; goto yy138; } else { if (yych <= 'r') goto yy265; if (yych <= 'z') goto yy138; goto yy3; } } yy40: YYDEBUG(40, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'I') goto yy163; if (yych <= 'K') goto yy138; goto yy164; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy143; goto yy254; } else { if (yych == 'l') goto yy255; if (yych <= 'z') goto yy143; goto yy3; } } yy41: YYDEBUG(41, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'I') goto yy163; if (yych <= 'K') goto yy138; goto yy164; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy138; goto yy163; } else { if (yych == 'l') goto yy164; if (yych <= 'z') goto yy138; goto yy3; } } yy42: YYDEBUG(42, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy138; } else { if (yych <= 'Z') { if (yych <= 'M') goto yy155; goto yy138; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } } yy43: YYDEBUG(43, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy12; if (yych <= 'Z') goto yy154; if (yych <= '`') goto yy12; if (yych <= 'z') goto yy154; goto yy12; yy44: YYDEBUG(44, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy143; goto yy3; } yy45: YYDEBUG(45, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } yy46: YYDEBUG(46, *YYCURSOR); yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 8) { goto yy55; } if (yych <= '/') goto yy47; if (yych <= '9') goto yy52; yy47: YYDEBUG(47, *YYCURSOR); #line 1664 "parse_date_1_78.db.re" { goto std; } #line 2341 "" yy48: YYDEBUG(48, *YYCURSOR); yych = *++YYCURSOR; goto yy47; yy49: YYDEBUG(49, *YYCURSOR); ++YYCURSOR; YYDEBUG(50, *YYCURSOR); #line 1669 "parse_date_1_78.db.re" { s->pos = cursor; s->line++; goto std; } #line 2355 "" yy51: YYDEBUG(51, *YYCURSOR); yych = *++YYCURSOR; goto yy12; yy52: YYDEBUG(52, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; YYDEBUG(53, *YYCURSOR); if (yybm[0+yych] & 4) { goto yy52; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych >= ' ') goto yy57; } else { if (yych == 'D') goto yy62; if (yych >= 'F') goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy61; if (yych >= 'M') goto yy60; } else { if (yych <= 'S') { if (yych >= 'S') goto yy59; } else { if (yych <= 'T') goto yy66; if (yych >= 'W') goto yy65; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych >= 'd') goto yy62; } else { if (yych <= 'f') { if (yych >= 'f') goto yy63; } else { if (yych == 'h') goto yy61; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy60; if (yych <= 'r') goto yy54; if (yych <= 's') goto yy59; goto yy66; } else { if (yych <= 'w') { if (yych >= 'w') goto yy65; } else { if (yych == 'y') goto yy64; } } } } yy54: YYDEBUG(54, *YYCURSOR); YYCURSOR = YYMARKER; if (yyaccept <= 16) { if (yyaccept <= 8) { if (yyaccept <= 4) { if (yyaccept <= 2) { if (yyaccept <= 1) { if (yyaccept <= 0) { goto yy3; } else { goto yy12; } } else { goto yy47; } } else { if (yyaccept <= 3) { goto yy70; } else { goto yy184; } } } else { if (yyaccept <= 6) { if (yyaccept <= 5) { goto yy278; } else { goto yy288; } } else { if (yyaccept <= 7) { goto yy315; } else { goto yy320; } } } } else { if (yyaccept <= 12) { if (yyaccept <= 10) { if (yyaccept <= 9) { goto yy344; } else { goto yy417; } } else { if (yyaccept <= 11) { goto yy573; } else { goto yy656; } } } else { if (yyaccept <= 14) { if (yyaccept <= 13) { goto yy671; } else { goto yy787; } } else { if (yyaccept <= 15) { goto yy836; } else { goto yy846; } } } } } else { if (yyaccept <= 25) { if (yyaccept <= 21) { if (yyaccept <= 19) { if (yyaccept <= 18) { if (yyaccept <= 17) { goto yy937; } else { goto yy957; } } else { goto yy988; } } else { if (yyaccept <= 20) { goto yy995; } else { goto yy1022; } } } else { if (yyaccept <= 23) { if (yyaccept <= 22) { goto yy967; } else { goto yy635; } } else { if (yyaccept <= 24) { goto yy1147; } else { goto yy1016; } } } } else { if (yyaccept <= 29) { if (yyaccept <= 27) { if (yyaccept <= 26) { goto yy1241; } else { goto yy1249; } } else { if (yyaccept <= 28) { goto yy1278; } else { goto yy1364; } } } else { if (yyaccept <= 31) { if (yyaccept <= 30) { goto yy1367; } else { goto yy1447; } } else { if (yyaccept <= 32) { goto yy1455; } else { goto yy1478; } } } } } yy55: YYDEBUG(55, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(56, *YYCURSOR); if (yybm[0+yych] & 8) { goto yy55; } if (yych <= '/') goto yy54; if (yych <= '9') goto yy52; goto yy54; yy57: YYDEBUG(57, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy58: YYDEBUG(58, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych <= 0x1F) goto yy54; goto yy57; } else { if (yych == 'D') goto yy62; if (yych <= 'E') goto yy54; goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy61; if (yych <= 'L') goto yy54; goto yy60; } else { if (yych <= 'S') { if (yych <= 'R') goto yy54; } else { if (yych <= 'T') goto yy66; if (yych <= 'V') goto yy54; goto yy65; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych <= 'c') goto yy54; goto yy62; } else { if (yych <= 'f') { if (yych <= 'e') goto yy54; goto yy63; } else { if (yych == 'h') goto yy61; goto yy54; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy60; if (yych <= 'r') goto yy54; if (yych >= 't') goto yy66; } else { if (yych <= 'w') { if (yych <= 'v') goto yy54; goto yy65; } else { if (yych == 'y') goto yy64; goto yy54; } } } } yy59: YYDEBUG(59, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy124; goto yy54; } else { if (yych <= 'E') goto yy125; if (yych <= 'T') goto yy54; goto yy123; } } else { if (yych <= 'd') { if (yych == 'a') goto yy124; goto yy54; } else { if (yych <= 'e') goto yy125; if (yych == 'u') goto yy123; goto yy54; } } yy60: YYDEBUG(60, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy115; if (yych <= 'N') goto yy54; goto yy114; } else { if (yych <= 'i') { if (yych <= 'h') goto yy54; goto yy115; } else { if (yych == 'o') goto yy114; goto yy54; } } yy61: YYDEBUG(61, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy112; if (yych == 'o') goto yy112; goto yy54; yy62: YYDEBUG(62, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy111; if (yych == 'a') goto yy111; goto yy54; yy63: YYDEBUG(63, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy96; if (yych <= 'Q') goto yy54; goto yy95; } else { if (yych <= 'o') { if (yych <= 'n') goto yy54; goto yy96; } else { if (yych == 'r') goto yy95; goto yy54; } } yy64: YYDEBUG(64, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy92; if (yych == 'e') goto yy92; goto yy54; yy65: YYDEBUG(65, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy80; if (yych == 'e') goto yy80; goto yy54; yy66: YYDEBUG(66, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy67; if (yych <= 'T') goto yy54; goto yy68; } else { if (yych <= 'h') { if (yych <= 'g') goto yy54; } else { if (yych == 'u') goto yy68; goto yy54; } } yy67: YYDEBUG(67, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy75; if (yych == 'u') goto yy75; goto yy54; yy68: YYDEBUG(68, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy69; if (yych != 'e') goto yy54; yy69: YYDEBUG(69, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy71; if (yych == 's') goto yy71; yy70: YYDEBUG(70, *YYCURSOR); #line 1648 "parse_date_1_78.db.re" { timelib_ull i; DEBUG_OUTPUT("relative"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_unsigned_nr((char **) &ptr, 24); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, 0, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 2757 "" yy71: YYDEBUG(71, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy72; if (yych != 'd') goto yy54; yy72: YYDEBUG(72, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy73; if (yych != 'a') goto yy54; yy73: YYDEBUG(73, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych != 'y') goto yy54; yy74: YYDEBUG(74, *YYCURSOR); yych = *++YYCURSOR; goto yy70; yy75: YYDEBUG(75, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy76; if (yych != 'r') goto yy70; yy76: YYDEBUG(76, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy77; if (yych != 's') goto yy54; yy77: YYDEBUG(77, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy78; if (yych != 'd') goto yy54; yy78: YYDEBUG(78, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy79; if (yych != 'a') goto yy54; yy79: YYDEBUG(79, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy80: YYDEBUG(80, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy54; if (yych <= 'D') goto yy82; } else { if (yych <= 'c') goto yy54; if (yych <= 'd') goto yy82; if (yych >= 'f') goto yy54; } YYDEBUG(81, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy88; if (yych == 'k') goto yy88; goto yy54; yy82: YYDEBUG(82, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy83; if (yych != 'n') goto yy70; yy83: YYDEBUG(83, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy84; if (yych != 'e') goto yy54; yy84: YYDEBUG(84, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy85; if (yych != 's') goto yy54; yy85: YYDEBUG(85, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy86; if (yych != 'd') goto yy54; yy86: YYDEBUG(86, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy87; if (yych != 'a') goto yy54; yy87: YYDEBUG(87, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy88: YYDEBUG(88, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'D') goto yy89; if (yych <= 'R') goto yy70; goto yy74; } else { if (yych <= 'd') { if (yych <= 'c') goto yy70; } else { if (yych == 's') goto yy74; goto yy70; } } yy89: YYDEBUG(89, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy90; if (yych != 'a') goto yy54; yy90: YYDEBUG(90, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy91; if (yych != 'y') goto yy54; yy91: YYDEBUG(91, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy74; if (yych == 's') goto yy74; goto yy70; yy92: YYDEBUG(92, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy93; if (yych != 'a') goto yy54; yy93: YYDEBUG(93, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy94; if (yych != 'r') goto yy54; yy94: YYDEBUG(94, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy74; if (yych == 's') goto yy74; goto yy70; yy95: YYDEBUG(95, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy108; if (yych == 'i') goto yy108; goto yy54; yy96: YYDEBUG(96, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy97; if (yych != 'r') goto yy54; yy97: YYDEBUG(97, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy98; if (yych != 't') goto yy54; yy98: YYDEBUG(98, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy100; if (yych <= 'M') goto yy54; } else { if (yych <= 'h') { if (yych <= 'g') goto yy54; goto yy100; } else { if (yych != 'n') goto yy54; } } YYDEBUG(99, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy105; if (yych == 'i') goto yy105; goto yy54; yy100: YYDEBUG(100, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy101; if (yych != 'n') goto yy54; yy101: YYDEBUG(101, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy102; if (yych != 'i') goto yy54; yy102: YYDEBUG(102, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy103; if (yych != 'g') goto yy54; yy103: YYDEBUG(103, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy104; if (yych != 'h') goto yy54; yy104: YYDEBUG(104, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy94; if (yych == 't') goto yy94; goto yy54; yy105: YYDEBUG(105, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy106; if (yych != 'g') goto yy54; yy106: YYDEBUG(106, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy107; if (yych != 'h') goto yy54; yy107: YYDEBUG(107, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy94; if (yych == 't') goto yy94; goto yy54; yy108: YYDEBUG(108, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy109; if (yych != 'd') goto yy70; yy109: YYDEBUG(109, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy110; if (yych != 'a') goto yy54; yy110: YYDEBUG(110, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy111: YYDEBUG(111, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy94; if (yych == 'y') goto yy94; goto yy54; yy112: YYDEBUG(112, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy113; if (yych != 'u') goto yy54; yy113: YYDEBUG(113, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy94; if (yych == 'r') goto yy94; goto yy54; yy114: YYDEBUG(114, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy119; if (yych == 'n') goto yy119; goto yy54; yy115: YYDEBUG(115, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy116; if (yych != 'n') goto yy54; yy116: YYDEBUG(116, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy74; if (yych <= 'T') goto yy70; } else { if (yych <= 's') { if (yych <= 'r') goto yy70; goto yy74; } else { if (yych != 'u') goto yy70; } } YYDEBUG(117, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy118; if (yych != 't') goto yy54; yy118: YYDEBUG(118, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy94; if (yych == 'e') goto yy94; goto yy54; yy119: YYDEBUG(119, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy120; if (yych <= 'S') goto yy70; goto yy121; } else { if (yych <= 'd') { if (yych <= 'c') goto yy70; } else { if (yych == 't') goto yy121; goto yy70; } } yy120: YYDEBUG(120, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy122; if (yych == 'a') goto yy122; goto yy54; yy121: YYDEBUG(121, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy94; if (yych == 'h') goto yy94; goto yy54; yy122: YYDEBUG(122, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy123: YYDEBUG(123, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy134; if (yych == 'n') goto yy134; goto yy54; yy124: YYDEBUG(124, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy129; if (yych == 't') goto yy129; goto yy54; yy125: YYDEBUG(125, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy126; if (yych != 'c') goto yy54; yy126: YYDEBUG(126, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy127; if (yych <= 'R') goto yy70; goto yy74; } else { if (yych <= 'o') { if (yych <= 'n') goto yy70; } else { if (yych == 's') goto yy74; goto yy70; } } yy127: YYDEBUG(127, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy128; if (yych != 'n') goto yy54; yy128: YYDEBUG(128, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy94; if (yych == 'd') goto yy94; goto yy54; yy129: YYDEBUG(129, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy130; if (yych != 'u') goto yy70; yy130: YYDEBUG(130, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy131; if (yych != 'r') goto yy54; yy131: YYDEBUG(131, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy132; if (yych != 'd') goto yy54; yy132: YYDEBUG(132, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy133; if (yych != 'a') goto yy54; yy133: YYDEBUG(133, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy134: YYDEBUG(134, *YYCURSOR); yyaccept = 3; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy135; if (yych != 'd') goto yy70; yy135: YYDEBUG(135, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy136; if (yych != 'a') goto yy54; yy136: YYDEBUG(136, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy74; if (yych == 'y') goto yy74; goto yy54; yy137: YYDEBUG(137, *YYCURSOR); yych = *++YYCURSOR; goto yy3; yy138: YYDEBUG(138, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy139: YYDEBUG(139, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy140: YYDEBUG(140, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy141: YYDEBUG(141, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } yy142: YYDEBUG(142, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy137; goto yy3; yy143: YYDEBUG(143, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych == '/') goto yy145; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy139; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy144: YYDEBUG(144, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych != '/') goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy140; if (yych <= '^') goto yy3; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy149; goto yy3; } } yy145: YYDEBUG(145, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy54; if (yych >= '[') goto yy54; YYDEBUG(146, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 16) { goto yy147; } goto yy54; yy147: YYDEBUG(147, *YYCURSOR); yyaccept = 0; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(148, *YYCURSOR); if (yybm[0+yych] & 16) { goto yy147; } if (yych == '/') goto yy145; if (yych == '_') goto yy145; goto yy3; yy149: YYDEBUG(149, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych == '/') goto yy145; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy150: YYDEBUG(150, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych == '/') goto yy145; goto yy3; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy151: YYDEBUG(151, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= '_') { if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych >= '{') goto yy3; } } yy152: YYDEBUG(152, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy153: YYDEBUG(153, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy145; goto yy54; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy54; if (yych <= 'z') goto yy152; goto yy54; } yy154: YYDEBUG(154, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Z') goto yy138; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy138; goto yy3; } yy155: YYDEBUG(155, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'Z') { if (yych >= 'U') goto yy139; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy139; goto yy3; } } YYDEBUG(156, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych != '+') goto yy3; } } else { if (yych <= 'Z') { if (yych <= '-') goto yy157; if (yych <= '@') goto yy3; goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy140; goto yy3; } } yy157: YYDEBUG(157, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy158; if (yych <= '2') goto yy159; if (yych <= '9') goto yy160; goto yy54; yy158: YYDEBUG(158, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy160; if (yych <= ':') goto yy161; goto yy3; yy159: YYDEBUG(159, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy3; if (yych >= '5') goto yy162; } else { if (yych <= '9') goto yy137; if (yych <= ':') goto yy161; goto yy3; } yy160: YYDEBUG(160, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy162; if (yych <= '9') goto yy137; if (yych >= ';') goto yy3; yy161: YYDEBUG(161, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '5') goto yy162; if (yych <= '9') goto yy137; goto yy3; yy162: YYDEBUG(162, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy3; if (yych <= '9') goto yy137; goto yy3; yy163: YYDEBUG(163, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy139; goto yy251; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'g') goto yy251; if (yych <= 'z') goto yy139; goto yy3; } } yy164: YYDEBUG(164, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'e') goto yy165; if (yych <= 'z') goto yy139; goto yy3; } } yy165: YYDEBUG(165, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy140; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'v') goto yy166; if (yych <= 'z') goto yy140; goto yy3; } } yy166: YYDEBUG(166, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'e') goto yy167; if (yych <= 'z') goto yy141; goto yy3; } } yy167: YYDEBUG(167, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy142; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'n') goto yy168; if (yych <= 'z') goto yy142; goto yy3; } } yy168: YYDEBUG(168, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'T') goto yy169; if (yych != 't') goto yy3; } yy169: YYDEBUG(169, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy170; if (yych != 'h') goto yy54; yy170: YYDEBUG(170, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy171; if (yych != ' ') goto yy54; yy171: YYDEBUG(171, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy172: YYDEBUG(172, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy171; if (yych <= 0x1F) goto yy54; goto yy171; } else { if (yych == 'D') goto yy176; if (yych <= 'E') goto yy54; goto yy177; } } else { if (yych <= 'M') { if (yych == 'H') goto yy175; if (yych <= 'L') goto yy54; goto yy174; } else { if (yych <= 'S') { if (yych <= 'R') goto yy54; } else { if (yych <= 'T') goto yy180; if (yych <= 'V') goto yy54; goto yy179; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy178; if (yych <= 'c') goto yy54; goto yy176; } else { if (yych <= 'f') { if (yych <= 'e') goto yy54; goto yy177; } else { if (yych == 'h') goto yy175; goto yy54; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy174; if (yych <= 'r') goto yy54; if (yych >= 't') goto yy180; } else { if (yych <= 'w') { if (yych <= 'v') goto yy54; goto yy179; } else { if (yych == 'y') goto yy178; goto yy54; } } } } yy173: YYDEBUG(173, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy238; goto yy54; } else { if (yych <= 'E') goto yy239; if (yych <= 'T') goto yy54; goto yy237; } } else { if (yych <= 'd') { if (yych == 'a') goto yy238; goto yy54; } else { if (yych <= 'e') goto yy239; if (yych == 'u') goto yy237; goto yy54; } } yy174: YYDEBUG(174, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych == 'I') goto yy229; if (yych <= 'N') goto yy54; goto yy228; } else { if (yych <= 'i') { if (yych <= 'h') goto yy54; goto yy229; } else { if (yych == 'o') goto yy228; goto yy54; } } yy175: YYDEBUG(175, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy226; if (yych == 'o') goto yy226; goto yy54; yy176: YYDEBUG(176, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy225; if (yych == 'a') goto yy225; goto yy54; yy177: YYDEBUG(177, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych == 'O') goto yy210; if (yych <= 'Q') goto yy54; goto yy209; } else { if (yych <= 'o') { if (yych <= 'n') goto yy54; goto yy210; } else { if (yych == 'r') goto yy209; goto yy54; } } yy178: YYDEBUG(178, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy206; if (yych == 'e') goto yy206; goto yy54; yy179: YYDEBUG(179, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy194; if (yych == 'e') goto yy194; goto yy54; yy180: YYDEBUG(180, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy181; if (yych <= 'T') goto yy54; goto yy182; } else { if (yych <= 'h') { if (yych <= 'g') goto yy54; } else { if (yych == 'u') goto yy182; goto yy54; } } yy181: YYDEBUG(181, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy189; if (yych == 'u') goto yy189; goto yy54; yy182: YYDEBUG(182, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy183; if (yych != 'e') goto yy54; yy183: YYDEBUG(183, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'S') goto yy185; if (yych == 's') goto yy185; yy184: YYDEBUG(184, *YYCURSOR); #line 1553 "parse_date_1_78.db.re" { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 3789 "" yy185: YYDEBUG(185, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy186; if (yych != 'd') goto yy54; yy186: YYDEBUG(186, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy187; if (yych != 'a') goto yy54; yy187: YYDEBUG(187, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych != 'y') goto yy54; yy188: YYDEBUG(188, *YYCURSOR); yych = *++YYCURSOR; goto yy184; yy189: YYDEBUG(189, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy190; if (yych != 'r') goto yy184; yy190: YYDEBUG(190, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy191; if (yych != 's') goto yy54; yy191: YYDEBUG(191, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy192; if (yych != 'd') goto yy54; yy192: YYDEBUG(192, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy193; if (yych != 'a') goto yy54; yy193: YYDEBUG(193, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy194: YYDEBUG(194, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy54; if (yych <= 'D') goto yy196; } else { if (yych <= 'c') goto yy54; if (yych <= 'd') goto yy196; if (yych >= 'f') goto yy54; } YYDEBUG(195, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy202; if (yych == 'k') goto yy202; goto yy54; yy196: YYDEBUG(196, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'N') goto yy197; if (yych != 'n') goto yy184; yy197: YYDEBUG(197, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy198; if (yych != 'e') goto yy54; yy198: YYDEBUG(198, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy199; if (yych != 's') goto yy54; yy199: YYDEBUG(199, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy200; if (yych != 'd') goto yy54; yy200: YYDEBUG(200, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy201; if (yych != 'a') goto yy54; yy201: YYDEBUG(201, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy202: YYDEBUG(202, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == 'D') goto yy203; if (yych <= 'R') goto yy54; goto yy188; } else { if (yych <= 'd') { if (yych <= 'c') goto yy54; } else { if (yych == 's') goto yy188; goto yy54; } } yy203: YYDEBUG(203, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy204; if (yych != 'a') goto yy54; yy204: YYDEBUG(204, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy205; if (yych != 'y') goto yy54; yy205: YYDEBUG(205, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy188; if (yych == 's') goto yy188; goto yy184; yy206: YYDEBUG(206, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy207; if (yych != 'a') goto yy54; yy207: YYDEBUG(207, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy208; if (yych != 'r') goto yy54; yy208: YYDEBUG(208, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy188; if (yych == 's') goto yy188; goto yy184; yy209: YYDEBUG(209, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy222; if (yych == 'i') goto yy222; goto yy54; yy210: YYDEBUG(210, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy211; if (yych != 'r') goto yy54; yy211: YYDEBUG(211, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy212; if (yych != 't') goto yy54; yy212: YYDEBUG(212, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'H') goto yy214; if (yych <= 'M') goto yy54; } else { if (yych <= 'h') { if (yych <= 'g') goto yy54; goto yy214; } else { if (yych != 'n') goto yy54; } } YYDEBUG(213, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy219; if (yych == 'i') goto yy219; goto yy54; yy214: YYDEBUG(214, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy215; if (yych != 'n') goto yy54; yy215: YYDEBUG(215, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy216; if (yych != 'i') goto yy54; yy216: YYDEBUG(216, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy217; if (yych != 'g') goto yy54; yy217: YYDEBUG(217, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy218; if (yych != 'h') goto yy54; yy218: YYDEBUG(218, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy208; if (yych == 't') goto yy208; goto yy54; yy219: YYDEBUG(219, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy220; if (yych != 'g') goto yy54; yy220: YYDEBUG(220, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy221; if (yych != 'h') goto yy54; yy221: YYDEBUG(221, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy208; if (yych == 't') goto yy208; goto yy54; yy222: YYDEBUG(222, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy223; if (yych != 'd') goto yy184; yy223: YYDEBUG(223, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy224; if (yych != 'a') goto yy54; yy224: YYDEBUG(224, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy225: YYDEBUG(225, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy208; if (yych == 'y') goto yy208; goto yy54; yy226: YYDEBUG(226, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy227; if (yych != 'u') goto yy54; yy227: YYDEBUG(227, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy208; if (yych == 'r') goto yy208; goto yy54; yy228: YYDEBUG(228, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy233; if (yych == 'n') goto yy233; goto yy54; yy229: YYDEBUG(229, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy230; if (yych != 'n') goto yy54; yy230: YYDEBUG(230, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych == 'S') goto yy188; if (yych <= 'T') goto yy184; } else { if (yych <= 's') { if (yych <= 'r') goto yy184; goto yy188; } else { if (yych != 'u') goto yy184; } } YYDEBUG(231, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy232; if (yych != 't') goto yy54; yy232: YYDEBUG(232, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy208; if (yych == 'e') goto yy208; goto yy54; yy233: YYDEBUG(233, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == 'D') goto yy234; if (yych <= 'S') goto yy184; goto yy235; } else { if (yych <= 'd') { if (yych <= 'c') goto yy184; } else { if (yych == 't') goto yy235; goto yy184; } } yy234: YYDEBUG(234, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy236; if (yych == 'a') goto yy236; goto yy54; yy235: YYDEBUG(235, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy208; if (yych == 'h') goto yy208; goto yy54; yy236: YYDEBUG(236, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy237: YYDEBUG(237, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy248; if (yych == 'n') goto yy248; goto yy54; yy238: YYDEBUG(238, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy243; if (yych == 't') goto yy243; goto yy54; yy239: YYDEBUG(239, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy240; if (yych != 'c') goto yy54; yy240: YYDEBUG(240, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'O') goto yy241; if (yych <= 'R') goto yy184; goto yy188; } else { if (yych <= 'o') { if (yych <= 'n') goto yy184; } else { if (yych == 's') goto yy188; goto yy184; } } yy241: YYDEBUG(241, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy242; if (yych != 'n') goto yy54; yy242: YYDEBUG(242, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy208; if (yych == 'd') goto yy208; goto yy54; yy243: YYDEBUG(243, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy244; if (yych != 'u') goto yy184; yy244: YYDEBUG(244, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy245; if (yych != 'r') goto yy54; yy245: YYDEBUG(245, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy246; if (yych != 'd') goto yy54; yy246: YYDEBUG(246, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy247; if (yych != 'a') goto yy54; yy247: YYDEBUG(247, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy248: YYDEBUG(248, *YYCURSOR); yyaccept = 4; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'D') goto yy249; if (yych != 'd') goto yy184; yy249: YYDEBUG(249, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy250; if (yych != 'a') goto yy54; yy250: YYDEBUG(250, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy188; if (yych == 'y') goto yy188; goto yy54; yy251: YYDEBUG(251, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy140; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'h') goto yy252; if (yych <= 'z') goto yy140; goto yy3; } } yy252: YYDEBUG(252, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 't') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy253: YYDEBUG(253, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy171; } else { if (yych == ' ') goto yy171; goto yy3; } } else { if (yych <= 'Z') { if (yych <= ')') goto yy137; if (yych <= '@') goto yy3; goto yy142; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy254: YYDEBUG(254, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy139; goto yy251; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'g') goto yy262; if (yych <= 'z') goto yy144; goto yy3; } } yy255: YYDEBUG(255, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy165; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy256; if (yych <= 'z') goto yy144; goto yy3; } } yy256: YYDEBUG(256, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy140; goto yy166; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'v') goto yy257; if (yych <= 'z') goto yy149; goto yy3; } } yy257: YYDEBUG(257, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; goto yy167; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy258; if (yych <= 'z') goto yy150; goto yy3; } } yy258: YYDEBUG(258, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy142; goto yy168; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy259; if (yych <= 'z') goto yy151; goto yy3; } } yy259: YYDEBUG(259, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'S') goto yy3; goto yy169; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy260; if (yych <= 'z') goto yy152; goto yy3; } } yy260: YYDEBUG(260, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy170; if (yych != 'h') goto yy153; yy261: YYDEBUG(261, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy171; } else { if (yych == ' ') goto yy171; goto yy54; } } else { if (yych <= '_') { if (yych <= '/') goto yy145; if (yych <= '^') goto yy54; goto yy145; } else { if (yych <= '`') goto yy54; if (yych <= 'z') goto yy152; goto yy54; } } yy262: YYDEBUG(262, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy140; goto yy252; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy263; if (yych <= 'z') goto yy149; goto yy3; } } yy263: YYDEBUG(263, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy264: YYDEBUG(264, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy171; goto yy3; } else { if (yych <= ' ') goto yy171; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '^') { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy142; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy151; goto yy3; } } yy265: YYDEBUG(265, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'e') goto yy266; if (yych <= 'z') goto yy139; goto yy3; } } yy266: YYDEBUG(266, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'U') goto yy140; } } else { if (yych <= 'u') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'v') goto yy267; if (yych <= 'z') goto yy140; goto yy3; } } yy267: YYDEBUG(267, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy141; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'i') goto yy268; if (yych <= 'z') goto yy141; goto yy3; } } yy268: YYDEBUG(268, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy142; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'o') goto yy269; if (yych <= 'z') goto yy142; goto yy3; } } yy269: YYDEBUG(269, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'U') goto yy270; if (yych != 'u') goto yy3; } yy270: YYDEBUG(270, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy271; if (yych != 's') goto yy54; yy271: YYDEBUG(271, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy272; if (yych != ' ') goto yy54; yy272: YYDEBUG(272, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy273: YYDEBUG(273, *YYCURSOR); if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy272; if (yych <= 0x1F) goto yy54; goto yy272; } else { if (yych == 'D') goto yy176; if (yych <= 'E') goto yy54; goto yy177; } } else { if (yych <= 'M') { if (yych == 'H') goto yy175; if (yych <= 'L') goto yy54; goto yy174; } else { if (yych <= 'S') { if (yych <= 'R') goto yy54; goto yy173; } else { if (yych <= 'T') goto yy180; if (yych <= 'V') goto yy54; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy178; if (yych <= 'c') goto yy54; goto yy176; } else { if (yych <= 'f') { if (yych <= 'e') goto yy54; goto yy177; } else { if (yych == 'h') goto yy175; goto yy54; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy174; if (yych <= 'r') goto yy54; if (yych <= 's') goto yy173; goto yy180; } else { if (yych <= 'w') { if (yych <= 'v') goto yy54; } else { if (yych == 'y') goto yy178; goto yy54; } } } } YYDEBUG(274, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy275; if (yych != 'e') goto yy54; yy275: YYDEBUG(275, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= 'C') goto yy54; if (yych <= 'D') goto yy196; } else { if (yych <= 'c') goto yy54; if (yych <= 'd') goto yy196; if (yych >= 'f') goto yy54; } YYDEBUG(276, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'K') goto yy277; if (yych != 'k') goto yy54; yy277: YYDEBUG(277, *YYCURSOR); yyaccept = 5; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == 'D') goto yy203; if (yych >= 'S') goto yy188; } else { if (yych <= 'd') { if (yych >= 'd') goto yy203; } else { if (yych == 's') goto yy188; } } yy278: YYDEBUG(278, *YYCURSOR); #line 1529 "parse_date_1_78.db.re" { timelib_sll i; int behavior = 0; DEBUG_OUTPUT("relativetextweek"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); while(*ptr) { i = timelib_get_relative_text((char **) &ptr, &behavior); timelib_eat_spaces((char **) &ptr); timelib_set_relative((char **) &ptr, i, behavior, s); s->time->relative.weekday_behavior = 2; /* to handle the format weekday + last/this/next week */ if (s->time->relative.have_weekday_relative == 0) { TIMELIB_HAVE_WEEKDAY_RELATIVE(); s->time->relative.weekday = 1; } } TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 4749 "" yy279: YYDEBUG(279, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy266; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy280; if (yych <= 'z') goto yy144; goto yy3; } } yy280: YYDEBUG(280, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'U') goto yy140; goto yy267; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'v') goto yy281; if (yych <= 'z') goto yy149; goto yy3; } } yy281: YYDEBUG(281, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy141; goto yy268; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'i') goto yy282; if (yych <= 'z') goto yy150; goto yy3; } } yy282: YYDEBUG(282, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy142; goto yy269; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'o') goto yy283; if (yych <= 'z') goto yy151; goto yy3; } } yy283: YYDEBUG(283, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'T') goto yy3; goto yy270; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'u') goto yy284; if (yych <= 'z') goto yy152; goto yy3; } } yy284: YYDEBUG(284, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy271; if (yych != 's') goto yy153; YYDEBUG(285, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy272; } else { if (yych == ' ') goto yy272; goto yy54; } } else { if (yych <= '_') { if (yych <= '/') goto yy145; if (yych <= '^') goto yy54; goto yy145; } else { if (yych <= '`') goto yy54; if (yych <= 'z') goto yy152; goto yy54; } } yy286: YYDEBUG(286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'C') goto yy139; if (yych >= 'E') goto yy289; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'd') goto yy287; if (yych <= 'e') goto yy289; if (yych <= 'z') goto yy139; goto yy3; } } yy287: YYDEBUG(287, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'N') { if (yych <= ')') { if (yych >= ')') goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'M') goto yy140; goto yy295; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy140; if (yych >= 'a') goto yy140; } else { if (yych <= 'n') goto yy295; if (yych <= 'z') goto yy140; } } yy288: YYDEBUG(288, *YYCURSOR); #line 1511 "parse_date_1_78.db.re" { const timelib_relunit* relunit; DEBUG_OUTPUT("daytext"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_HAVE_WEEKDAY_RELATIVE(); TIMELIB_UNHAVE_TIME(); relunit = timelib_lookup_relunit((char**) &ptr); s->time->relative.weekday = relunit->multiplier; if (s->time->relative.weekday_behavior != 2) { s->time->relative.weekday_behavior = 1; } TIMELIB_DEINIT; return TIMELIB_WEEKDAY; } #line 4961 "" yy289: YYDEBUG(289, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'K') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'J') goto yy140; } } else { if (yych <= 'j') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'k') goto yy290; if (yych <= 'z') goto yy140; goto yy3; } } yy290: YYDEBUG(290, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'd') goto yy291; if (yych <= 'z') goto yy141; goto yy3; } } yy291: YYDEBUG(291, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; goto yy3; } else { if (yych <= 'a') goto yy292; if (yych <= 'z') goto yy142; goto yy3; } } yy292: YYDEBUG(292, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Y') goto yy293; if (yych != 'y') goto yy3; } yy293: YYDEBUG(293, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy294; if (yych != 's') goto yy288; yy294: YYDEBUG(294, *YYCURSOR); yych = *++YYCURSOR; goto yy288; yy295: YYDEBUG(295, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'e') goto yy296; if (yych <= 'z') goto yy141; goto yy3; } } yy296: YYDEBUG(296, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy142; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 's') goto yy297; if (yych <= 'z') goto yy142; goto yy3; } } yy297: YYDEBUG(297, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'D') goto yy298; if (yych != 'd') goto yy3; } yy298: YYDEBUG(298, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy299; if (yych != 'a') goto yy54; yy299: YYDEBUG(299, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy294; goto yy54; yy300: YYDEBUG(300, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy139; if (yych <= 'D') goto yy287; goto yy289; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych <= 'd') { if (yych <= 'c') goto yy144; } else { if (yych <= 'e') goto yy302; if (yych <= 'z') goto yy144; goto yy3; } } } YYDEBUG(301, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'M') goto yy140; goto yy295; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'n') goto yy308; if (yych <= 'z') goto yy149; goto yy288; } } yy302: YYDEBUG(302, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'K') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'J') goto yy140; goto yy290; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'k') goto yy303; if (yych <= 'z') goto yy149; goto yy3; } } yy303: YYDEBUG(303, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; goto yy291; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy304; if (yych <= 'z') goto yy150; goto yy3; } } yy304: YYDEBUG(304, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy292; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy305; if (yych <= 'z') goto yy151; goto yy3; } } yy305: YYDEBUG(305, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'X') goto yy3; goto yy293; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy306; if (yych <= 'z') goto yy152; goto yy3; } } yy306: YYDEBUG(306, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych <= '/') { if (yych <= '.') goto yy288; goto yy145; } else { if (yych == 'S') goto yy294; goto yy288; } } else { if (yych <= 'r') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy288; goto yy152; } else { if (yych <= 's') goto yy307; if (yych <= 'z') goto yy152; goto yy288; } } yy307: YYDEBUG(307, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy145; goto yy288; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy288; if (yych <= 'z') goto yy152; goto yy288; } yy308: YYDEBUG(308, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; goto yy296; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy309; if (yych <= 'z') goto yy150; goto yy3; } } yy309: YYDEBUG(309, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy142; goto yy297; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy310; if (yych <= 'z') goto yy151; goto yy3; } } yy310: YYDEBUG(310, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'C') goto yy3; goto yy298; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy311; if (yych <= 'z') goto yy152; goto yy3; } } yy311: YYDEBUG(311, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy299; if (yych != 'a') goto yy153; YYDEBUG(312, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy307; goto yy153; yy313: YYDEBUG(313, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'C') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'B') goto yy139; } } else { if (yych <= 'b') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'c') goto yy314; if (yych <= 'z') goto yy139; goto yy3; } } yy314: YYDEBUG(314, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych >= '\t') goto yy317; } else { if (yych == ' ') goto yy317; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; } else { if (yych == 'E') goto yy323; goto yy140; } } else { if (yych <= 'd') { if (yych >= 'a') goto yy140; } else { if (yych <= 'e') goto yy323; if (yych <= 'z') goto yy140; } } } yy315: YYDEBUG(315, *YYCURSOR); #line 1570 "parse_date_1_78.db.re" { DEBUG_OUTPUT("monthtext"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_lookup_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 5447 "" yy316: YYDEBUG(316, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21); yych = *YYCURSOR; yy317: YYDEBUG(317, *YYCURSOR); if (yybm[0+yych] & 32) { goto yy316; } if (yych <= '/') goto yy54; if (yych <= '2') goto yy319; if (yych <= '3') goto yy321; if (yych <= '9') goto yy322; goto yy54; yy318: YYDEBUG(318, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy317; if (yych <= '0') goto yy481; if (yych <= '2') goto yy482; if (yych <= '3') goto yy483; goto yy317; yy319: YYDEBUG(319, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy420; goto yy421; } else { if (yych <= '2') goto yy479; if (yych <= '9') goto yy480; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy320: YYDEBUG(320, *YYCURSOR); #line 1320 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datetextual | datenoyear"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 5510 "" yy321: YYDEBUG(321, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy420; goto yy421; } else { if (yych <= '2') goto yy330; if (yych <= '9') goto yy331; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy322: YYDEBUG(322, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy328; goto yy329; } else { if (yych <= '2') goto yy330; if (yych <= '9') goto yy331; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy323: YYDEBUG(323, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy141; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'm') goto yy324; if (yych <= 'z') goto yy141; goto yy3; } } yy324: YYDEBUG(324, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy142; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'b') goto yy325; if (yych <= 'z') goto yy142; goto yy3; } } yy325: YYDEBUG(325, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'E') goto yy326; if (yych != 'e') goto yy3; } yy326: YYDEBUG(326, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych != 'r') goto yy54; yy327: YYDEBUG(327, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy315; goto yy317; } else { if (yych <= '.') { if (yych <= ',') goto yy315; goto yy317; } else { if (yych <= '/') goto yy315; if (yych <= '9') goto yy317; goto yy315; } } yy328: YYDEBUG(328, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy320; } else { if (yych <= '0') goto yy418; if (yych <= '9') goto yy419; if (yych <= ':') goto yy342; goto yy320; } yy329: YYDEBUG(329, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '2') goto yy419; if (yych <= '9') goto yy418; if (yych <= ':') goto yy386; goto yy320; } yy330: YYDEBUG(330, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '4') goto yy418; if (yych <= '9') goto yy415; if (yych <= ':') goto yy386; goto yy320; } yy331: YYDEBUG(331, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '9') goto yy415; if (yych <= ':') goto yy386; goto yy320; } yy332: YYDEBUG(332, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); goto yy337; yy333: YYDEBUG(333, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); goto yy337; yy334: YYDEBUG(334, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); goto yy337; yy335: YYDEBUG(335, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); goto yy337; yy336: YYDEBUG(336, *YYCURSOR); yyaccept = 8; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18); yych = *YYCURSOR; yy337: YYDEBUG(337, *YYCURSOR); if (yybm[0+yych] & 64) { goto yy336; } if (yych <= '2') { if (yych <= '/') goto yy320; if (yych <= '0') goto yy381; if (yych <= '1') goto yy382; goto yy383; } else { if (yych <= '9') goto yy384; if (yych != 'T') goto yy320; } YYDEBUG(338, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy339; if (yych <= '2') goto yy340; if (yych <= '9') goto yy341; goto yy54; yy339: YYDEBUG(339, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy342; goto yy54; } else { if (yych <= '9') goto yy341; if (yych <= ':') goto yy342; goto yy54; } yy340: YYDEBUG(340, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy342; goto yy54; } else { if (yych <= '4') goto yy341; if (yych == ':') goto yy342; goto yy54; } yy341: YYDEBUG(341, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy342; if (yych != ':') goto yy54; yy342: YYDEBUG(342, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy343; if (yych <= '9') goto yy345; goto yy54; yy343: YYDEBUG(343, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; } else { if (yych <= '9') goto yy345; if (yych <= ':') goto yy346; } yy344: YYDEBUG(344, *YYCURSOR); #line 1618 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 5812 "" yy345: YYDEBUG(345, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy346; if (yych != ':') goto yy344; yy346: YYDEBUG(346, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy347; if (yych <= '6') goto yy348; if (yych <= '9') goto yy349; goto yy54; yy347: YYDEBUG(347, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '9') goto yy350; goto yy344; yy348: YYDEBUG(348, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy350; goto yy344; yy349: YYDEBUG(349, *YYCURSOR); yych = *++YYCURSOR; goto yy344; yy350: YYDEBUG(350, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { if (yych == '\t') goto yy352; goto yy344; } else { if (yych <= ' ') goto yy352; if (yych == '(') goto yy352; goto yy344; } } else { if (yych <= '@') { if (yych == ',') goto yy344; if (yych <= '-') goto yy352; goto yy344; } else { if (yych <= 'Z') goto yy352; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy352; goto yy344; } } yy351: YYDEBUG(351, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy352: YYDEBUG(352, *YYCURSOR); if (yych <= '+') { if (yych <= ' ') { if (yych == '\t') goto yy351; if (yych <= 0x1F) goto yy54; goto yy351; } else { if (yych == '(') goto yy355; if (yych <= '*') goto yy54; goto yy354; } } else { if (yych <= 'F') { if (yych == '-') goto yy354; if (yych <= '@') goto yy54; goto yy356; } else { if (yych <= 'Z') { if (yych >= 'H') goto yy356; } else { if (yych <= '`') goto yy54; if (yych <= 'z') goto yy357; goto yy54; } } } yy353: YYDEBUG(353, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == ')') goto yy349; if (yych <= '@') goto yy344; goto yy358; } else { if (yych <= 'Z') { if (yych <= 'M') goto yy379; goto yy358; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy363; goto yy344; } } yy354: YYDEBUG(354, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy374; if (yych <= '2') goto yy375; if (yych <= '9') goto yy376; goto yy54; yy355: YYDEBUG(355, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') goto yy54; if (yych <= 'Z') goto yy357; if (yych <= '`') goto yy54; if (yych <= 'z') goto yy357; goto yy54; yy356: YYDEBUG(356, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy358; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy363; goto yy344; } yy357: YYDEBUG(357, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy358; if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } yy358: YYDEBUG(358, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy359; if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } yy359: YYDEBUG(359, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy360; if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } yy360: YYDEBUG(360, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy361; if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } yy361: YYDEBUG(361, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '@') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= 'Z') goto yy362; if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } yy362: YYDEBUG(362, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy349; goto yy344; yy363: YYDEBUG(363, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy344; goto yy349; } else { if (yych == '/') goto yy365; goto yy344; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy359; if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } } yy364: YYDEBUG(364, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy344; goto yy349; } else { if (yych != '/') goto yy344; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy360; if (yych <= '^') goto yy344; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy369; goto yy344; } } yy365: YYDEBUG(365, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '@') goto yy54; if (yych >= '[') goto yy54; YYDEBUG(366, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yych <= '`') goto yy54; if (yych >= '{') goto yy54; yy367: YYDEBUG(367, *YYCURSOR); yyaccept = 9; YYMARKER = ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(368, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy365; goto yy344; } else { if (yych <= '_') goto yy365; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy367; goto yy344; } yy369: YYDEBUG(369, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy344; goto yy349; } else { if (yych == '/') goto yy365; goto yy344; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy361; if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } } YYDEBUG(370, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy344; goto yy349; } else { if (yych == '/') goto yy365; goto yy344; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy362; if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } } YYDEBUG(371, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy349; if (yych <= '.') goto yy344; goto yy365; } else { if (yych <= '_') { if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych >= '{') goto yy344; } } yy372: YYDEBUG(372, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(373, *YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy365; goto yy54; } else { if (yych <= '_') goto yy365; if (yych <= '`') goto yy54; if (yych <= 'z') goto yy372; goto yy54; } yy374: YYDEBUG(374, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '9') goto yy376; if (yych <= ':') goto yy377; goto yy344; yy375: YYDEBUG(375, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy344; if (yych >= '5') goto yy378; } else { if (yych <= '9') goto yy349; if (yych <= ':') goto yy377; goto yy344; } yy376: YYDEBUG(376, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '5') goto yy378; if (yych <= '9') goto yy349; if (yych >= ';') goto yy344; yy377: YYDEBUG(377, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '5') goto yy378; if (yych <= '9') goto yy349; goto yy344; yy378: YYDEBUG(378, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '9') goto yy349; goto yy344; yy379: YYDEBUG(379, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == ')') goto yy349; if (yych <= '@') goto yy344; goto yy359; } else { if (yych <= 'Z') { if (yych >= 'U') goto yy359; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy359; goto yy344; } } YYDEBUG(380, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ')') { if (yych <= '(') goto yy344; goto yy349; } else { if (yych == '+') goto yy354; goto yy344; } } else { if (yych <= 'Z') { if (yych <= '-') goto yy354; if (yych <= '@') goto yy344; goto yy360; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy360; goto yy344; } } yy381: YYDEBUG(381, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy320; } else { if (yych <= '0') goto yy413; if (yych <= '9') goto yy414; if (yych <= ':') goto yy342; goto yy320; } yy382: YYDEBUG(382, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '2') goto yy414; if (yych <= '9') goto yy413; if (yych <= ':') goto yy386; goto yy320; } yy383: YYDEBUG(383, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '4') goto yy413; if (yych <= '9') goto yy385; if (yych <= ':') goto yy386; goto yy320; } yy384: YYDEBUG(384, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '9') goto yy385; if (yych <= ':') goto yy386; goto yy320; } yy385: YYDEBUG(385, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy320; if (yych <= '9') goto yy411; goto yy320; yy386: YYDEBUG(386, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy387; if (yych <= '9') goto yy388; goto yy54; yy387: YYDEBUG(387, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy389; goto yy344; } else { if (yych <= '9') goto yy404; if (yych <= ':') goto yy389; goto yy344; } yy388: YYDEBUG(388, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy389; if (yych != ':') goto yy344; yy389: YYDEBUG(389, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy390; if (yych <= '6') goto yy391; if (yych <= '9') goto yy349; goto yy54; yy390: YYDEBUG(390, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy344; if (yych <= '9') goto yy392; goto yy344; yy391: YYDEBUG(391, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy344; yy392: YYDEBUG(392, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '*') { if (yych <= 0x1F) { if (yych == '\t') goto yy394; goto yy344; } else { if (yych <= ' ') goto yy394; if (yych == '(') goto yy394; goto yy344; } } else { if (yych <= '@') { if (yych == ',') goto yy344; if (yych <= '-') goto yy394; goto yy344; } else { if (yych <= 'Z') goto yy394; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy394; goto yy344; } } yy393: YYDEBUG(393, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy394: YYDEBUG(394, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy393; } else { if (yych == ' ') goto yy393; goto yy54; } } else { if (yych <= '+') { if (yych <= '(') goto yy355; if (yych <= '*') goto yy54; goto yy354; } else { if (yych == '-') goto yy354; goto yy54; } } } else { if (yych <= 'Z') { if (yych <= 'G') { if (yych <= 'A') goto yy395; if (yych <= 'F') goto yy356; goto yy353; } else { if (yych != 'P') goto yy356; } } else { if (yych <= 'o') { if (yych <= '`') goto yy54; if (yych <= 'a') goto yy396; goto yy357; } else { if (yych <= 'p') goto yy396; if (yych <= 'z') goto yy357; goto yy54; } } } yy395: YYDEBUG(395, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy397; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy398; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy403; if (yych <= 'z') goto yy363; goto yy344; } } yy396: YYDEBUG(396, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy397; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy398; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy398; if (yych <= 'z') goto yy358; goto yy344; } } yy397: YYDEBUG(397, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy402; if (yych == 'm') goto yy402; goto yy54; yy398: YYDEBUG(398, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy344; goto yy400; } else { if (yych == ' ') goto yy400; if (yych <= '(') goto yy344; goto yy349; } } else { if (yych <= '@') { if (yych != '.') goto yy344; } else { if (yych <= 'Z') goto yy359; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy359; goto yy344; } } yy399: YYDEBUG(399, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy54; } else { if (yych != ' ') goto yy54; } yy400: YYDEBUG(400, *YYCURSOR); ++YYCURSOR; YYDEBUG(401, *YYCURSOR); #line 1594 "parse_date_1_78.db.re" { DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_SHORTDATE_WITH_TIME; } #line 6512 "" yy402: YYDEBUG(402, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy54; } else { if (yych <= ' ') goto yy400; if (yych == '.') goto yy399; goto yy54; } yy403: YYDEBUG(403, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy344; } else { if (yych <= ' ') goto yy400; if (yych == ')') goto yy349; goto yy344; } } else { if (yych <= 'Z') { if (yych <= '.') goto yy399; if (yych <= '/') goto yy365; if (yych <= '@') goto yy344; goto yy359; } else { if (yych <= '_') { if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy364; goto yy344; } } } yy404: YYDEBUG(404, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy405; if (yych <= 0x1F) goto yy344; } else { if (yych == '.') goto yy389; if (yych <= '9') goto yy344; goto yy389; } } else { if (yych <= 'P') { if (yych == 'A') goto yy407; if (yych <= 'O') goto yy344; goto yy407; } else { if (yych <= 'a') { if (yych <= '`') goto yy344; goto yy407; } else { if (yych == 'p') goto yy407; goto yy344; } } } yy405: YYDEBUG(405, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(406, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy405; goto yy54; } else { if (yych <= ' ') goto yy405; if (yych <= '@') goto yy54; } } else { if (yych <= '`') { if (yych != 'P') goto yy54; } else { if (yych <= 'a') goto yy407; if (yych != 'p') goto yy54; } } yy407: YYDEBUG(407, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy54; } else { if (yych <= 'M') goto yy409; if (yych == 'm') goto yy409; goto yy54; } yy408: YYDEBUG(408, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy409; if (yych != 'm') goto yy54; yy409: YYDEBUG(409, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy54; } else { if (yych <= ' ') goto yy400; if (yych != '.') goto yy54; } yy410: YYDEBUG(410, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy54; goto yy400; } else { if (yych == ' ') goto yy400; goto yy54; } yy411: YYDEBUG(411, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy320; if (yych >= ':') goto yy320; yy412: YYDEBUG(412, *YYCURSOR); yych = *++YYCURSOR; goto yy320; yy413: YYDEBUG(413, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy320; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy342; goto yy320; } yy414: YYDEBUG(414, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy386; goto yy320; } yy415: YYDEBUG(415, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy320; if (yych >= ':') goto yy320; yy416: YYDEBUG(416, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy417; if (yych <= '9') goto yy412; yy417: YYDEBUG(417, *YYCURSOR); #line 1294 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datenoday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 6700 "" yy418: YYDEBUG(418, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy320; } else { if (yych <= '9') goto yy416; if (yych <= ':') goto yy342; goto yy320; } yy419: YYDEBUG(419, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '9') goto yy416; if (yych <= ':') goto yy386; goto yy320; } yy420: YYDEBUG(420, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych == '.') goto yy455; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy342; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy421: YYDEBUG(421, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych != '.') goto yy337; } else { if (yych <= '0') goto yy423; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy422: YYDEBUG(422, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy430; goto yy431; } else { if (yych <= '2') goto yy432; if (yych <= '5') goto yy433; if (yych <= '9') goto yy434; goto yy337; } yy423: YYDEBUG(423, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '0') goto yy428; if (yych <= '9') goto yy429; if (yych <= ':') goto yy386; goto yy320; } yy424: YYDEBUG(424, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '2') goto yy429; if (yych <= '9') goto yy428; if (yych <= ':') goto yy386; goto yy320; } yy425: YYDEBUG(425, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '4') goto yy428; if (yych <= '9') goto yy427; if (yych <= ':') goto yy386; goto yy320; } yy426: YYDEBUG(426, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy320; } else { if (yych <= '9') goto yy427; if (yych <= ':') goto yy386; goto yy320; } yy427: YYDEBUG(427, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy417; if (yych <= '9') goto yy411; goto yy417; yy428: YYDEBUG(428, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy417; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy342; goto yy417; } yy429: YYDEBUG(429, *YYCURSOR); yyaccept = 10; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy386; goto yy417; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy386; goto yy417; } yy430: YYDEBUG(430, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy450; goto yy320; } else { if (yych <= '0') goto yy449; if (yych <= '9') goto yy454; if (yych <= ':') goto yy450; goto yy320; } yy431: YYDEBUG(431, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy435; goto yy320; } else { if (yych <= '2') goto yy454; if (yych <= '9') goto yy449; if (yych <= ':') goto yy435; goto yy320; } yy432: YYDEBUG(432, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy435; goto yy320; } else { if (yych <= '4') goto yy449; if (yych <= '9') goto yy448; if (yych <= ':') goto yy435; goto yy320; } yy433: YYDEBUG(433, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy435; goto yy320; } else { if (yych <= '9') goto yy448; if (yych <= ':') goto yy435; goto yy320; } yy434: YYDEBUG(434, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy320; } else { if (yych <= '9') goto yy385; if (yych >= ';') goto yy320; } yy435: YYDEBUG(435, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy436; if (yych <= '6') goto yy437; if (yych <= '9') goto yy388; goto yy54; yy436: YYDEBUG(436, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy389; goto yy344; } else { if (yych <= '9') goto yy438; if (yych <= ':') goto yy389; goto yy344; } yy437: YYDEBUG(437, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy389; goto yy344; } else { if (yych <= '0') goto yy392; if (yych == ':') goto yy389; goto yy344; } yy438: YYDEBUG(438, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { if (yych == '\t') goto yy440; if (yych <= 0x1F) goto yy344; goto yy440; } else { if (yych <= '(') { if (yych <= '\'') goto yy344; goto yy440; } else { if (yych == '+') goto yy440; goto yy344; } } } else { if (yych <= ':') { if (yych <= '-') goto yy440; if (yych <= '.') goto yy389; if (yych <= '9') goto yy344; goto yy389; } else { if (yych <= 'Z') { if (yych <= '@') goto yy344; goto yy440; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy440; goto yy344; } } } yy439: YYDEBUG(439, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy440: YYDEBUG(440, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy439; } else { if (yych == ' ') goto yy439; goto yy54; } } else { if (yych <= '+') { if (yych <= '(') goto yy355; if (yych <= '*') goto yy54; goto yy354; } else { if (yych == '-') goto yy354; goto yy54; } } } else { if (yych <= 'Z') { if (yych <= 'G') { if (yych <= 'A') goto yy441; if (yych <= 'F') goto yy356; goto yy353; } else { if (yych != 'P') goto yy356; } } else { if (yych <= 'o') { if (yych <= '`') goto yy54; if (yych <= 'a') goto yy442; goto yy357; } else { if (yych <= 'p') goto yy442; if (yych <= 'z') goto yy357; goto yy54; } } } yy441: YYDEBUG(441, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy444; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy443; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy447; if (yych <= 'z') goto yy363; goto yy344; } } yy442: YYDEBUG(442, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy444; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy443; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy443; if (yych <= 'z') goto yy358; goto yy344; } } yy443: YYDEBUG(443, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy344; goto yy400; } else { if (yych == ' ') goto yy400; if (yych <= '(') goto yy344; goto yy349; } } else { if (yych <= '@') { if (yych == '.') goto yy446; goto yy344; } else { if (yych <= 'Z') goto yy359; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy359; goto yy344; } } yy444: YYDEBUG(444, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy445; if (yych != 'm') goto yy54; yy445: YYDEBUG(445, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy54; } else { if (yych <= ' ') goto yy400; if (yych != '.') goto yy54; } yy446: YYDEBUG(446, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy54; goto yy400; } else { if (yych == ' ') goto yy400; goto yy54; } yy447: YYDEBUG(447, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy344; } else { if (yych <= ' ') goto yy400; if (yych == ')') goto yy349; goto yy344; } } else { if (yych <= 'Z') { if (yych <= '.') goto yy446; if (yych <= '/') goto yy365; if (yych <= '@') goto yy344; goto yy359; } else { if (yych <= '_') { if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy364; goto yy344; } } } yy448: YYDEBUG(448, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy405; if (yych <= 0x1F) goto yy320; goto yy405; } else { if (yych <= '.') { if (yych <= '-') goto yy320; goto yy389; } else { if (yych <= '/') goto yy320; if (yych <= '9') goto yy411; goto yy389; } } } else { if (yych <= 'P') { if (yych == 'A') goto yy407; if (yych <= 'O') goto yy320; goto yy407; } else { if (yych <= 'a') { if (yych <= '`') goto yy320; goto yy407; } else { if (yych == 'p') goto yy407; goto yy320; } } } yy449: YYDEBUG(449, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy405; if (yych <= 0x1F) goto yy320; goto yy405; } else { if (yych <= '.') { if (yych <= '-') goto yy320; } else { if (yych <= '/') goto yy320; if (yych <= '9') goto yy411; } } } else { if (yych <= 'P') { if (yych == 'A') goto yy407; if (yych <= 'O') goto yy320; goto yy407; } else { if (yych <= 'a') { if (yych <= '`') goto yy320; goto yy407; } else { if (yych == 'p') goto yy407; goto yy320; } } } yy450: YYDEBUG(450, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy451; if (yych <= '6') goto yy452; if (yych <= '9') goto yy345; goto yy54; yy451: YYDEBUG(451, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; goto yy344; } else { if (yych <= '9') goto yy453; if (yych <= ':') goto yy346; goto yy344; } yy452: YYDEBUG(452, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; goto yy344; } else { if (yych <= '0') goto yy392; if (yych == ':') goto yy346; goto yy344; } yy453: YYDEBUG(453, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { if (yych == '\t') goto yy394; if (yych <= 0x1F) goto yy344; goto yy394; } else { if (yych <= '(') { if (yych <= '\'') goto yy344; goto yy394; } else { if (yych == '+') goto yy394; goto yy344; } } } else { if (yych <= ':') { if (yych <= '-') goto yy394; if (yych <= '.') goto yy346; if (yych <= '9') goto yy344; goto yy346; } else { if (yych <= 'Z') { if (yych <= '@') goto yy344; goto yy394; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy394; goto yy344; } } } yy454: YYDEBUG(454, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy405; if (yych <= 0x1F) goto yy320; goto yy405; } else { if (yych <= '.') { if (yych <= '-') goto yy320; goto yy435; } else { if (yych <= '/') goto yy320; if (yych <= '9') goto yy411; goto yy435; } } } else { if (yych <= 'P') { if (yych == 'A') goto yy407; if (yych <= 'O') goto yy320; goto yy407; } else { if (yych <= 'a') { if (yych <= '`') goto yy320; goto yy407; } else { if (yych == 'p') goto yy407; goto yy320; } } } yy455: YYDEBUG(455, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy457; goto yy458; } else { if (yych <= '2') goto yy459; if (yych <= '5') goto yy460; if (yych <= '9') goto yy461; goto yy337; } yy456: YYDEBUG(456, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy342; goto yy320; } else { if (yych <= '0') goto yy428; if (yych <= '9') goto yy429; if (yych <= ':') goto yy342; goto yy320; } yy457: YYDEBUG(457, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy474; goto yy320; } else { if (yych <= '0') goto yy473; if (yych <= '9') goto yy478; if (yych <= ':') goto yy474; goto yy320; } yy458: YYDEBUG(458, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy462; goto yy320; } else { if (yych <= '2') goto yy478; if (yych <= '9') goto yy473; if (yych <= ':') goto yy462; goto yy320; } yy459: YYDEBUG(459, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy462; goto yy320; } else { if (yych <= '4') goto yy473; if (yych <= '9') goto yy472; if (yych <= ':') goto yy462; goto yy320; } yy460: YYDEBUG(460, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy462; goto yy320; } else { if (yych <= '9') goto yy472; if (yych <= ':') goto yy462; goto yy320; } yy461: YYDEBUG(461, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy320; } else { if (yych <= '9') goto yy385; if (yych >= ';') goto yy320; } yy462: YYDEBUG(462, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy463; if (yych <= '6') goto yy464; if (yych <= '9') goto yy388; goto yy54; yy463: YYDEBUG(463, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy389; goto yy344; } else { if (yych <= '9') goto yy465; if (yych <= ':') goto yy389; goto yy344; } yy464: YYDEBUG(464, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy389; goto yy344; } else { if (yych <= '0') goto yy350; if (yych == ':') goto yy389; goto yy344; } yy465: YYDEBUG(465, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { if (yych == '\t') goto yy467; if (yych <= 0x1F) goto yy344; goto yy467; } else { if (yych <= '(') { if (yych <= '\'') goto yy344; goto yy467; } else { if (yych == '+') goto yy467; goto yy344; } } } else { if (yych <= ':') { if (yych <= '-') goto yy467; if (yych <= '.') goto yy389; if (yych <= '9') goto yy344; goto yy389; } else { if (yych <= 'Z') { if (yych <= '@') goto yy344; goto yy467; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy467; goto yy344; } } } yy466: YYDEBUG(466, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy467: YYDEBUG(467, *YYCURSOR); if (yych <= '@') { if (yych <= '\'') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy466; } else { if (yych == ' ') goto yy466; goto yy54; } } else { if (yych <= '+') { if (yych <= '(') goto yy355; if (yych <= '*') goto yy54; goto yy354; } else { if (yych == '-') goto yy354; goto yy54; } } } else { if (yych <= 'Z') { if (yych <= 'G') { if (yych <= 'A') goto yy468; if (yych <= 'F') goto yy356; goto yy353; } else { if (yych != 'P') goto yy356; } } else { if (yych <= 'o') { if (yych <= '`') goto yy54; if (yych <= 'a') goto yy469; goto yy357; } else { if (yych <= 'p') goto yy469; if (yych <= 'z') goto yy357; goto yy54; } } } yy468: YYDEBUG(468, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy408; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy470; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy471; if (yych <= 'z') goto yy363; goto yy344; } } yy469: YYDEBUG(469, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '-') { if (yych == ')') goto yy349; goto yy344; } else { if (yych <= '.') goto yy408; if (yych <= '@') goto yy344; goto yy358; } } else { if (yych <= '`') { if (yych <= 'M') goto yy470; if (yych <= 'Z') goto yy358; goto yy344; } else { if (yych == 'm') goto yy470; if (yych <= 'z') goto yy358; goto yy344; } } yy470: YYDEBUG(470, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= '\t') { if (yych <= 0x00) goto yy400; if (yych <= 0x08) goto yy344; goto yy400; } else { if (yych == ' ') goto yy400; if (yych <= '(') goto yy344; goto yy349; } } else { if (yych <= '@') { if (yych == '.') goto yy410; goto yy344; } else { if (yych <= 'Z') goto yy359; if (yych <= '`') goto yy344; if (yych <= 'z') goto yy359; goto yy344; } } yy471: YYDEBUG(471, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= 0x1F) { if (yych <= 0x00) goto yy400; if (yych == '\t') goto yy400; goto yy344; } else { if (yych <= ' ') goto yy400; if (yych == ')') goto yy349; goto yy344; } } else { if (yych <= 'Z') { if (yych <= '.') goto yy410; if (yych <= '/') goto yy365; if (yych <= '@') goto yy344; goto yy359; } else { if (yych <= '_') { if (yych <= '^') goto yy344; goto yy365; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy364; goto yy344; } } } yy472: YYDEBUG(472, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; goto yy320; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy346; goto yy320; } yy473: YYDEBUG(473, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych != '.') goto yy320; } else { if (yych <= '9') goto yy411; if (yych >= ';') goto yy320; } yy474: YYDEBUG(474, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy475; if (yych <= '6') goto yy476; if (yych <= '9') goto yy345; goto yy54; yy475: YYDEBUG(475, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; goto yy344; } else { if (yych <= '9') goto yy477; if (yych <= ':') goto yy346; goto yy344; } yy476: YYDEBUG(476, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy346; goto yy344; } else { if (yych <= '0') goto yy350; if (yych == ':') goto yy346; goto yy344; } yy477: YYDEBUG(477, *YYCURSOR); yyaccept = 9; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= ' ') { if (yych == '\t') goto yy352; if (yych <= 0x1F) goto yy344; goto yy352; } else { if (yych <= '(') { if (yych <= '\'') goto yy344; goto yy352; } else { if (yych == '+') goto yy352; goto yy344; } } } else { if (yych <= ':') { if (yych <= '-') goto yy352; if (yych <= '.') goto yy346; if (yych <= '9') goto yy344; goto yy346; } else { if (yych <= 'Z') { if (yych <= '@') goto yy344; goto yy352; } else { if (yych <= '`') goto yy344; if (yych <= 'z') goto yy352; goto yy344; } } } yy478: YYDEBUG(478, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy462; goto yy320; } else { if (yych <= '9') goto yy411; if (yych <= ':') goto yy462; goto yy320; } yy479: YYDEBUG(479, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych == '.') goto yy422; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy480: YYDEBUG(480, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych == '.') goto yy422; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy481: YYDEBUG(481, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy484; goto yy485; } else { if (yych <= '2') goto yy492; if (yych <= '9') goto yy493; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy482: YYDEBUG(482, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych <= '0') goto yy484; goto yy485; } else { if (yych <= '2') goto yy492; if (yych <= '9') goto yy493; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy483: YYDEBUG(483, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy337; if (yych >= '1') goto yy485; } else { if (yych <= '2') goto yy330; if (yych <= '9') goto yy331; goto yy337; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy333; if (yych <= 'q') goto yy337; goto yy334; } else { if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy484: YYDEBUG(484, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych <= ',') goto yy337; if (yych <= '-') goto yy486; if (yych <= '.') goto yy455; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy342; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy485: YYDEBUG(485, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych <= ',') goto yy337; if (yych <= '-') goto yy486; if (yych <= '.') goto yy422; goto yy337; } else { if (yych <= '0') goto yy423; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy486: YYDEBUG(486, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(487, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy488; if (yych <= '9') goto yy489; yy488: YYDEBUG(488, *YYCURSOR); #line 1434 "parse_date_1_78.db.re" { DEBUG_OUTPUT("pgtextshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 7956 "" yy489: YYDEBUG(489, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy488; if (yych >= ':') goto yy488; YYDEBUG(490, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy488; if (yych >= ':') goto yy488; YYDEBUG(491, *YYCURSOR); yych = *++YYCURSOR; goto yy488; yy492: YYDEBUG(492, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych <= ',') goto yy337; if (yych <= '-') goto yy486; if (yych <= '.') goto yy422; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy493: YYDEBUG(493, *YYCURSOR); yyaccept = 8; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '/') { if (yych <= ',') goto yy337; if (yych <= '-') goto yy486; if (yych <= '.') goto yy422; goto yy337; } else { if (yych <= '0') goto yy456; if (yych <= '1') goto yy424; if (yych <= '2') goto yy425; goto yy426; } } else { if (yych <= 'q') { if (yych <= ':') goto yy386; if (yych == 'n') goto yy333; goto yy337; } else { if (yych <= 'r') goto yy334; if (yych <= 's') goto yy332; if (yych <= 't') goto yy335; goto yy337; } } yy494: YYDEBUG(494, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'B') goto yy139; goto yy314; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'c') goto yy495; if (yych <= 'z') goto yy144; goto yy3; } } yy495: YYDEBUG(495, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'E') goto yy323; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'd') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'e') goto yy496; if (yych <= 'z') goto yy149; goto yy315; } } } yy496: YYDEBUG(496, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy141; goto yy324; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'm') goto yy497; if (yych <= 'z') goto yy150; goto yy3; } } yy497: YYDEBUG(497, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy142; goto yy325; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'b') goto yy498; if (yych <= 'z') goto yy151; goto yy3; } } yy498: YYDEBUG(498, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'D') goto yy3; goto yy326; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy499; if (yych <= 'z') goto yy152; goto yy3; } } yy499: YYDEBUG(499, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych != 'r') goto yy153; yy500: YYDEBUG(500, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy315; } else { if (yych <= ' ') goto yy317; if (yych <= ',') goto yy315; goto yy317; } } else { if (yych <= '^') { if (yych <= '/') goto yy145; if (yych <= '9') goto yy317; goto yy315; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; if (yych <= 'z') goto yy152; goto yy315; } } yy501: YYDEBUG(501, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy139; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 't') goto yy502; if (yych <= 'z') goto yy139; goto yy3; } } yy502: YYDEBUG(502, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'O') goto yy140; } } else { if (yych <= 'n') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'o') goto yy503; if (yych <= 'z') goto yy140; goto yy315; } } } yy503: YYDEBUG(503, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy141; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'b') goto yy504; if (yych <= 'z') goto yy141; goto yy3; } } yy504: YYDEBUG(504, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy142; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'e') goto yy505; if (yych <= 'z') goto yy142; goto yy3; } } yy505: YYDEBUG(505, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Q') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'R') goto yy327; if (yych == 'r') goto yy327; goto yy3; } yy506: YYDEBUG(506, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy139; goto yy502; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy507; if (yych <= 'z') goto yy144; goto yy3; } } yy507: YYDEBUG(507, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'N') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'O') goto yy503; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'n') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'o') goto yy508; if (yych <= 'z') goto yy149; goto yy315; } } } yy508: YYDEBUG(508, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy141; goto yy504; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'b') goto yy509; if (yych <= 'z') goto yy150; goto yy3; } } yy509: YYDEBUG(509, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy142; goto yy505; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy510; if (yych <= 'z') goto yy151; goto yy3; } } yy510: YYDEBUG(510, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'Q') goto yy3; goto yy327; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy500; if (yych <= 'z') goto yy152; goto yy3; } } yy511: YYDEBUG(511, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'V') { if (yych <= 'B') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'O') { if (yych <= 'C') goto yy527; goto yy139; } else { if (yych <= 'P') goto yy526; if (yych <= 'U') goto yy139; goto yy528; } } } else { if (yych <= 'o') { if (yych <= '`') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych == 'c') goto yy527; goto yy139; } } else { if (yych <= 'u') { if (yych <= 'p') goto yy526; goto yy139; } else { if (yych <= 'v') goto yy528; if (yych <= 'z') goto yy139; goto yy3; } } } yy512: YYDEBUG(512, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy139; goto yy521; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 't') goto yy521; if (yych <= 'z') goto yy139; goto yy3; } } yy513: YYDEBUG(513, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy139; goto yy519; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'x') goto yy519; if (yych <= 'z') goto yy139; goto yy3; } } yy514: YYDEBUG(514, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'n') goto yy515; if (yych <= 'z') goto yy139; goto yy3; } } yy515: YYDEBUG(515, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 'd') goto yy516; if (yych <= 'z') goto yy140; goto yy288; } } yy516: YYDEBUG(516, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= 'a') goto yy517; if (yych <= 'z') goto yy141; goto yy3; } } yy517: YYDEBUG(517, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'y') goto yy518; if (yych <= 'z') goto yy142; goto yy3; } } yy518: YYDEBUG(518, *YYCURSOR); yych = *++YYCURSOR; if (yych == ')') goto yy137; goto yy288; yy519: YYDEBUG(519, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy520; if (yych <= 'z') goto yy140; goto yy3; } } yy520: YYDEBUG(520, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'h') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy521: YYDEBUG(521, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'T') goto yy140; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 'u') goto yy522; if (yych <= 'z') goto yy140; goto yy288; } } yy522: YYDEBUG(522, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy141; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'r') goto yy523; if (yych <= 'z') goto yy141; goto yy3; } } yy523: YYDEBUG(523, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'd') goto yy524; if (yych <= 'z') goto yy142; goto yy3; } } yy524: YYDEBUG(524, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'A') goto yy525; if (yych != 'a') goto yy3; } yy525: YYDEBUG(525, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy294; goto yy54; yy526: YYDEBUG(526, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych == 'T') goto yy535; goto yy140; } } else { if (yych <= 's') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 't') goto yy535; if (yych <= 'z') goto yy140; goto yy315; } } } yy527: YYDEBUG(527, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy140; goto yy532; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'o') goto yy532; if (yych <= 'z') goto yy140; goto yy3; } } yy528: YYDEBUG(528, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'e') goto yy529; if (yych <= 'z') goto yy140; goto yy3; } } yy529: YYDEBUG(529, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'n') goto yy530; if (yych <= 'z') goto yy141; goto yy3; } } yy530: YYDEBUG(530, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 't') goto yy531; if (yych <= 'z') goto yy142; goto yy3; } } yy531: YYDEBUG(531, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'H') goto yy170; if (yych == 'h') goto yy170; goto yy3; } yy532: YYDEBUG(532, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy141; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'n') goto yy533; if (yych <= 'z') goto yy141; goto yy3; } } yy533: YYDEBUG(533, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'd') goto yy534; if (yych <= 'z') goto yy142; goto yy3; } } yy534: YYDEBUG(534, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 0x1F) { if (yych == '\t') goto yy171; goto yy3; } else { if (yych <= ' ') goto yy171; if (yych == ')') goto yy137; goto yy3; } yy535: YYDEBUG(535, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'E') goto yy141; } } else { if (yych <= 'd') { if (yych <= '`') goto yy315; goto yy141; } else { if (yych <= 'e') goto yy536; if (yych <= 'z') goto yy141; goto yy315; } } } yy536: YYDEBUG(536, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy142; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'm') goto yy537; if (yych <= 'z') goto yy142; goto yy3; } } yy537: YYDEBUG(537, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'B') goto yy538; if (yych != 'b') goto yy3; } yy538: YYDEBUG(538, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy539; if (yych != 'e') goto yy54; yy539: YYDEBUG(539, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych == 'r') goto yy327; goto yy54; yy540: YYDEBUG(540, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych == '/') goto yy145; goto yy3; } } else { if (yych <= 'O') { if (yych == 'C') goto yy527; goto yy139; } else { if (yych <= 'P') goto yy526; if (yych <= 'U') goto yy139; goto yy528; } } } else { if (yych <= 'c') { if (yych <= '_') { if (yych <= 'Z') goto yy139; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'b') goto yy144; goto yy556; } } else { if (yych <= 'u') { if (yych == 'p') goto yy555; goto yy144; } else { if (yych <= 'v') goto yy557; if (yych <= 'z') goto yy144; goto yy3; } } } yy541: YYDEBUG(541, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy139; goto yy521; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy550; if (yych <= 'z') goto yy144; goto yy3; } } yy542: YYDEBUG(542, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy139; goto yy519; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'x') goto yy548; if (yych <= 'z') goto yy144; goto yy3; } } yy543: YYDEBUG(543, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy515; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy544; if (yych <= 'z') goto yy144; goto yy3; } } yy544: YYDEBUG(544, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; goto yy516; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'd') goto yy545; if (yych <= 'z') goto yy149; goto yy288; } } yy545: YYDEBUG(545, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy517; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy546; if (yych <= 'z') goto yy150; goto yy3; } } yy546: YYDEBUG(546, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; goto yy518; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy547; if (yych <= 'z') goto yy151; goto yy3; } } yy547: YYDEBUG(547, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy288; goto yy145; } else { if (yych <= '_') { if (yych <= '^') goto yy288; goto yy145; } else { if (yych <= '`') goto yy288; if (yych <= 'z') goto yy152; goto yy288; } } yy548: YYDEBUG(548, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy520; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy549; if (yych <= 'z') goto yy149; goto yy3; } } yy549: YYDEBUG(549, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy550: YYDEBUG(550, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'T') goto yy140; goto yy522; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'u') goto yy551; if (yych <= 'z') goto yy149; goto yy288; } } yy551: YYDEBUG(551, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy141; goto yy523; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy552; if (yych <= 'z') goto yy150; goto yy3; } } yy552: YYDEBUG(552, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; goto yy524; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy553; if (yych <= 'z') goto yy151; goto yy3; } } yy553: YYDEBUG(553, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy525; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych <= 'a') goto yy554; if (yych <= 'z') goto yy152; goto yy3; } } yy554: YYDEBUG(554, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy307; goto yy153; yy555: YYDEBUG(555, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'S') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'T') goto yy535; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 's') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 't') goto yy564; if (yych <= 'z') goto yy149; goto yy315; } } } yy556: YYDEBUG(556, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy140; goto yy532; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'o') goto yy561; if (yych <= 'z') goto yy149; goto yy3; } } yy557: YYDEBUG(557, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy140; goto yy529; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy558; if (yych <= 'z') goto yy149; goto yy3; } } yy558: YYDEBUG(558, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy141; goto yy530; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy559; if (yych <= 'z') goto yy150; goto yy3; } } yy559: YYDEBUG(559, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; goto yy531; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy560; if (yych <= 'z') goto yy151; goto yy3; } } yy560: YYDEBUG(560, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'G') goto yy3; goto yy170; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy261; if (yych <= 'z') goto yy152; goto yy3; } } yy561: YYDEBUG(561, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy141; goto yy533; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy562; if (yych <= 'z') goto yy150; goto yy3; } } yy562: YYDEBUG(562, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; goto yy534; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy563; if (yych <= 'z') goto yy151; goto yy3; } } yy563: YYDEBUG(563, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ')') { if (yych <= 0x1F) { if (yych == '\t') goto yy171; goto yy3; } else { if (yych <= ' ') goto yy171; if (yych <= '(') goto yy3; goto yy137; } } else { if (yych <= '^') { if (yych == '/') goto yy145; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy152; goto yy3; } } yy564: YYDEBUG(564, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy315; goto yy141; } else { if (yych <= 'E') goto yy536; if (yych <= 'Z') goto yy141; goto yy315; } } else { if (yych <= 'd') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy150; } else { if (yych <= 'e') goto yy565; if (yych <= 'z') goto yy150; goto yy315; } } } yy565: YYDEBUG(565, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy142; goto yy537; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'm') goto yy566; if (yych <= 'z') goto yy151; goto yy3; } } yy566: YYDEBUG(566, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'A') goto yy3; goto yy538; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'b') goto yy567; if (yych <= 'z') goto yy152; goto yy3; } } yy567: YYDEBUG(567, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy539; if (yych != 'e') goto yy153; YYDEBUG(568, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych == 'r') goto yy500; goto yy153; yy569: YYDEBUG(569, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy139; goto yy577; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'g') goto yy577; if (yych <= 'z') goto yy139; goto yy3; } } yy570: YYDEBUG(570, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy139; goto yy574; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'r') goto yy574; if (yych <= 'z') goto yy139; goto yy3; } } yy571: YYDEBUG(571, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy139; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'o') goto yy572; if (yych <= 'z') goto yy139; goto yy3; } } yy572: YYDEBUG(572, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy137; } else { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy573; if (yych <= 'z') goto yy140; } yy573: YYDEBUG(573, *YYCURSOR); #line 1490 "parse_date_1_78.db.re" { DEBUG_OUTPUT("ago"); TIMELIB_INIT; s->time->relative.y = 0 - s->time->relative.y; s->time->relative.m = 0 - s->time->relative.m; s->time->relative.d = 0 - s->time->relative.d; s->time->relative.h = 0 - s->time->relative.h; s->time->relative.i = 0 - s->time->relative.i; s->time->relative.s = 0 - s->time->relative.s; s->time->relative.weekday = 0 - s->time->relative.weekday; if (s->time->relative.weekday == 0) { s->time->relative.weekday = -7; } if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) { s->time->relative.special.amount = 0 - s->time->relative.special.amount; } TIMELIB_DEINIT; return TIMELIB_AGO; } #line 9857 "" yy574: YYDEBUG(574, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'I') goto yy140; } } else { if (yych <= 'h') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'i') goto yy575; if (yych <= 'z') goto yy140; goto yy315; } } } yy575: YYDEBUG(575, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy141; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'l') goto yy576; if (yych <= 'z') goto yy141; goto yy3; } } yy576: YYDEBUG(576, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy315; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy315; } } else { if (yych <= '@') { if (yych == '/') goto yy315; if (yych <= '9') goto yy317; goto yy315; } else { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy315; if (yych <= 'z') goto yy142; goto yy315; } } yy577: YYDEBUG(577, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'U') goto yy140; } } else { if (yych <= 't') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'u') goto yy578; if (yych <= 'z') goto yy140; goto yy315; } } } yy578: YYDEBUG(578, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy141; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 's') goto yy579; if (yych <= 'z') goto yy141; goto yy3; } } yy579: YYDEBUG(579, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 't') goto yy580; if (yych <= 'z') goto yy142; goto yy3; } } yy580: YYDEBUG(580, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '.') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy317; } else { if (yych <= '/') goto yy315; if (yych <= '9') goto yy317; goto yy315; } } yy581: YYDEBUG(581, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy139; goto yy577; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'g') goto yy588; if (yych <= 'z') goto yy144; goto yy3; } } yy582: YYDEBUG(582, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy139; goto yy574; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy585; if (yych <= 'z') goto yy144; goto yy3; } } yy583: YYDEBUG(583, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy139; goto yy572; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'o') goto yy584; if (yych <= 'z') goto yy144; goto yy3; } } yy584: YYDEBUG(584, *YYCURSOR); yyaccept = 11; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy573; goto yy137; } else { if (yych == '/') goto yy145; goto yy573; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy140; if (yych <= '^') goto yy573; goto yy145; } else { if (yych <= '`') goto yy573; if (yych <= 'z') goto yy149; goto yy573; } } yy585: YYDEBUG(585, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'H') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'I') goto yy575; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'h') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'i') goto yy586; if (yych <= 'z') goto yy149; goto yy315; } } } yy586: YYDEBUG(586, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy141; goto yy576; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'l') goto yy587; if (yych <= 'z') goto yy150; goto yy3; } } yy587: YYDEBUG(587, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy315; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy315; goto yy317; } } else { if (yych <= 'Z') { if (yych <= '/') goto yy145; if (yych <= '9') goto yy317; if (yych <= '@') goto yy315; goto yy142; } else { if (yych <= '_') { if (yych <= '^') goto yy315; goto yy145; } else { if (yych <= '`') goto yy315; if (yych <= 'z') goto yy151; goto yy315; } } } yy588: YYDEBUG(588, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'T') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'U') goto yy578; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 't') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'u') goto yy589; if (yych <= 'z') goto yy149; goto yy315; } } } yy589: YYDEBUG(589, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy141; goto yy579; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy590; if (yych <= 'z') goto yy150; goto yy3; } } yy590: YYDEBUG(590, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; goto yy580; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy591; if (yych <= 'z') goto yy151; goto yy3; } } yy591: YYDEBUG(591, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy315; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy315; } } else { if (yych <= '^') { if (yych == '/') goto yy145; if (yych <= '9') goto yy317; goto yy315; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; if (yych <= 'z') goto yy152; goto yy315; } } yy592: YYDEBUG(592, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'L') goto yy599; if (yych <= 'M') goto yy139; goto yy598; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'k') goto yy139; goto yy599; } else { if (yych == 'n') goto yy598; if (yych <= 'z') goto yy139; goto yy3; } } yy593: YYDEBUG(593, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'n') goto yy594; if (yych <= 'z') goto yy139; goto yy3; } } yy594: YYDEBUG(594, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'U') goto yy140; } } else { if (yych <= 't') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'u') goto yy595; if (yych <= 'z') goto yy140; goto yy315; } } } yy595: YYDEBUG(595, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= 'a') goto yy596; if (yych <= 'z') goto yy141; goto yy3; } } yy596: YYDEBUG(596, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'r') goto yy597; if (yych <= 'z') goto yy142; goto yy3; } } yy597: YYDEBUG(597, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Y') goto yy327; if (yych == 'y') goto yy327; goto yy3; } yy598: YYDEBUG(598, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych == 'E') goto yy600; goto yy140; } } else { if (yych <= 'd') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'e') goto yy600; if (yych <= 'z') goto yy140; goto yy315; } } } yy599: YYDEBUG(599, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'Y') goto yy140; } } else { if (yych <= 'x') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'y') goto yy600; if (yych <= 'z') goto yy140; goto yy315; } } } yy600: YYDEBUG(600, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy315; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy315; } } else { if (yych <= '@') { if (yych == '/') goto yy315; if (yych <= '9') goto yy317; goto yy315; } else { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy315; if (yych <= 'z') goto yy141; goto yy315; } } yy601: YYDEBUG(601, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= 'K') { if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'L') goto yy599; if (yych <= 'M') goto yy139; goto yy598; } } } else { if (yych <= 'k') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 'm') { if (yych <= 'l') goto yy608; goto yy144; } else { if (yych <= 'n') goto yy607; if (yych <= 'z') goto yy144; goto yy3; } } } yy602: YYDEBUG(602, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy594; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy603; if (yych <= 'z') goto yy144; goto yy3; } } yy603: YYDEBUG(603, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'T') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'U') goto yy595; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 't') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'u') goto yy604; if (yych <= 'z') goto yy149; goto yy315; } } } yy604: YYDEBUG(604, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy596; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy605; if (yych <= 'z') goto yy150; goto yy3; } } yy605: YYDEBUG(605, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; goto yy597; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy606; if (yych <= 'z') goto yy151; goto yy3; } } yy606: YYDEBUG(606, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'X') goto yy3; goto yy327; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy500; if (yych <= 'z') goto yy152; goto yy3; } } yy607: YYDEBUG(607, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'E') goto yy600; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'd') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'e') goto yy609; if (yych <= 'z') goto yy149; goto yy315; } } } yy608: YYDEBUG(608, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'X') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'Y') goto yy600; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'x') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'y') goto yy609; if (yych <= 'z') goto yy149; goto yy315; } } } yy609: YYDEBUG(609, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy315; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy315; goto yy317; } } else { if (yych <= 'Z') { if (yych <= '/') goto yy145; if (yych <= '9') goto yy317; if (yych <= '@') goto yy315; goto yy141; } else { if (yych <= '_') { if (yych <= '^') goto yy315; goto yy145; } else { if (yych <= '`') goto yy315; if (yych <= 'z') goto yy150; goto yy315; } } } yy610: YYDEBUG(610, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'Z') { if (yych >= 'J') goto yy139; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy139; goto yy3; } } } yy611: YYDEBUG(611, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy3; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy317; goto yy3; } else { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy140; goto yy3; } } yy612: YYDEBUG(612, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'Z') { if (yych >= 'J') goto yy139; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy139; goto yy3; } } } YYDEBUG(613, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy140; } else { if (yych <= 'Z') { if (yych >= 'J') goto yy140; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy140; goto yy3; } } } YYDEBUG(614, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy3; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy317; goto yy3; } else { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy141; goto yy3; } } yy615: YYDEBUG(615, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= 0x1F) { if (yych == '\t') goto yy317; goto yy3; } else { if (yych <= ' ') goto yy317; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '@') { if (yych == '/') goto yy3; if (yych <= '9') goto yy317; goto yy3; } else { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy139; goto yy3; } } yy616: YYDEBUG(616, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy3; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy3; goto yy317; } } else { if (yych <= 'H') { if (yych <= '/') goto yy3; if (yych <= '9') goto yy317; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'Z') { if (yych <= 'I') goto yy611; goto yy139; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy139; goto yy3; } } } yy617: YYDEBUG(617, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '9') { if (yych <= '/') goto yy3; goto yy637; } else { if (yych <= ':') goto yy161; if (yych <= 'C') goto yy3; goto yy58; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy618: YYDEBUG(618, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '4') { if (yych <= '/') goto yy3; goto yy637; } else { if (yych <= '5') goto yy622; if (yych <= '9') goto yy623; goto yy161; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy3; goto yy58; } else { if (yych == 'F') goto yy58; goto yy3; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy3; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy3; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy3; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy3; goto yy58; } else { if (yych == 'f') goto yy58; goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy3; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy619: YYDEBUG(619, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= 'C') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '5') { if (yych <= '/') goto yy3; goto yy622; } else { if (yych <= '9') goto yy623; if (yych <= ':') goto yy161; goto yy3; } } } else { if (yych <= 'G') { if (yych == 'E') goto yy3; if (yych <= 'F') goto yy58; goto yy3; } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy3; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy3; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy3; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy3; goto yy58; } else { if (yych == 'f') goto yy58; goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy3; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy620: YYDEBUG(620, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(621, *YYCURSOR); if (yybm[0+yych] & 8) { goto yy55; } if (yych <= ',') { if (yych == '+') goto yy620; goto yy54; } else { if (yych <= '-') goto yy620; if (yych <= '/') goto yy54; if (yych <= '9') goto yy52; goto yy54; } yy622: YYDEBUG(622, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy636; if (yych <= 'C') goto yy3; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy623: YYDEBUG(623, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy624; if (yych <= 'C') goto yy3; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy624: YYDEBUG(624, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych >= ':') goto yy58; yy625: YYDEBUG(625, *YYCURSOR); yych = *++YYCURSOR; if (yybm[0+yych] & 4) { goto yy52; } if (yych != '-') goto yy58; yy626: YYDEBUG(626, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy627; if (yych <= '1') goto yy628; goto yy54; yy627: YYDEBUG(627, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy629; goto yy54; yy628: YYDEBUG(628, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '3') goto yy54; yy629: YYDEBUG(629, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy54; YYDEBUG(630, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy631; if (yych <= '2') goto yy632; if (yych <= '3') goto yy633; goto yy54; yy631: YYDEBUG(631, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy634; goto yy54; yy632: YYDEBUG(632, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy634; goto yy54; yy633: YYDEBUG(633, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '2') goto yy54; yy634: YYDEBUG(634, *YYCURSOR); ++YYCURSOR; yy635: YYDEBUG(635, *YYCURSOR); #line 1205 "parse_date_1_78.db.re" { DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 11553 "" yy636: YYDEBUG(636, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy625; if (yych <= 'C') goto yy3; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy637: YYDEBUG(637, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= 'C') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '5') { if (yych <= '/') goto yy3; } else { if (yych <= '9') goto yy636; if (yych <= ':') goto yy161; goto yy3; } } } else { if (yych <= 'G') { if (yych == 'E') goto yy3; if (yych <= 'F') goto yy58; goto yy3; } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy3; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy3; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy3; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy3; goto yy58; } else { if (yych == 'f') goto yy58; goto yy3; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy3; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } YYDEBUG(638, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych <= '/') goto yy3; if (yych <= '9') goto yy639; if (yych <= 'C') goto yy3; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy639: YYDEBUG(639, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy52; } if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy3; goto yy58; } else { if (yych == '-') goto yy626; if (yych <= 'C') goto yy3; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy3; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy3; goto yy58; } else { if (yych <= 'R') goto yy3; if (yych <= 'T') goto yy58; goto yy3; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy3; if (yych <= 'Y') goto yy58; goto yy3; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy3; } else { if (yych == 'g') goto yy3; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy3; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy3; goto yy58; } else { if (yych == 'y') goto yy58; goto yy3; } } } } yy640: YYDEBUG(640, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy642; if (yych <= '0') goto yy911; if (yych <= '1') goto yy912; if (yych <= '9') goto yy913; goto yy642; yy641: YYDEBUG(641, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy642: YYDEBUG(642, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy641; case '-': case '.': goto yy757; case 'A': case 'a': goto yy660; case 'D': case 'd': goto yy646; case 'F': case 'f': goto yy647; case 'H': case 'h': goto yy61; case 'I': goto yy655; case 'J': case 'j': goto yy659; case 'M': case 'm': goto yy645; case 'N': case 'n': goto yy662; case 'O': case 'o': goto yy661; case 'P': case 'p': goto yy664; case 'S': case 's': goto yy643; case 'T': case 't': goto yy66; case 'V': goto yy657; case 'W': case 'w': goto yy65; case 'X': goto yy658; case 'Y': case 'y': goto yy64; default: goto yy54; } yy643: YYDEBUG(643, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy124; goto yy54; } else { if (yych <= 'E') goto yy1222; if (yych <= 'T') goto yy54; goto yy123; } } else { if (yych <= 'd') { if (yych == 'a') goto yy124; goto yy54; } else { if (yych <= 'e') goto yy1222; if (yych == 'u') goto yy123; goto yy54; } } yy644: YYDEBUG(644, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '`') { if (yych <= 'D') { if (yych == 'A') goto yy124; goto yy54; } else { if (yych <= 'E') goto yy1222; if (yych == 'U') goto yy123; goto yy54; } } else { if (yych <= 'e') { if (yych <= 'a') goto yy124; if (yych <= 'd') goto yy54; goto yy1222; } else { if (yych <= 's') goto yy54; if (yych <= 't') goto yy908; if (yych <= 'u') goto yy123; goto yy54; } } yy645: YYDEBUG(645, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy772; goto yy54; } else { if (yych <= 'I') goto yy115; if (yych <= 'N') goto yy54; goto yy114; } } else { if (yych <= 'h') { if (yych == 'a') goto yy772; goto yy54; } else { if (yych <= 'i') goto yy115; if (yych == 'o') goto yy114; goto yy54; } } yy646: YYDEBUG(646, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy111; if (yych <= 'D') goto yy54; goto yy759; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy111; } else { if (yych == 'e') goto yy759; goto yy54; } } yy647: YYDEBUG(647, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy775; goto yy54; } else { if (yych <= 'O') goto yy96; if (yych <= 'Q') goto yy54; goto yy95; } } else { if (yych <= 'n') { if (yych == 'e') goto yy775; goto yy54; } else { if (yych <= 'o') goto yy96; if (yych == 'r') goto yy95; goto yy54; } } yy648: YYDEBUG(648, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'H') goto yy67; if (yych <= 'T') goto yy54; goto yy68; } else { if (yych <= 'h') { if (yych <= 'g') goto yy54; goto yy1221; } else { if (yych == 'u') goto yy68; goto yy54; } } yy649: YYDEBUG(649, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy915; if (yych <= '/') goto yy58; if (yych <= '9') goto yy914; goto yy58; yy650: YYDEBUG(650, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'c') { if (yych == 'O') goto yy710; goto yy54; } else { if (yych <= 'd') goto yy908; if (yych == 'o') goto yy710; goto yy54; } yy651: YYDEBUG(651, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy908; goto yy54; yy652: YYDEBUG(652, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': case '1': case '2': goto yy845; case '3': goto yy847; case '4': case '5': case '6': case '7': case '8': case '9': goto yy848; case 'A': case 'a': goto yy852; case 'D': case 'd': goto yy856; case 'F': case 'f': goto yy850; case 'J': case 'j': goto yy849; case 'M': case 'm': goto yy851; case 'N': case 'n': goto yy855; case 'O': case 'o': goto yy854; case 'S': case 's': goto yy853; default: goto yy54; } yy653: YYDEBUG(653, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy795; case '1': goto yy796; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy797; case 'A': case 'a': goto yy801; case 'D': case 'd': goto yy805; case 'F': case 'f': goto yy799; case 'J': case 'j': goto yy798; case 'M': case 'm': goto yy800; case 'N': case 'n': goto yy804; case 'O': case 'o': goto yy803; case 'S': case 's': goto yy802; default: goto yy758; } yy654: YYDEBUG(654, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy758; if (yych <= '0') goto yy748; goto yy749; } else { if (yych <= '5') goto yy750; if (yych <= '9') goto yy751; goto yy758; } yy655: YYDEBUG(655, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '.') goto yy712; } } else { if (yych <= 'U') { if (yych <= '9') goto yy714; if (yych == 'I') goto yy747; } else { if (yych == 'W') goto yy656; if (yych <= 'X') goto yy720; } } yy656: YYDEBUG(656, *YYCURSOR); #line 1333 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datenoyearrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); TIMELIB_DEINIT; return TIMELIB_DATE_TEXT; } #line 12124 "" yy657: YYDEBUG(657, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych == 'I') goto yy745; goto yy656; } } yy658: YYDEBUG(658, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych == 'I') goto yy744; goto yy656; } } yy659: YYDEBUG(659, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy737; if (yych <= 'T') goto yy54; goto yy736; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy737; } else { if (yych == 'u') goto yy736; goto yy54; } } yy660: YYDEBUG(660, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= 'L') { if (yych == '.') goto yy665; goto yy54; } else { if (yych <= 'M') goto yy666; if (yych == 'P') goto yy730; goto yy54; } } else { if (yych <= 'o') { if (yych <= 'U') goto yy729; if (yych == 'm') goto yy666; goto yy54; } else { if (yych <= 'p') goto yy730; if (yych == 'u') goto yy729; goto yy54; } } yy661: YYDEBUG(661, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy724; if (yych == 'c') goto yy724; goto yy54; yy662: YYDEBUG(662, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy710; if (yych == 'o') goto yy710; goto yy54; yy663: YYDEBUG(663, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy670; if (yych <= '9') goto yy672; goto yy54; yy664: YYDEBUG(664, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy54; } else { if (yych <= 'M') goto yy666; if (yych == 'm') goto yy666; goto yy54; } yy665: YYDEBUG(665, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy666; if (yych != 'm') goto yy54; yy666: YYDEBUG(666, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy668; if (yych == '\t') goto yy668; goto yy54; } else { if (yych <= ' ') goto yy668; if (yych != '.') goto yy54; } YYDEBUG(667, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy668; if (yych <= 0x08) goto yy54; } else { if (yych != ' ') goto yy54; } yy668: YYDEBUG(668, *YYCURSOR); ++YYCURSOR; YYDEBUG(669, *YYCURSOR); #line 1061 "parse_date_1_78.db.re" { DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); } } s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME12; } #line 12281 "" yy670: YYDEBUG(670, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy673; } else { if (yych <= '9') goto yy687; if (yych <= ':') goto yy673; } yy671: YYDEBUG(671, *YYCURSOR); #line 1098 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 12319 "" yy672: YYDEBUG(672, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy673; if (yych != ':') goto yy671; yy673: YYDEBUG(673, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy674; if (yych <= '6') goto yy675; if (yych <= '9') goto yy676; goto yy54; yy674: YYDEBUG(674, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy680; goto yy671; yy675: YYDEBUG(675, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych == '0') goto yy680; goto yy671; yy676: YYDEBUG(676, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy671; yy677: YYDEBUG(677, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy678: YYDEBUG(678, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(679, *YYCURSOR); if (yych <= '/') goto yy671; if (yych <= '9') goto yy678; goto yy671; yy680: YYDEBUG(680, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= 0x1F) { if (yych != '\t') goto yy671; } else { if (yych <= ' ') goto yy681; if (yych == '.') goto yy677; goto yy671; } } else { if (yych <= '`') { if (yych <= 'A') goto yy683; if (yych == 'P') goto yy683; goto yy671; } else { if (yych <= 'a') goto yy683; if (yych == 'p') goto yy683; goto yy671; } } yy681: YYDEBUG(681, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(682, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy681; goto yy54; } else { if (yych <= ' ') goto yy681; if (yych <= '@') goto yy54; } } else { if (yych <= '`') { if (yych != 'P') goto yy54; } else { if (yych <= 'a') goto yy683; if (yych != 'p') goto yy54; } } yy683: YYDEBUG(683, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy54; } else { if (yych <= 'M') goto yy685; if (yych == 'm') goto yy685; goto yy54; } YYDEBUG(684, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy685; if (yych != 'm') goto yy54; yy685: YYDEBUG(685, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy668; if (yych == '\t') goto yy668; goto yy54; } else { if (yych <= ' ') goto yy668; if (yych != '.') goto yy54; } YYDEBUG(686, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy668; if (yych <= 0x08) goto yy54; goto yy668; } else { if (yych == ' ') goto yy668; goto yy54; } yy687: YYDEBUG(687, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy688; if (yych <= 0x1F) goto yy671; } else { if (yych == '.') goto yy673; if (yych <= '9') goto yy671; goto yy691; } } else { if (yych <= 'P') { if (yych == 'A') goto yy690; if (yych <= 'O') goto yy671; goto yy690; } else { if (yych <= 'a') { if (yych <= '`') goto yy671; goto yy690; } else { if (yych == 'p') goto yy690; goto yy671; } } } yy688: YYDEBUG(688, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(689, *YYCURSOR); if (yych <= 'A') { if (yych <= 0x1F) { if (yych == '\t') goto yy688; goto yy54; } else { if (yych <= ' ') goto yy688; if (yych <= '@') goto yy54; } } else { if (yych <= '`') { if (yych != 'P') goto yy54; } else { if (yych <= 'a') goto yy690; if (yych != 'p') goto yy54; } } yy690: YYDEBUG(690, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych == '.') goto yy707; goto yy54; } else { if (yych <= 'M') goto yy708; if (yych == 'm') goto yy708; goto yy54; } yy691: YYDEBUG(691, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy692; if (yych <= '6') goto yy693; if (yych <= '9') goto yy676; goto yy54; yy692: YYDEBUG(692, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy694; goto yy671; yy693: YYDEBUG(693, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych != '0') goto yy671; yy694: YYDEBUG(694, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy681; if (yych <= 0x1F) goto yy671; goto yy681; } else { if (yych == '.') goto yy695; if (yych <= '9') goto yy671; goto yy696; } } else { if (yych <= 'P') { if (yych == 'A') goto yy683; if (yych <= 'O') goto yy671; goto yy683; } else { if (yych <= 'a') { if (yych <= '`') goto yy671; goto yy683; } else { if (yych == 'p') goto yy683; goto yy671; } } } yy695: YYDEBUG(695, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy705; goto yy54; yy696: YYDEBUG(696, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy697: YYDEBUG(697, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(698, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { if (yych <= '/') goto yy54; goto yy697; } else { if (yych != 'A') goto yy54; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy699; if (yych <= '`') goto yy54; } else { if (yych != 'p') goto yy54; } } yy699: YYDEBUG(699, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych != '.') goto yy54; } else { if (yych <= 'M') goto yy701; if (yych == 'm') goto yy701; goto yy54; } YYDEBUG(700, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy701; if (yych != 'm') goto yy54; yy701: YYDEBUG(701, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy703; if (yych == '\t') goto yy703; goto yy54; } else { if (yych <= ' ') goto yy703; if (yych != '.') goto yy54; } YYDEBUG(702, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy703; if (yych <= 0x08) goto yy54; } else { if (yych != ' ') goto yy54; } yy703: YYDEBUG(703, *YYCURSOR); ++YYCURSOR; YYDEBUG(704, *YYCURSOR); #line 1078 "parse_date_1_78.db.re" { DEBUG_OUTPUT("mssqltime"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == ':' || *ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 8); } } timelib_eat_spaces((char **) &ptr); s->time->h += timelib_meridian((char **) &ptr, s->time->h); TIMELIB_DEINIT; return TIMELIB_TIME24_WITH_ZONE; } #line 12648 "" yy705: YYDEBUG(705, *YYCURSOR); yyaccept = 13; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5); yych = *YYCURSOR; YYDEBUG(706, *YYCURSOR); if (yych <= 'O') { if (yych <= '9') { if (yych <= '/') goto yy671; goto yy705; } else { if (yych == 'A') goto yy699; goto yy671; } } else { if (yych <= 'a') { if (yych <= 'P') goto yy699; if (yych <= '`') goto yy671; goto yy699; } else { if (yych == 'p') goto yy699; goto yy671; } } yy707: YYDEBUG(707, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy708; if (yych != 'm') goto yy54; yy708: YYDEBUG(708, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 0x1F) { if (yych <= 0x00) goto yy668; if (yych == '\t') goto yy668; goto yy54; } else { if (yych <= ' ') goto yy668; if (yych != '.') goto yy54; } YYDEBUG(709, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '\t') { if (yych <= 0x00) goto yy668; if (yych <= 0x08) goto yy54; goto yy668; } else { if (yych == ' ') goto yy668; goto yy54; } yy710: YYDEBUG(710, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy711; if (yych != 'v') goto yy54; yy711: YYDEBUG(711, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych != '\t') goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy716; if (yych == 'e') goto yy716; goto yy656; } } yy712: YYDEBUG(712, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; yy713: YYDEBUG(713, *YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy712; if (yych <= 0x1F) goto yy54; goto yy712; } else { if (yych <= '.') { if (yych <= ',') goto yy54; goto yy712; } else { if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; } } yy714: YYDEBUG(714, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy715; if (yych <= '9') goto yy721; yy715: YYDEBUG(715, *YYCURSOR); #line 1255 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datefull"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); timelib_skip_day_suffix((char **) &ptr); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL; } #line 12767 "" yy716: YYDEBUG(716, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy717; if (yych != 'm') goto yy54; yy717: YYDEBUG(717, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy718; if (yych != 'b') goto yy54; yy718: YYDEBUG(718, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy719; if (yych != 'e') goto yy54; yy719: YYDEBUG(719, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy720; if (yych != 'r') goto yy54; yy720: YYDEBUG(720, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ' ') { if (yych == '\t') goto yy712; if (yych <= 0x1F) goto yy656; goto yy712; } else { if (yych <= '.') { if (yych <= ',') goto yy656; goto yy712; } else { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } } yy721: YYDEBUG(721, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych >= ':') goto yy715; yy722: YYDEBUG(722, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych >= ':') goto yy715; YYDEBUG(723, *YYCURSOR); yych = *++YYCURSOR; goto yy715; yy724: YYDEBUG(724, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy725; if (yych != 't') goto yy54; yy725: YYDEBUG(725, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'N') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'O') goto yy726; if (yych != 'o') goto yy656; } } yy726: YYDEBUG(726, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy727; if (yych != 'b') goto yy54; yy727: YYDEBUG(727, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy728; if (yych != 'e') goto yy54; yy728: YYDEBUG(728, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy720; if (yych == 'r') goto yy720; goto yy54; yy729: YYDEBUG(729, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy733; if (yych == 'g') goto yy733; goto yy54; yy730: YYDEBUG(730, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy731; if (yych != 'r') goto yy54; yy731: YYDEBUG(731, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'H') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'I') goto yy732; if (yych != 'i') goto yy656; } } yy732: YYDEBUG(732, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy720; if (yych == 'l') goto yy720; goto yy54; yy733: YYDEBUG(733, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'T') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'U') goto yy734; if (yych != 'u') goto yy656; } } yy734: YYDEBUG(734, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy735; if (yych != 's') goto yy54; yy735: YYDEBUG(735, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy720; if (yych == 't') goto yy720; goto yy54; yy736: YYDEBUG(736, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy743; if (yych <= 'M') goto yy54; goto yy742; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy743; } else { if (yych == 'n') goto yy742; goto yy54; } } yy737: YYDEBUG(737, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy738; if (yych != 'n') goto yy54; yy738: YYDEBUG(738, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'T') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'U') goto yy739; if (yych != 'u') goto yy656; } } yy739: YYDEBUG(739, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy740; if (yych != 'a') goto yy54; yy740: YYDEBUG(740, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy741; if (yych != 'r') goto yy54; yy741: YYDEBUG(741, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy720; if (yych == 'y') goto yy720; goto yy54; yy742: YYDEBUG(742, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy720; if (yych == 'e') goto yy720; goto yy656; } } yy743: YYDEBUG(743, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'X') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'Y') goto yy720; if (yych == 'y') goto yy720; goto yy656; } } yy744: YYDEBUG(744, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych == 'I') goto yy720; goto yy656; } } yy745: YYDEBUG(745, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych != 'I') goto yy656; } } YYDEBUG(746, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych == 'I') goto yy720; goto yy656; } } yy747: YYDEBUG(747, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '9') { if (yych <= '.') goto yy712; if (yych <= '/') goto yy656; goto yy714; } else { if (yych == 'I') goto yy720; goto yy656; } } yy748: YYDEBUG(748, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; goto yy782; } else { if (yych <= '/') goto yy671; if (yych <= '9') goto yy794; if (yych <= ':') goto yy673; goto yy671; } yy749: YYDEBUG(749, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; if (yych <= '.') goto yy782; goto yy671; } else { if (yych <= '2') goto yy794; if (yych <= '9') goto yy793; if (yych <= ':') goto yy673; goto yy671; } yy750: YYDEBUG(750, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; goto yy782; } else { if (yych <= '/') goto yy671; if (yych <= '9') goto yy793; if (yych <= ':') goto yy673; goto yy671; } yy751: YYDEBUG(751, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; goto yy782; } else { if (yych == ':') goto yy673; goto yy671; } yy752: YYDEBUG(752, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy775; if (yych == 'e') goto yy775; goto yy54; yy753: YYDEBUG(753, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy772; if (yych == 'a') goto yy772; goto yy54; yy754: YYDEBUG(754, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy730; if (yych <= 'T') goto yy54; goto yy729; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy730; } else { if (yych == 'u') goto yy729; goto yy54; } } yy755: YYDEBUG(755, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy765; if (yych == 'e') goto yy765; goto yy54; yy756: YYDEBUG(756, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy759; if (yych == 'e') goto yy759; goto yy54; yy757: YYDEBUG(757, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy758: YYDEBUG(758, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': case '.': goto yy757; case 'A': case 'a': goto yy754; case 'D': case 'd': goto yy756; case 'F': case 'f': goto yy752; case 'I': goto yy655; case 'J': case 'j': goto yy659; case 'M': case 'm': goto yy753; case 'N': case 'n': goto yy662; case 'O': case 'o': goto yy661; case 'S': case 's': goto yy755; case 'V': goto yy657; case 'X': goto yy658; default: goto yy54; } yy759: YYDEBUG(759, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy760; if (yych != 'c') goto yy54; yy760: YYDEBUG(760, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy761; if (yych != 'e') goto yy656; } } yy761: YYDEBUG(761, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy762; if (yych != 'm') goto yy54; yy762: YYDEBUG(762, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy763; if (yych != 'b') goto yy54; yy763: YYDEBUG(763, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy764; if (yych != 'e') goto yy54; yy764: YYDEBUG(764, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy720; if (yych == 'r') goto yy720; goto yy54; yy765: YYDEBUG(765, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy766; if (yych != 'p') goto yy54; yy766: YYDEBUG(766, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'S') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'T') goto yy767; if (yych != 't') goto yy656; } } yy767: YYDEBUG(767, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy768; if (yych != 'e') goto yy656; } } yy768: YYDEBUG(768, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy769; if (yych != 'm') goto yy54; yy769: YYDEBUG(769, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy770; if (yych != 'b') goto yy54; yy770: YYDEBUG(770, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy771; if (yych != 'e') goto yy54; yy771: YYDEBUG(771, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy720; if (yych == 'r') goto yy720; goto yy54; yy772: YYDEBUG(772, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy773; if (yych <= 'X') goto yy54; goto yy720; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; } else { if (yych == 'y') goto yy720; goto yy54; } } yy773: YYDEBUG(773, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'B') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'C') goto yy774; if (yych != 'c') goto yy656; } } yy774: YYDEBUG(774, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy720; if (yych == 'h') goto yy720; goto yy54; yy775: YYDEBUG(775, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy776; if (yych != 'b') goto yy54; yy776: YYDEBUG(776, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; goto yy712; } } else { if (yych <= 'Q') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'R') goto yy777; if (yych != 'r') goto yy656; } } yy777: YYDEBUG(777, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy778; if (yych != 'u') goto yy54; yy778: YYDEBUG(778, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy779; if (yych != 'a') goto yy54; yy779: YYDEBUG(779, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy780; if (yych != 'r') goto yy54; yy780: YYDEBUG(780, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy720; if (yych == 'y') goto yy720; goto yy54; yy781: YYDEBUG(781, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy792; goto yy54; yy782: YYDEBUG(782, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy783; if (yych <= '6') goto yy784; if (yych <= '9') goto yy785; goto yy54; yy783: YYDEBUG(783, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy791; goto yy671; yy784: YYDEBUG(784, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy677; goto yy671; } else { if (yych <= '0') goto yy791; if (yych <= '9') goto yy786; goto yy671; } yy785: YYDEBUG(785, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych >= ':') goto yy671; yy786: YYDEBUG(786, *YYCURSOR); yyaccept = 14; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy787; if (yych <= '9') goto yy788; yy787: YYDEBUG(787, *YYCURSOR); #line 1281 "parse_date_1_78.db.re" { DEBUG_OUTPUT("pointed date YY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 13535 "" yy788: YYDEBUG(788, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(789, *YYCURSOR); ++YYCURSOR; YYDEBUG(790, *YYCURSOR); #line 1269 "parse_date_1_78.db.re" { DEBUG_OUTPUT("pointed date YYYY"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_DATE_FULL_POINTED; } #line 13555 "" yy791: YYDEBUG(791, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy681; if (yych <= 0x1F) goto yy671; goto yy681; } else { if (yych == '.') goto yy677; if (yych <= '/') goto yy671; goto yy788; } } else { if (yych <= 'P') { if (yych == 'A') goto yy683; if (yych <= 'O') goto yy671; goto yy683; } else { if (yych <= 'a') { if (yych <= '`') goto yy671; goto yy683; } else { if (yych == 'p') goto yy683; goto yy671; } } } yy792: YYDEBUG(792, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy786; goto yy54; yy793: YYDEBUG(793, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy688; if (yych <= 0x1F) goto yy671; goto yy688; } else { if (yych == '.') goto yy673; if (yych <= '9') goto yy671; goto yy673; } } else { if (yych <= 'P') { if (yych == 'A') goto yy690; if (yych <= 'O') goto yy671; goto yy690; } else { if (yych <= 'a') { if (yych <= '`') goto yy671; goto yy690; } else { if (yych == 'p') goto yy690; goto yy671; } } } yy794: YYDEBUG(794, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ':') { if (yych <= ' ') { if (yych == '\t') goto yy688; if (yych <= 0x1F) goto yy671; goto yy688; } else { if (yych <= '-') { if (yych <= ',') goto yy671; goto yy781; } else { if (yych <= '.') goto yy782; if (yych <= '9') goto yy671; goto yy673; } } } else { if (yych <= 'P') { if (yych == 'A') goto yy690; if (yych <= 'O') goto yy671; goto yy690; } else { if (yych <= 'a') { if (yych <= '`') goto yy671; goto yy690; } else { if (yych == 'p') goto yy690; goto yy671; } } } yy795: YYDEBUG(795, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy54; if (yych <= '-') goto yy834; goto yy781; } else { if (yych <= '/') goto yy54; if (yych <= '9') goto yy797; goto yy54; } yy796: YYDEBUG(796, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy54; if (yych <= '-') goto yy834; goto yy781; } else { if (yych <= '/') goto yy54; if (yych >= '3') goto yy54; } yy797: YYDEBUG(797, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy54; if (yych <= '-') goto yy834; if (yych <= '.') goto yy781; goto yy54; yy798: YYDEBUG(798, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy830; if (yych <= 'T') goto yy54; goto yy829; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy830; } else { if (yych == 'u') goto yy829; goto yy54; } } yy799: YYDEBUG(799, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy827; if (yych == 'e') goto yy827; goto yy54; yy800: YYDEBUG(800, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy824; if (yych == 'a') goto yy824; goto yy54; yy801: YYDEBUG(801, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy821; if (yych <= 'T') goto yy54; goto yy820; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy821; } else { if (yych == 'u') goto yy820; goto yy54; } } yy802: YYDEBUG(802, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy817; if (yych == 'e') goto yy817; goto yy54; yy803: YYDEBUG(803, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy815; if (yych == 'c') goto yy815; goto yy54; yy804: YYDEBUG(804, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy813; if (yych == 'o') goto yy813; goto yy54; yy805: YYDEBUG(805, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy806; if (yych != 'e') goto yy54; yy806: YYDEBUG(806, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy807; if (yych != 'c') goto yy54; yy807: YYDEBUG(807, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych >= '.') goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy761; if (yych == 'e') goto yy761; goto yy656; } } yy808: YYDEBUG(808, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy713; if (yych <= '0') goto yy809; if (yych <= '2') goto yy810; if (yych <= '3') goto yy811; goto yy713; yy809: YYDEBUG(809, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych <= '9') goto yy812; goto yy715; yy810: YYDEBUG(810, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych <= '9') goto yy812; goto yy715; yy811: YYDEBUG(811, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych <= '1') goto yy812; if (yych <= '9') goto yy721; goto yy715; yy812: YYDEBUG(812, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy715; if (yych <= '9') goto yy722; goto yy715; yy813: YYDEBUG(813, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy814; if (yych != 'v') goto yy54; yy814: YYDEBUG(814, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy716; if (yych == 'e') goto yy716; goto yy656; } } yy815: YYDEBUG(815, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy816; if (yych != 't') goto yy54; yy816: YYDEBUG(816, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'N') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'O') goto yy726; if (yych == 'o') goto yy726; goto yy656; } } yy817: YYDEBUG(817, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy818; if (yych != 'p') goto yy54; yy818: YYDEBUG(818, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'S') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'T') goto yy819; if (yych != 't') goto yy656; } } yy819: YYDEBUG(819, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy768; if (yych == 'e') goto yy768; goto yy656; } } yy820: YYDEBUG(820, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy823; if (yych == 'g') goto yy823; goto yy54; yy821: YYDEBUG(821, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy822; if (yych != 'r') goto yy54; yy822: YYDEBUG(822, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'H') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'I') goto yy732; if (yych == 'i') goto yy732; goto yy656; } } yy823: YYDEBUG(823, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'T') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'U') goto yy734; if (yych == 'u') goto yy734; goto yy656; } } yy824: YYDEBUG(824, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy825; if (yych <= 'X') goto yy54; goto yy826; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; } else { if (yych == 'y') goto yy826; goto yy54; } } yy825: YYDEBUG(825, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'B') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'C') goto yy774; if (yych == 'c') goto yy774; goto yy656; } } yy826: YYDEBUG(826, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= ',') { if (yych <= '\t') { if (yych <= 0x08) goto yy656; goto yy712; } else { if (yych == ' ') goto yy712; goto yy656; } } else { if (yych <= '.') { if (yych <= '-') goto yy808; goto yy712; } else { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } } yy827: YYDEBUG(827, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy828; if (yych != 'b') goto yy54; yy828: YYDEBUG(828, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'Q') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'R') goto yy777; if (yych == 'r') goto yy777; goto yy656; } } yy829: YYDEBUG(829, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy833; if (yych <= 'M') goto yy54; goto yy832; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy833; } else { if (yych == 'n') goto yy832; goto yy54; } } yy830: YYDEBUG(830, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy831; if (yych != 'n') goto yy54; yy831: YYDEBUG(831, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'T') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'U') goto yy739; if (yych == 'u') goto yy739; goto yy656; } } yy832: YYDEBUG(832, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'D') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'E') goto yy720; if (yych == 'e') goto yy720; goto yy656; } } yy833: YYDEBUG(833, *YYCURSOR); yyaccept = 12; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy712; goto yy656; } else { if (yych <= ' ') goto yy712; if (yych <= ',') goto yy656; if (yych <= '-') goto yy808; goto yy712; } } else { if (yych <= 'X') { if (yych <= '/') goto yy656; if (yych <= '9') goto yy714; goto yy656; } else { if (yych <= 'Y') goto yy720; if (yych == 'y') goto yy720; goto yy656; } } yy834: YYDEBUG(834, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '2') goto yy835; if (yych <= '3') goto yy837; if (yych <= '9') goto yy838; goto yy54; yy835: YYDEBUG(835, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy844; if (yych >= 'n') goto yy840; } else { if (yych <= 'r') { if (yych >= 'r') goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; } } yy836: YYDEBUG(836, *YYCURSOR); #line 1242 "parse_date_1_78.db.re" { DEBUG_OUTPUT("gnudateshort"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 14214 "" yy837: YYDEBUG(837, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { if (yych <= '/') goto yy836; goto yy844; } else { if (yych <= '9') goto yy786; if (yych <= 'm') goto yy836; goto yy840; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy838: YYDEBUG(838, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy786; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy839: YYDEBUG(839, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy843; goto yy54; yy840: YYDEBUG(840, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy843; goto yy54; yy841: YYDEBUG(841, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy843; goto yy54; yy842: YYDEBUG(842, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'h') goto yy54; yy843: YYDEBUG(843, *YYCURSOR); yych = *++YYCURSOR; goto yy836; yy844: YYDEBUG(844, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy788; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy845: YYDEBUG(845, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych >= '/') goto yy902; } else { if (yych <= '9') goto yy848; if (yych >= 'n') goto yy899; } } else { if (yych <= 'r') { if (yych >= 'r') goto yy900; } else { if (yych <= 's') goto yy898; if (yych <= 't') goto yy901; } } yy846: YYDEBUG(846, *YYCURSOR); #line 1190 "parse_date_1_78.db.re" { DEBUG_OUTPUT("americanshort | american"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); if (*ptr == '/') { s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_PROCESS_YEAR(s->time->y); } TIMELIB_DEINIT; return TIMELIB_AMERICAN; } #line 14334 "" yy847: YYDEBUG(847, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') { if (yych <= '.') goto yy846; goto yy902; } else { if (yych <= '1') goto yy848; if (yych <= 'm') goto yy846; goto yy899; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy846; goto yy900; } else { if (yych <= 's') goto yy898; if (yych <= 't') goto yy901; goto yy846; } } yy848: YYDEBUG(848, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy902; if (yych <= 'm') goto yy846; goto yy899; } else { if (yych <= 'r') { if (yych <= 'q') goto yy846; goto yy900; } else { if (yych <= 's') goto yy898; if (yych <= 't') goto yy901; goto yy846; } } yy849: YYDEBUG(849, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy897; if (yych <= 'T') goto yy54; goto yy896; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy897; } else { if (yych == 'u') goto yy896; goto yy54; } } yy850: YYDEBUG(850, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy895; if (yych == 'e') goto yy895; goto yy54; yy851: YYDEBUG(851, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy894; if (yych == 'a') goto yy894; goto yy54; yy852: YYDEBUG(852, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy893; if (yych <= 'T') goto yy54; goto yy892; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy893; } else { if (yych == 'u') goto yy892; goto yy54; } } yy853: YYDEBUG(853, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy890; if (yych == 'e') goto yy890; goto yy54; yy854: YYDEBUG(854, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy889; if (yych == 'c') goto yy889; goto yy54; yy855: YYDEBUG(855, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy888; if (yych == 'o') goto yy888; goto yy54; yy856: YYDEBUG(856, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy857; if (yych != 'e') goto yy54; yy857: YYDEBUG(857, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy858; if (yych != 'c') goto yy54; yy858: YYDEBUG(858, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy54; yy859: YYDEBUG(859, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(860, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(861, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(862, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(863, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(864, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy865; if (yych <= '2') goto yy866; goto yy54; yy865: YYDEBUG(865, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy867; goto yy54; yy866: YYDEBUG(866, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '5') goto yy54; yy867: YYDEBUG(867, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(868, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '6') goto yy54; YYDEBUG(869, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(870, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(871, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy872; if (yych <= '6') goto yy873; goto yy54; yy872: YYDEBUG(872, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy874; goto yy54; yy873: YYDEBUG(873, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy54; yy874: YYDEBUG(874, *YYCURSOR); yych = *++YYCURSOR; if (yych == '\t') goto yy875; if (yych != ' ') goto yy54; yy875: YYDEBUG(875, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; YYDEBUG(876, *YYCURSOR); if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x08) goto yy54; goto yy875; } else { if (yych == ' ') goto yy875; goto yy54; } } else { if (yych <= '-') { if (yych == ',') goto yy54; goto yy878; } else { if (yych != 'G') goto yy54; } } YYDEBUG(877, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy886; goto yy54; yy878: YYDEBUG(878, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy879; if (yych <= '2') goto yy881; if (yych <= '9') goto yy882; goto yy54; yy879: YYDEBUG(879, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy880; if (yych <= '9') goto yy882; if (yych <= ':') goto yy883; yy880: YYDEBUG(880, *YYCURSOR); #line 1460 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("clf"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->m = timelib_get_month((char **) &ptr); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } TIMELIB_DEINIT; return TIMELIB_CLF; } #line 14587 "" yy881: YYDEBUG(881, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy880; if (yych >= '5') goto yy884; } else { if (yych <= '9') goto yy885; if (yych <= ':') goto yy883; goto yy880; } yy882: YYDEBUG(882, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy880; if (yych <= '5') goto yy884; if (yych <= '9') goto yy885; if (yych >= ';') goto yy880; yy883: YYDEBUG(883, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy880; if (yych <= '5') goto yy884; if (yych <= '9') goto yy885; goto yy880; yy884: YYDEBUG(884, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy880; if (yych >= ':') goto yy880; yy885: YYDEBUG(885, *YYCURSOR); yych = *++YYCURSOR; goto yy880; yy886: YYDEBUG(886, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy54; YYDEBUG(887, *YYCURSOR); yych = *++YYCURSOR; if (yych == '+') goto yy878; if (yych == '-') goto yy878; goto yy54; yy888: YYDEBUG(888, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy858; if (yych == 'v') goto yy858; goto yy54; yy889: YYDEBUG(889, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy858; if (yych == 't') goto yy858; goto yy54; yy890: YYDEBUG(890, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy891; if (yych != 'p') goto yy54; yy891: YYDEBUG(891, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '/') goto yy859; goto yy54; } else { if (yych <= 'T') goto yy858; if (yych == 't') goto yy858; goto yy54; } yy892: YYDEBUG(892, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy858; if (yych == 'g') goto yy858; goto yy54; yy893: YYDEBUG(893, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy858; if (yych == 'r') goto yy858; goto yy54; yy894: YYDEBUG(894, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy858; if (yych <= 'X') goto yy54; goto yy858; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; goto yy858; } else { if (yych == 'y') goto yy858; goto yy54; } } yy895: YYDEBUG(895, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy858; if (yych == 'b') goto yy858; goto yy54; yy896: YYDEBUG(896, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy858; if (yych <= 'M') goto yy54; goto yy858; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy858; } else { if (yych == 'n') goto yy858; goto yy54; } } yy897: YYDEBUG(897, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy858; if (yych == 'n') goto yy858; goto yy54; yy898: YYDEBUG(898, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy907; goto yy54; yy899: YYDEBUG(899, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy907; goto yy54; yy900: YYDEBUG(900, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy907; goto yy54; yy901: YYDEBUG(901, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy907; goto yy54; yy902: YYDEBUG(902, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(903, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy846; if (yych >= ':') goto yy846; YYDEBUG(904, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy846; if (yych >= ':') goto yy846; YYDEBUG(905, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy846; if (yych >= ':') goto yy846; YYDEBUG(906, *YYCURSOR); yych = *++YYCURSOR; goto yy846; yy907: YYDEBUG(907, *YYCURSOR); yyaccept = 16; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy902; goto yy846; yy908: YYDEBUG(908, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') { if (yych == '\t') goto yy910; goto yy758; } else { if (yych <= '.') goto yy910; if (yych >= '0') goto yy758; } yy909: YYDEBUG(909, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case 'A': case 'a': goto yy852; case 'D': case 'd': goto yy856; case 'F': case 'f': goto yy850; case 'J': case 'j': goto yy849; case 'M': case 'm': goto yy851; case 'N': case 'n': goto yy855; case 'O': case 'o': goto yy854; case 'S': case 's': goto yy853; default: goto yy54; } yy910: YYDEBUG(910, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy758; if (yych <= '0') goto yy911; if (yych <= '1') goto yy912; if (yych <= '9') goto yy913; goto yy758; yy911: YYDEBUG(911, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy54; if (yych <= '.') goto yy781; if (yych <= '/') goto yy54; if (yych <= '9') goto yy913; goto yy54; yy912: YYDEBUG(912, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy54; if (yych <= '.') goto yy781; if (yych <= '/') goto yy54; if (yych >= '3') goto yy54; yy913: YYDEBUG(913, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy54; if (yych <= '.') goto yy781; goto yy54; yy914: YYDEBUG(914, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy958; if (yych <= '/') goto yy58; if (yych <= '9') goto yy956; goto yy58; yy915: YYDEBUG(915, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy924; case '1': goto yy925; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy926; case 'A': case 'a': goto yy919; case 'D': case 'd': goto yy923; case 'F': case 'f': goto yy917; case 'J': case 'j': goto yy916; case 'M': case 'm': goto yy918; case 'N': case 'n': goto yy922; case 'O': case 'o': goto yy921; case 'S': case 's': goto yy920; default: goto yy54; } yy916: YYDEBUG(916, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy955; if (yych <= 'T') goto yy54; goto yy954; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy955; } else { if (yych == 'u') goto yy954; goto yy54; } } yy917: YYDEBUG(917, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy953; if (yych == 'e') goto yy953; goto yy54; yy918: YYDEBUG(918, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy952; if (yych == 'a') goto yy952; goto yy54; yy919: YYDEBUG(919, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy951; if (yych <= 'T') goto yy54; goto yy950; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy951; } else { if (yych == 'u') goto yy950; goto yy54; } } yy920: YYDEBUG(920, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy948; if (yych == 'e') goto yy948; goto yy54; yy921: YYDEBUG(921, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy947; if (yych == 'c') goto yy947; goto yy54; yy922: YYDEBUG(922, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy946; if (yych == 'o') goto yy946; goto yy54; yy923: YYDEBUG(923, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy938; if (yych == 'e') goto yy938; goto yy54; yy924: YYDEBUG(924, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy927; if (yych <= '/') goto yy54; if (yych <= '9') goto yy931; goto yy54; yy925: YYDEBUG(925, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy927; if (yych <= '/') goto yy54; if (yych <= '2') goto yy931; goto yy54; yy926: YYDEBUG(926, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy54; yy927: YYDEBUG(927, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '2') goto yy928; if (yych <= '3') goto yy929; if (yych <= '9') goto yy930; goto yy54; yy928: YYDEBUG(928, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy930; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy929: YYDEBUG(929, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '1') goto yy930; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy930: YYDEBUG(930, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy840; goto yy836; } else { if (yych <= 'r') goto yy841; if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } yy931: YYDEBUG(931, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy54; YYDEBUG(932, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy54; if (yych >= '1') goto yy934; } else { if (yych <= '3') goto yy935; if (yych <= '9') goto yy930; goto yy54; } YYDEBUG(933, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy936; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy934: YYDEBUG(934, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy936; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy935: YYDEBUG(935, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '1') goto yy936; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy936: YYDEBUG(936, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy840; } else { if (yych <= 'r') goto yy841; if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; } yy937: YYDEBUG(937, *YYCURSOR); #line 1217 "parse_date_1_78.db.re" { DEBUG_OUTPUT("iso8601date2"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 15103 "" yy938: YYDEBUG(938, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy939; if (yych != 'c') goto yy54; yy939: YYDEBUG(939, *YYCURSOR); yych = *++YYCURSOR; if (yych != '-') goto yy54; yy940: YYDEBUG(940, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy941; if (yych <= '2') goto yy942; if (yych <= '3') goto yy943; goto yy54; yy941: YYDEBUG(941, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy944; goto yy54; yy942: YYDEBUG(942, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy944; goto yy54; yy943: YYDEBUG(943, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '2') goto yy54; yy944: YYDEBUG(944, *YYCURSOR); ++YYCURSOR; YYDEBUG(945, *YYCURSOR); #line 1447 "parse_date_1_78.db.re" { DEBUG_OUTPUT("pgtextreverse"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_TEXT; } #line 15154 "" yy946: YYDEBUG(946, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy939; if (yych == 'v') goto yy939; goto yy54; yy947: YYDEBUG(947, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy939; if (yych == 't') goto yy939; goto yy54; yy948: YYDEBUG(948, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy949; if (yych != 'p') goto yy54; yy949: YYDEBUG(949, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych == '-') goto yy940; goto yy54; } else { if (yych <= 'T') goto yy939; if (yych == 't') goto yy939; goto yy54; } yy950: YYDEBUG(950, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy939; if (yych == 'g') goto yy939; goto yy54; yy951: YYDEBUG(951, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy939; if (yych == 'r') goto yy939; goto yy54; yy952: YYDEBUG(952, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy939; if (yych <= 'X') goto yy54; goto yy939; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; goto yy939; } else { if (yych == 'y') goto yy939; goto yy54; } } yy953: YYDEBUG(953, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy939; if (yych == 'b') goto yy939; goto yy54; yy954: YYDEBUG(954, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy939; if (yych <= 'M') goto yy54; goto yy939; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy939; } else { if (yych == 'n') goto yy939; goto yy54; } } yy955: YYDEBUG(955, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy939; if (yych == 'n') goto yy939; goto yy54; yy956: YYDEBUG(956, *YYCURSOR); yyaccept = 18; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy964; case '-': goto yy961; case '.': goto yy965; case '/': goto yy962; case '0': goto yy978; case '1': goto yy979; case '2': goto yy981; case '3': goto yy982; case '4': case '5': case '6': case '7': case '8': case '9': goto yy52; case ':': goto yy980; case 'W': goto yy983; default: goto yy957; } yy957: YYDEBUG(957, *YYCURSOR); #line 1481 "parse_date_1_78.db.re" { DEBUG_OUTPUT("year4"); TIMELIB_INIT; s->time->y = timelib_get_nr((char **) &ptr, 4); TIMELIB_DEINIT; return TIMELIB_CLF; } #line 15300 "" yy958: YYDEBUG(958, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy959; case '1': goto yy960; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy926; case 'A': case 'a': goto yy919; case 'D': case 'd': goto yy923; case 'F': case 'f': goto yy917; case 'J': case 'j': goto yy916; case 'M': case 'm': goto yy918; case 'N': case 'n': goto yy922; case 'O': case 'o': goto yy921; case 'S': case 's': goto yy920; default: goto yy54; } yy959: YYDEBUG(959, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy927; if (yych <= '/') goto yy54; if (yych <= '9') goto yy926; goto yy54; yy960: YYDEBUG(960, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy927; if (yych <= '/') goto yy54; if (yych <= '2') goto yy926; goto yy54; yy961: YYDEBUG(961, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy1146; case '1': goto yy1148; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy1149; case 'A': case 'a': goto yy1140; case 'D': case 'd': goto yy1144; case 'F': case 'f': goto yy1138; case 'J': case 'j': goto yy1137; case 'M': case 'm': goto yy1139; case 'N': case 'n': goto yy1143; case 'O': case 'o': goto yy1142; case 'S': case 's': goto yy1141; case 'W': goto yy1145; default: goto yy1112; } yy962: YYDEBUG(962, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy1120; if (yych <= '1') goto yy1121; if (yych <= '9') goto yy1122; goto yy54; yy963: YYDEBUG(963, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11); yych = *YYCURSOR; yy964: YYDEBUG(964, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy963; case '-': case '.': goto yy1111; case 'A': case 'a': goto yy973; case 'D': case 'd': goto yy977; case 'F': case 'f': goto yy971; case 'H': case 'h': goto yy61; case 'I': goto yy966; case 'J': case 'j': goto yy970; case 'M': case 'm': goto yy972; case 'N': case 'n': goto yy976; case 'O': case 'o': goto yy975; case 'S': case 's': goto yy974; case 'T': case 't': goto yy66; case 'V': goto yy968; case 'W': case 'w': goto yy65; case 'X': goto yy969; case 'Y': case 'y': goto yy64; default: goto yy54; } yy965: YYDEBUG(965, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1112; if (yych <= '0') goto yy1104; if (yych <= '2') goto yy1105; if (yych <= '3') goto yy1106; goto yy1112; yy966: YYDEBUG(966, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= 'U') { if (yych == 'I') goto yy1103; } else { if (yych == 'W') goto yy967; if (yych <= 'X') goto yy1057; } yy967: YYDEBUG(967, *YYCURSOR); #line 1307 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datenodayrev"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_month((char **) &ptr); s->time->d = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_DATE_NO_DAY; } #line 15463 "" yy968: YYDEBUG(968, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1101; goto yy967; yy969: YYDEBUG(969, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1100; goto yy967; yy970: YYDEBUG(970, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1093; if (yych <= 'T') goto yy54; goto yy1092; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy1093; } else { if (yych == 'u') goto yy1092; goto yy54; } } yy971: YYDEBUG(971, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= 'N') { if (yych == 'E') goto yy1086; goto yy54; } else { if (yych <= 'O') goto yy96; if (yych <= 'Q') goto yy54; goto yy95; } } else { if (yych <= 'n') { if (yych == 'e') goto yy1086; goto yy54; } else { if (yych <= 'o') goto yy96; if (yych == 'r') goto yy95; goto yy54; } } yy972: YYDEBUG(972, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= 'H') { if (yych == 'A') goto yy1083; goto yy54; } else { if (yych <= 'I') goto yy115; if (yych <= 'N') goto yy54; goto yy114; } } else { if (yych <= 'h') { if (yych == 'a') goto yy1083; goto yy54; } else { if (yych <= 'i') goto yy115; if (yych == 'o') goto yy114; goto yy54; } } yy973: YYDEBUG(973, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1077; if (yych <= 'T') goto yy54; goto yy1076; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy1077; } else { if (yych == 'u') goto yy1076; goto yy54; } } yy974: YYDEBUG(974, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= 'D') { if (yych == 'A') goto yy124; goto yy54; } else { if (yych <= 'E') goto yy1069; if (yych <= 'T') goto yy54; goto yy123; } } else { if (yych <= 'd') { if (yych == 'a') goto yy124; goto yy54; } else { if (yych <= 'e') goto yy1069; if (yych == 'u') goto yy123; goto yy54; } } yy975: YYDEBUG(975, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1064; if (yych == 'c') goto yy1064; goto yy54; yy976: YYDEBUG(976, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1058; if (yych == 'o') goto yy1058; goto yy54; yy977: YYDEBUG(977, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych == 'A') goto yy111; if (yych <= 'D') goto yy54; goto yy1051; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy111; } else { if (yych == 'e') goto yy1051; goto yy54; } } yy978: YYDEBUG(978, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '0') goto yy1048; if (yych <= '9') goto yy1049; goto yy58; yy979: YYDEBUG(979, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '2') goto yy1017; if (yych <= '9') goto yy996; goto yy58; yy980: YYDEBUG(980, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy997; if (yych <= '1') goto yy998; goto yy54; yy981: YYDEBUG(981, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy996; goto yy58; yy982: YYDEBUG(982, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '5') goto yy992; if (yych <= '6') goto yy993; if (yych <= '9') goto yy52; goto yy58; yy983: YYDEBUG(983, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy54; if (yych <= '0') goto yy984; if (yych <= '4') goto yy985; goto yy986; } else { if (yych <= 'E') { if (yych <= 'D') goto yy54; goto yy80; } else { if (yych == 'e') goto yy80; goto yy54; } } yy984: YYDEBUG(984, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy54; if (yych <= '9') goto yy987; goto yy54; yy985: YYDEBUG(985, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy987; goto yy54; yy986: YYDEBUG(986, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '4') goto yy54; yy987: YYDEBUG(987, *YYCURSOR); yyaccept = 19; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy989; if (yych <= '/') goto yy988; if (yych <= '7') goto yy990; yy988: YYDEBUG(988, *YYCURSOR); #line 1415 "parse_date_1_78.db.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweek"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = 1; s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 15696 "" yy989: YYDEBUG(989, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '8') goto yy54; yy990: YYDEBUG(990, *YYCURSOR); ++YYCURSOR; YYDEBUG(991, *YYCURSOR); #line 1396 "parse_date_1_78.db.re" { timelib_sll w, d; DEBUG_OUTPUT("isoweekday"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); TIMELIB_HAVE_RELATIVE(); s->time->y = timelib_get_nr((char **) &ptr, 4); w = timelib_get_nr((char **) &ptr, 2); d = timelib_get_nr((char **) &ptr, 1); s->time->m = 1; s->time->d = 1; s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d); TIMELIB_DEINIT; return TIMELIB_ISO_WEEK; } #line 15724 "" yy992: YYDEBUG(992, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy994; goto yy58; yy993: YYDEBUG(993, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '6') goto yy994; if (yych <= '9') goto yy52; goto yy58; yy994: YYDEBUG(994, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy52; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych >= ' ') goto yy58; } else { if (yych == 'D') goto yy58; if (yych >= 'F') goto yy58; } } else { if (yych <= 'M') { if (yych == 'H') goto yy58; if (yych >= 'M') goto yy58; } else { if (yych <= 'R') goto yy995; if (yych <= 'T') goto yy58; if (yych >= 'W') goto yy58; } } } else { if (yych <= 'h') { if (yych <= 'd') { if (yych == 'Y') goto yy58; if (yych >= 'd') goto yy58; } else { if (yych == 'f') goto yy58; if (yych >= 'h') goto yy58; } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych >= 's') goto yy58; } else { if (yych <= 'w') { if (yych >= 'w') goto yy58; } else { if (yych == 'y') goto yy58; } } } } yy995: YYDEBUG(995, *YYCURSOR); #line 1383 "parse_date_1_78.db.re" { DEBUG_OUTPUT("pgydotd"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->d = timelib_get_nr((char **) &ptr, 3); s->time->m = 1; TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_PG_YEARDAY; } #line 15800 "" yy996: YYDEBUG(996, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy994; goto yy58; yy997: YYDEBUG(997, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy999; goto yy54; yy998: YYDEBUG(998, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '3') goto yy54; yy999: YYDEBUG(999, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1000, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy1001; if (yych <= '2') goto yy1002; if (yych <= '3') goto yy1003; goto yy54; yy1001: YYDEBUG(1001, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1004; goto yy54; yy1002: YYDEBUG(1002, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1004; goto yy54; yy1003: YYDEBUG(1003, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '2') goto yy54; yy1004: YYDEBUG(1004, *YYCURSOR); yych = *++YYCURSOR; if (yych != ' ') goto yy54; YYDEBUG(1005, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy1006; if (yych <= '2') goto yy1007; goto yy54; yy1006: YYDEBUG(1006, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1008; goto yy54; yy1007: YYDEBUG(1007, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '5') goto yy54; yy1008: YYDEBUG(1008, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1009, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '6') goto yy54; YYDEBUG(1010, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(1011, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1012, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1013; if (yych <= '6') goto yy1014; goto yy54; yy1013: YYDEBUG(1013, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1015; goto yy54; yy1014: YYDEBUG(1014, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy54; yy1015: YYDEBUG(1015, *YYCURSOR); ++YYCURSOR; yy1016: YYDEBUG(1016, *YYCURSOR); #line 1357 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr == '.') { s->time->f = timelib_get_frac_nr((char **) &ptr, 9); if (*ptr) { /* timezone is optional */ s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } } TIMELIB_DEINIT; return TIMELIB_XMLRPC_SOAP; } #line 15928 "" yy1017: YYDEBUG(1017, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy58; if (yych >= '1') goto yy1019; } else { if (yych <= '3') goto yy1020; if (yych <= '9') goto yy994; goto yy58; } yy1018: YYDEBUG(1018, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy995; goto yy58; } else { if (yych <= '/') goto yy995; if (yych <= '9') goto yy1021; if (yych <= 'C') goto yy995; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy995; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy995; goto yy58; } else { if (yych <= 'R') goto yy995; if (yych <= 'T') goto yy58; goto yy995; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy995; if (yych <= 'Y') goto yy58; goto yy995; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy995; } else { if (yych == 'g') goto yy995; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy995; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy995; goto yy58; } else { if (yych == 'y') goto yy58; goto yy995; } } } } yy1019: YYDEBUG(1019, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy995; goto yy58; } else { if (yych <= '/') goto yy995; if (yych <= '9') goto yy1021; if (yych <= 'C') goto yy995; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy995; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy995; goto yy58; } else { if (yych <= 'R') goto yy995; if (yych <= 'T') goto yy58; goto yy995; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy995; if (yych <= 'Y') goto yy58; goto yy995; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy995; } else { if (yych == 'g') goto yy995; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy995; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy995; goto yy58; } else { if (yych == 'y') goto yy58; goto yy995; } } } } yy1020: YYDEBUG(1020, *YYCURSOR); yyaccept = 20; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy995; goto yy58; } else { if (yych <= '1') { if (yych <= '/') goto yy995; } else { if (yych <= '9') goto yy52; if (yych <= 'C') goto yy995; goto yy58; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy995; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy995; goto yy58; } else { if (yych <= 'R') goto yy995; if (yych <= 'T') goto yy58; goto yy995; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy995; if (yych <= 'Y') goto yy58; goto yy995; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy995; } else { if (yych == 'g') goto yy995; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy995; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy995; goto yy58; } else { if (yych == 'y') goto yy58; goto yy995; } } } } yy1021: YYDEBUG(1021, *YYCURSOR); yyaccept = 21; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy52; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy57; if (yych >= ' ') goto yy57; } else { if (yych == 'D') goto yy62; if (yych >= 'F') goto yy63; } } else { if (yych <= 'M') { if (yych == 'H') goto yy61; if (yych >= 'M') goto yy60; } else { if (yych <= 'S') { if (yych >= 'S') goto yy59; } else { if (yych <= 'T') goto yy1023; if (yych >= 'W') goto yy65; } } } } else { if (yych <= 'l') { if (yych <= 'd') { if (yych == 'Y') goto yy64; if (yych >= 'd') goto yy62; } else { if (yych <= 'f') { if (yych >= 'f') goto yy63; } else { if (yych == 'h') goto yy61; } } } else { if (yych <= 't') { if (yych <= 'm') goto yy60; if (yych <= 'r') goto yy1022; if (yych <= 's') goto yy59; goto yy1024; } else { if (yych <= 'w') { if (yych >= 'w') goto yy65; } else { if (yych == 'y') goto yy64; } } } } yy1022: YYDEBUG(1022, *YYCURSOR); #line 1345 "parse_date_1_78.db.re" { DEBUG_OUTPUT("datenocolon"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); s->time->d = timelib_get_nr((char **) &ptr, 2); TIMELIB_DEINIT; return TIMELIB_DATE_NOCOLON; } #line 16201 "" yy1023: YYDEBUG(1023, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy54; if (yych <= '1') goto yy1038; goto yy1039; } else { if (yych <= '9') goto yy1040; if (yych <= 'G') goto yy54; goto yy67; } } else { if (yych <= 'g') { if (yych == 'U') goto yy68; goto yy54; } else { if (yych <= 'h') goto yy67; if (yych == 'u') goto yy68; goto yy54; } } yy1024: YYDEBUG(1024, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= '2') { if (yych <= '/') goto yy54; if (yych >= '2') goto yy1026; } else { if (yych <= '9') goto yy1027; if (yych <= 'G') goto yy54; goto yy67; } } else { if (yych <= 'g') { if (yych == 'U') goto yy68; goto yy54; } else { if (yych <= 'h') goto yy67; if (yych == 'u') goto yy68; goto yy54; } } YYDEBUG(1025, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1032; if (yych <= '9') goto yy1027; goto yy54; yy1026: YYDEBUG(1026, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '4') goto yy1032; if (yych <= '5') goto yy1028; goto yy54; yy1027: YYDEBUG(1027, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '6') goto yy54; yy1028: YYDEBUG(1028, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy1029: YYDEBUG(1029, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1030; if (yych <= '6') goto yy1031; goto yy54; yy1030: YYDEBUG(1030, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1015; goto yy54; yy1031: YYDEBUG(1031, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1015; goto yy54; yy1032: YYDEBUG(1032, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1033; if (yych <= '9') goto yy1029; goto yy54; yy1033: YYDEBUG(1033, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1034; if (yych <= '6') goto yy1035; if (yych <= '9') goto yy1029; goto yy54; yy1034: YYDEBUG(1034, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1036; if (yych <= '6') goto yy1037; if (yych <= '9') goto yy1015; goto yy54; yy1035: YYDEBUG(1035, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy1036; if (yych <= '5') goto yy1030; if (yych <= '6') goto yy1031; goto yy54; yy1036: YYDEBUG(1036, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '9') goto yy1015; goto yy1016; yy1037: YYDEBUG(1037, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1015; goto yy1016; yy1038: YYDEBUG(1038, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1047; if (yych <= '9') goto yy1040; if (yych <= ':') goto yy1041; goto yy54; yy1039: YYDEBUG(1039, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy54; if (yych <= '4') goto yy1047; goto yy1028; } else { if (yych == ':') goto yy1041; goto yy54; } yy1040: YYDEBUG(1040, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1028; if (yych != ':') goto yy54; yy1041: YYDEBUG(1041, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= '6') goto yy54; YYDEBUG(1042, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(1043, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1044, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1045; if (yych <= '6') goto yy1046; goto yy54; yy1045: YYDEBUG(1045, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1015; goto yy54; yy1046: YYDEBUG(1046, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1015; goto yy54; yy1047: YYDEBUG(1047, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1033; if (yych <= '9') goto yy1029; if (yych <= ':') goto yy1041; goto yy54; yy1048: YYDEBUG(1048, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy58; if (yych <= '0') goto yy1050; goto yy1019; } else { if (yych <= '3') goto yy1020; if (yych <= '9') goto yy994; goto yy58; } yy1049: YYDEBUG(1049, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy58; if (yych <= '0') goto yy1018; goto yy1019; } else { if (yych <= '3') goto yy1020; if (yych <= '9') goto yy994; goto yy58; } yy1050: YYDEBUG(1050, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy1021; goto yy58; yy1051: YYDEBUG(1051, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1052; if (yych != 'c') goto yy54; yy1052: YYDEBUG(1052, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1053; if (yych != 'e') goto yy967; yy1053: YYDEBUG(1053, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1054; if (yych != 'm') goto yy54; yy1054: YYDEBUG(1054, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1055; if (yych != 'b') goto yy54; yy1055: YYDEBUG(1055, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1056; if (yych != 'e') goto yy54; yy1056: YYDEBUG(1056, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1057; if (yych != 'r') goto yy54; yy1057: YYDEBUG(1057, *YYCURSOR); yych = *++YYCURSOR; goto yy967; yy1058: YYDEBUG(1058, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy1059; if (yych != 'v') goto yy54; yy1059: YYDEBUG(1059, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1060; if (yych != 'e') goto yy967; yy1060: YYDEBUG(1060, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1061; if (yych != 'm') goto yy54; yy1061: YYDEBUG(1061, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1062; if (yych != 'b') goto yy54; yy1062: YYDEBUG(1062, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1063; if (yych != 'e') goto yy54; yy1063: YYDEBUG(1063, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1057; if (yych == 'r') goto yy1057; goto yy54; yy1064: YYDEBUG(1064, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1065; if (yych != 't') goto yy54; yy1065: YYDEBUG(1065, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'O') goto yy1066; if (yych != 'o') goto yy967; yy1066: YYDEBUG(1066, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1067; if (yych != 'b') goto yy54; yy1067: YYDEBUG(1067, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1068; if (yych != 'e') goto yy54; yy1068: YYDEBUG(1068, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1057; if (yych == 'r') goto yy1057; goto yy54; yy1069: YYDEBUG(1069, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy126; if (yych <= 'O') goto yy54; } else { if (yych <= 'c') { if (yych <= 'b') goto yy54; goto yy126; } else { if (yych != 'p') goto yy54; } } yy1070: YYDEBUG(1070, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1071; if (yych != 't') goto yy967; yy1071: YYDEBUG(1071, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'E') goto yy1072; if (yych != 'e') goto yy967; yy1072: YYDEBUG(1072, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1073; if (yych != 'm') goto yy54; yy1073: YYDEBUG(1073, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1074; if (yych != 'b') goto yy54; yy1074: YYDEBUG(1074, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1075; if (yych != 'e') goto yy54; yy1075: YYDEBUG(1075, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1057; if (yych == 'r') goto yy1057; goto yy54; yy1076: YYDEBUG(1076, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1080; if (yych == 'g') goto yy1080; goto yy54; yy1077: YYDEBUG(1077, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1078; if (yych != 'r') goto yy54; yy1078: YYDEBUG(1078, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'I') goto yy1079; if (yych != 'i') goto yy967; yy1079: YYDEBUG(1079, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'L') goto yy1057; if (yych == 'l') goto yy1057; goto yy54; yy1080: YYDEBUG(1080, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1081; if (yych != 'u') goto yy967; yy1081: YYDEBUG(1081, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'S') goto yy1082; if (yych != 's') goto yy54; yy1082: YYDEBUG(1082, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1057; if (yych == 't') goto yy1057; goto yy54; yy1083: YYDEBUG(1083, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1084; if (yych <= 'X') goto yy54; goto yy1057; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; } else { if (yych == 'y') goto yy1057; goto yy54; } } yy1084: YYDEBUG(1084, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'C') goto yy1085; if (yych != 'c') goto yy967; yy1085: YYDEBUG(1085, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'H') goto yy1057; if (yych == 'h') goto yy1057; goto yy54; yy1086: YYDEBUG(1086, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1087; if (yych != 'b') goto yy54; yy1087: YYDEBUG(1087, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'R') goto yy1088; if (yych != 'r') goto yy967; yy1088: YYDEBUG(1088, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'U') goto yy1089; if (yych != 'u') goto yy54; yy1089: YYDEBUG(1089, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1090; if (yych != 'a') goto yy54; yy1090: YYDEBUG(1090, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1091; if (yych != 'r') goto yy54; yy1091: YYDEBUG(1091, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1057; if (yych == 'y') goto yy1057; goto yy54; yy1092: YYDEBUG(1092, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1099; if (yych <= 'M') goto yy54; goto yy1098; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy1099; } else { if (yych == 'n') goto yy1098; goto yy54; } } yy1093: YYDEBUG(1093, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1094; if (yych != 'n') goto yy54; yy1094: YYDEBUG(1094, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'U') goto yy1095; if (yych != 'u') goto yy967; yy1095: YYDEBUG(1095, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1096; if (yych != 'a') goto yy54; yy1096: YYDEBUG(1096, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1097; if (yych != 'r') goto yy54; yy1097: YYDEBUG(1097, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1057; if (yych == 'y') goto yy1057; goto yy54; yy1098: YYDEBUG(1098, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1057; if (yych == 'e') goto yy1057; goto yy967; yy1099: YYDEBUG(1099, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1057; if (yych == 'y') goto yy1057; goto yy967; yy1100: YYDEBUG(1100, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1057; goto yy967; yy1101: YYDEBUG(1101, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'I') goto yy967; YYDEBUG(1102, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1057; goto yy967; yy1103: YYDEBUG(1103, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'I') goto yy1057; goto yy967; yy1104: YYDEBUG(1104, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy1119; if (yych <= '9') goto yy1118; goto yy54; yy1105: YYDEBUG(1105, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1117; goto yy54; yy1106: YYDEBUG(1106, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1115; if (yych <= '6') goto yy1114; goto yy54; yy1107: YYDEBUG(1107, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1086; if (yych == 'e') goto yy1086; goto yy54; yy1108: YYDEBUG(1108, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1083; if (yych == 'a') goto yy1083; goto yy54; yy1109: YYDEBUG(1109, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1113; if (yych == 'e') goto yy1113; goto yy54; yy1110: YYDEBUG(1110, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1051; if (yych == 'e') goto yy1051; goto yy54; yy1111: YYDEBUG(1111, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; yy1112: YYDEBUG(1112, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case '-': case '.': goto yy1111; case 'A': case 'a': goto yy973; case 'D': case 'd': goto yy1110; case 'F': case 'f': goto yy1107; case 'I': goto yy966; case 'J': case 'j': goto yy970; case 'M': case 'm': goto yy1108; case 'N': case 'n': goto yy976; case 'O': case 'o': goto yy975; case 'S': case 's': goto yy1109; case 'V': goto yy968; case 'X': goto yy969; default: goto yy54; } yy1113: YYDEBUG(1113, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy1070; if (yych == 'p') goto yy1070; goto yy54; yy1114: YYDEBUG(1114, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '6') goto yy1116; goto yy54; yy1115: YYDEBUG(1115, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy1116: YYDEBUG(1116, *YYCURSOR); yych = *++YYCURSOR; goto yy995; yy1117: YYDEBUG(1117, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1116; goto yy54; yy1118: YYDEBUG(1118, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1116; goto yy54; yy1119: YYDEBUG(1119, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '0') goto yy54; if (yych <= '9') goto yy1116; goto yy54; yy1120: YYDEBUG(1120, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy54; if (yych <= '/') goto yy1123; if (yych <= '9') goto yy1131; goto yy54; yy1121: YYDEBUG(1121, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') goto yy54; if (yych <= '/') goto yy1123; if (yych <= '2') goto yy1131; goto yy54; yy1122: YYDEBUG(1122, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy54; yy1123: YYDEBUG(1123, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '2') goto yy1124; if (yych <= '3') goto yy1125; if (yych <= '9') goto yy1126; goto yy54; yy1124: YYDEBUG(1124, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy635; if (yych <= '9') goto yy1126; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1125: YYDEBUG(1125, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy635; if (yych <= '1') goto yy1126; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1126: YYDEBUG(1126, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'q') { if (yych == 'n') goto yy1128; goto yy635; } else { if (yych <= 'r') goto yy1129; if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } yy1127: YYDEBUG(1127, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy634; goto yy54; yy1128: YYDEBUG(1128, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy634; goto yy54; yy1129: YYDEBUG(1129, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy634; goto yy54; yy1130: YYDEBUG(1130, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy634; goto yy54; yy1131: YYDEBUG(1131, *YYCURSOR); yych = *++YYCURSOR; if (yych != '/') goto yy54; YYDEBUG(1132, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy54; if (yych >= '1') goto yy1134; } else { if (yych <= '3') goto yy1135; if (yych <= '9') goto yy1126; goto yy54; } YYDEBUG(1133, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy635; if (yych <= '9') goto yy1136; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1134: YYDEBUG(1134, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy635; if (yych <= '9') goto yy1136; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1135: YYDEBUG(1135, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy635; if (yych <= '1') goto yy1136; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1136: YYDEBUG(1136, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == '/') goto yy634; if (yych <= 'm') goto yy635; goto yy1128; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1129; } else { if (yych <= 's') goto yy1127; if (yych <= 't') goto yy1130; goto yy635; } } yy1137: YYDEBUG(1137, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'A') goto yy1217; if (yych <= 'T') goto yy54; goto yy1216; } else { if (yych <= 'a') { if (yych <= '`') goto yy54; goto yy1217; } else { if (yych == 'u') goto yy1216; goto yy54; } } yy1138: YYDEBUG(1138, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1214; if (yych == 'e') goto yy1214; goto yy54; yy1139: YYDEBUG(1139, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1211; if (yych == 'a') goto yy1211; goto yy54; yy1140: YYDEBUG(1140, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych == 'P') goto yy1208; if (yych <= 'T') goto yy54; goto yy1207; } else { if (yych <= 'p') { if (yych <= 'o') goto yy54; goto yy1208; } else { if (yych == 'u') goto yy1207; goto yy54; } } yy1141: YYDEBUG(1141, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1204; if (yych == 'e') goto yy1204; goto yy54; yy1142: YYDEBUG(1142, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1202; if (yych == 'c') goto yy1202; goto yy54; yy1143: YYDEBUG(1143, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1200; if (yych == 'o') goto yy1200; goto yy54; yy1144: YYDEBUG(1144, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'E') goto yy1198; if (yych == 'e') goto yy1198; goto yy54; yy1145: YYDEBUG(1145, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '0') goto yy984; if (yych <= '4') goto yy985; if (yych <= '5') goto yy986; goto yy54; yy1146: YYDEBUG(1146, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1150; if (yych <= '/') goto yy1147; if (yych <= '9') goto yy1169; yy1147: YYDEBUG(1147, *YYCURSOR); #line 1230 "parse_date_1_78.db.re" { DEBUG_OUTPUT("gnudateshorter"); TIMELIB_INIT; TIMELIB_HAVE_DATE(); s->time->y = timelib_get_nr((char **) &ptr, 4); s->time->m = timelib_get_nr((char **) &ptr, 2); TIMELIB_PROCESS_YEAR(s->time->y); TIMELIB_DEINIT; return TIMELIB_ISO_DATE; } #line 17132 "" yy1148: YYDEBUG(1148, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy1150; if (yych <= '/') goto yy1147; if (yych <= '2') goto yy1169; goto yy1147; yy1149: YYDEBUG(1149, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych != '-') goto yy1147; yy1150: YYDEBUG(1150, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '2') goto yy1151; if (yych <= '3') goto yy1152; if (yych <= '9') goto yy1153; goto yy54; yy1151: YYDEBUG(1151, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy836; goto yy1153; } else { if (yych == 'T') goto yy1158; goto yy836; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1155; if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1152: YYDEBUG(1152, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy836; } else { if (yych == 'T') goto yy1158; goto yy836; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1155; if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1153: YYDEBUG(1153, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1158; if (yych <= 'm') goto yy836; goto yy1155; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1154: YYDEBUG(1154, *YYCURSOR); yych = *++YYCURSOR; if (yych == 't') goto yy1168; goto yy54; yy1155: YYDEBUG(1155, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1168; goto yy54; yy1156: YYDEBUG(1156, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'd') goto yy1168; goto yy54; yy1157: YYDEBUG(1157, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'h') goto yy1168; goto yy54; yy1158: YYDEBUG(1158, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy1159; if (yych <= '2') goto yy1160; if (yych <= '9') goto yy1161; goto yy54; yy1159: YYDEBUG(1159, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1161; if (yych <= ':') goto yy1162; goto yy54; yy1160: YYDEBUG(1160, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '4') goto yy1161; if (yych == ':') goto yy1162; goto yy54; yy1161: YYDEBUG(1161, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; yy1162: YYDEBUG(1162, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1163; if (yych <= '9') goto yy1164; goto yy54; yy1163: YYDEBUG(1163, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1164; if (yych <= ':') goto yy1165; goto yy54; yy1164: YYDEBUG(1164, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; yy1165: YYDEBUG(1165, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1166; if (yych <= '6') goto yy1167; if (yych <= '9') goto yy1015; goto yy54; yy1166: YYDEBUG(1166, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '9') goto yy1015; goto yy1016; yy1167: YYDEBUG(1167, *YYCURSOR); yych = *++YYCURSOR; if (yych == '0') goto yy1015; goto yy1016; yy1168: YYDEBUG(1168, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych == 'T') goto yy1158; goto yy836; yy1169: YYDEBUG(1169, *YYCURSOR); yyaccept = 24; yych = *(YYMARKER = ++YYCURSOR); if (yych != '-') goto yy1147; YYDEBUG(1170, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy54; if (yych >= '1') goto yy1172; } else { if (yych <= '3') goto yy1173; if (yych <= '9') goto yy1153; goto yy54; } YYDEBUG(1171, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy836; goto yy1174; } else { if (yych == 'T') goto yy1158; goto yy836; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1155; if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1172: YYDEBUG(1172, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '9') { if (yych <= '/') goto yy836; goto yy1174; } else { if (yych == 'T') goto yy1158; goto yy836; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1155; if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1173: YYDEBUG(1173, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'm') { if (yych <= '1') { if (yych <= '/') goto yy836; } else { if (yych == 'T') goto yy1158; goto yy836; } } else { if (yych <= 'r') { if (yych <= 'n') goto yy1155; if (yych <= 'q') goto yy836; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy836; } } yy1174: YYDEBUG(1174, *YYCURSOR); yyaccept = 23; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych == 'T') goto yy1175; if (yych <= 'm') goto yy635; goto yy1155; } else { if (yych <= 'r') { if (yych <= 'q') goto yy635; goto yy1156; } else { if (yych <= 's') goto yy1154; if (yych <= 't') goto yy1157; goto yy635; } } yy1175: YYDEBUG(1175, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy1176; if (yych <= '2') goto yy1177; if (yych <= '9') goto yy1161; goto yy54; yy1176: YYDEBUG(1176, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1178; if (yych <= ':') goto yy1162; goto yy54; yy1177: YYDEBUG(1177, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '4') goto yy1178; if (yych == ':') goto yy1162; goto yy54; yy1178: YYDEBUG(1178, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1179, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1180; if (yych <= '9') goto yy1164; goto yy54; yy1180: YYDEBUG(1180, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1181; if (yych <= ':') goto yy1165; goto yy54; yy1181: YYDEBUG(1181, *YYCURSOR); yych = *++YYCURSOR; if (yych != ':') goto yy54; YYDEBUG(1182, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1183; if (yych <= '6') goto yy1184; if (yych <= '9') goto yy1015; goto yy54; yy1183: YYDEBUG(1183, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '9') goto yy1185; goto yy1016; yy1184: YYDEBUG(1184, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy1016; yy1185: YYDEBUG(1185, *YYCURSOR); yyaccept = 25; yych = *(YYMARKER = ++YYCURSOR); if (yych != '.') goto yy1016; YYDEBUG(1186, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy1187: YYDEBUG(1187, *YYCURSOR); yyaccept = 25; YYMARKER = ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9); yych = *YYCURSOR; YYDEBUG(1188, *YYCURSOR); if (yych <= '-') { if (yych == '+') goto yy1190; if (yych <= ',') goto yy1016; goto yy1190; } else { if (yych <= '9') { if (yych <= '/') goto yy1016; goto yy1187; } else { if (yych != 'G') goto yy1016; } } YYDEBUG(1189, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'M') goto yy1196; goto yy54; yy1190: YYDEBUG(1190, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '1') goto yy1191; if (yych <= '2') goto yy1192; if (yych <= '9') goto yy1193; goto yy54; yy1191: YYDEBUG(1191, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '9') goto yy1193; if (yych <= ':') goto yy1194; goto yy1016; yy1192: YYDEBUG(1192, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '5') { if (yych <= '/') goto yy1016; if (yych >= '5') goto yy1195; } else { if (yych <= '9') goto yy1015; if (yych <= ':') goto yy1194; goto yy1016; } yy1193: YYDEBUG(1193, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '5') goto yy1195; if (yych <= '9') goto yy1015; if (yych >= ';') goto yy1016; yy1194: YYDEBUG(1194, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '5') goto yy1195; if (yych <= '9') goto yy1015; goto yy1016; yy1195: YYDEBUG(1195, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1016; if (yych <= '9') goto yy1015; goto yy1016; yy1196: YYDEBUG(1196, *YYCURSOR); yych = *++YYCURSOR; if (yych != 'T') goto yy54; YYDEBUG(1197, *YYCURSOR); yych = *++YYCURSOR; if (yych == '+') goto yy1190; if (yych == '-') goto yy1190; goto yy54; yy1198: YYDEBUG(1198, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'C') goto yy1199; if (yych != 'c') goto yy54; yy1199: YYDEBUG(1199, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'E') goto yy1053; if (yych == 'e') goto yy1053; goto yy967; } yy1200: YYDEBUG(1200, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'V') goto yy1201; if (yych != 'v') goto yy54; yy1201: YYDEBUG(1201, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'E') goto yy1060; if (yych == 'e') goto yy1060; goto yy967; } yy1202: YYDEBUG(1202, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1203; if (yych != 't') goto yy54; yy1203: YYDEBUG(1203, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'O') goto yy1066; if (yych == 'o') goto yy1066; goto yy967; } yy1204: YYDEBUG(1204, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'P') goto yy1205; if (yych != 'p') goto yy54; yy1205: YYDEBUG(1205, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'T') goto yy1206; if (yych != 't') goto yy967; } yy1206: YYDEBUG(1206, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'E') goto yy1072; if (yych == 'e') goto yy1072; goto yy967; } yy1207: YYDEBUG(1207, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'G') goto yy1210; if (yych == 'g') goto yy1210; goto yy54; yy1208: YYDEBUG(1208, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy1209; if (yych != 'r') goto yy54; yy1209: YYDEBUG(1209, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'I') goto yy1079; if (yych == 'i') goto yy1079; goto yy967; } yy1210: YYDEBUG(1210, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'U') goto yy1081; if (yych == 'u') goto yy1081; goto yy967; } yy1211: YYDEBUG(1211, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych == 'R') goto yy1212; if (yych <= 'X') goto yy54; goto yy1213; } else { if (yych <= 'r') { if (yych <= 'q') goto yy54; } else { if (yych == 'y') goto yy1213; goto yy54; } } yy1212: YYDEBUG(1212, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'C') goto yy1085; if (yych == 'c') goto yy1085; goto yy967; } yy1213: YYDEBUG(1213, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych == '-') goto yy940; goto yy967; yy1214: YYDEBUG(1214, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'B') goto yy1215; if (yych != 'b') goto yy54; yy1215: YYDEBUG(1215, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'R') goto yy1088; if (yych == 'r') goto yy1088; goto yy967; } yy1216: YYDEBUG(1216, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych == 'L') goto yy1220; if (yych <= 'M') goto yy54; goto yy1219; } else { if (yych <= 'l') { if (yych <= 'k') goto yy54; goto yy1220; } else { if (yych == 'n') goto yy1219; goto yy54; } } yy1217: YYDEBUG(1217, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'N') goto yy1218; if (yych != 'n') goto yy54; yy1218: YYDEBUG(1218, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'U') goto yy1095; if (yych == 'u') goto yy1095; goto yy967; } yy1219: YYDEBUG(1219, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'E') goto yy1057; if (yych == 'e') goto yy1057; goto yy967; } yy1220: YYDEBUG(1220, *YYCURSOR); yyaccept = 22; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych == '-') goto yy940; goto yy967; } else { if (yych <= 'Y') goto yy1057; if (yych == 'y') goto yy1057; goto yy967; } yy1221: YYDEBUG(1221, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych <= '\t') { if (yych <= 0x08) goto yy758; goto yy910; } else { if (yych <= ',') goto yy758; if (yych <= '.') goto yy910; goto yy909; } } else { if (yych <= 'U') { if (yych <= 'T') goto yy758; goto yy75; } else { if (yych == 'u') goto yy75; goto yy758; } } yy1222: YYDEBUG(1222, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'P') { if (yych == 'C') goto yy126; if (yych <= 'O') goto yy54; goto yy766; } else { if (yych <= 'c') { if (yych <= 'b') goto yy54; goto yy126; } else { if (yych == 'p') goto yy766; goto yy54; } } yy1223: YYDEBUG(1223, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= ',') { if (yych == '\t') goto yy1225; goto yy1227; } else { if (yych <= '-') goto yy1224; if (yych <= '.') goto yy910; if (yych <= '/') goto yy909; goto yy914; } } else { if (yych <= 'q') { if (yych == 'n') goto yy650; goto yy1227; } else { if (yych <= 'r') goto yy651; if (yych <= 's') goto yy644; if (yych <= 't') goto yy648; goto yy1227; } } yy1224: YYDEBUG(1224, *YYCURSOR); yych = *++YYCURSOR; YYDEBUG(-1, yych); switch (yych) { case '0': goto yy1228; case '1': goto yy1229; case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy797; case 'A': case 'a': goto yy801; case 'D': case 'd': goto yy805; case 'F': case 'f': goto yy799; case 'J': case 'j': goto yy798; case 'M': case 'm': goto yy800; case 'N': case 'n': goto yy804; case 'O': case 'o': goto yy803; case 'S': case 's': goto yy802; default: goto yy758; } yy1225: YYDEBUG(1225, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy1227; if (yych <= '0') goto yy911; if (yych <= '1') goto yy912; if (yych <= '9') goto yy913; goto yy1227; yy1226: YYDEBUG(1226, *YYCURSOR); ++YYCURSOR; if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13); yych = *YYCURSOR; yy1227: YYDEBUG(1227, *YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': goto yy1226; case '-': case '.': goto yy757; case 'A': case 'a': goto yy754; case 'D': case 'd': goto yy646; case 'F': case 'f': goto yy647; case 'H': case 'h': goto yy61; case 'I': goto yy655; case 'J': case 'j': goto yy659; case 'M': case 'm': goto yy645; case 'N': case 'n': goto yy662; case 'O': case 'o': goto yy661; case 'S': case 's': goto yy643; case 'T': case 't': goto yy66; case 'V': goto yy657; case 'W': case 'w': goto yy65; case 'X': goto yy658; case 'Y': case 'y': goto yy64; default: goto yy54; } yy1228: YYDEBUG(1228, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy54; if (yych <= '-') goto yy834; goto yy781; } else { if (yych <= '/') goto yy54; if (yych <= '9') goto yy1230; goto yy54; } yy1229: YYDEBUG(1229, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '.') { if (yych <= ',') goto yy54; if (yych <= '-') goto yy834; goto yy781; } else { if (yych <= '/') goto yy54; if (yych >= '3') goto yy54; } yy1230: YYDEBUG(1230, *YYCURSOR); yych = *++YYCURSOR; if (yych <= ',') goto yy54; if (yych <= '-') goto yy1231; if (yych <= '.') goto yy781; goto yy54; yy1231: YYDEBUG(1231, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '2') { if (yych <= '/') goto yy54; if (yych >= '1') goto yy1233; } else { if (yych <= '3') goto yy1234; if (yych <= '9') goto yy838; goto yy54; } YYDEBUG(1232, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy1235; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy1233: YYDEBUG(1233, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy836; if (yych <= '9') goto yy1235; if (yych <= 'm') goto yy836; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy1234: YYDEBUG(1234, *YYCURSOR); yyaccept = 15; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '1') { if (yych <= '/') goto yy836; } else { if (yych <= '9') goto yy786; if (yych <= 'm') goto yy836; goto yy840; } } else { if (yych <= 'r') { if (yych <= 'q') goto yy836; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy836; } } yy1235: YYDEBUG(1235, *YYCURSOR); yyaccept = 17; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'n') { if (yych <= '/') goto yy937; if (yych <= '9') goto yy788; if (yych <= 'm') goto yy937; goto yy840; } else { if (yych <= 'r') { if (yych <= 'q') goto yy937; goto yy841; } else { if (yych <= 's') goto yy839; if (yych <= 't') goto yy842; goto yy937; } } yy1236: YYDEBUG(1236, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy1225; if (yych <= ',') goto yy1227; goto yy1224; } else { if (yych <= '.') goto yy1237; if (yych <= '/') goto yy909; if (yych <= '5') goto yy1239; goto yy914; } } else { if (yych <= 'q') { if (yych <= ':') goto yy1238; if (yych == 'n') goto yy650; goto yy1227; } else { if (yych <= 'r') goto yy651; if (yych <= 's') goto yy644; if (yych <= 't') goto yy648; goto yy1227; } } yy1237: YYDEBUG(1237, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '1') { if (yych <= '/') goto yy758; if (yych <= '0') goto yy1261; goto yy1262; } else { if (yych <= '5') goto yy1263; if (yych <= '9') goto yy1264; goto yy758; } yy1238: YYDEBUG(1238, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1256; if (yych <= '9') goto yy1257; goto yy54; yy1239: YYDEBUG(1239, *YYCURSOR); yych = *++YYCURSOR; if (yych == '-') goto yy958; if (yych <= '/') goto yy58; if (yych >= ':') goto yy58; YYDEBUG(1240, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); YYDEBUG(-1, yych); switch (yych) { case '\t': case ' ': case 'A': case 'D': case 'F': case 'H': case 'I': case 'J': case 'M': case 'N': case 'O': case 'S': case 'T': case 'V': case 'X': case 'Y': case 'a': case 'd': case 'f': case 'h': case 'j': case 'm': case 'n': case 'o': case 's': case 't': case 'w': case 'y': goto yy964; case '-': goto yy961; case '.': goto yy965; case '/': goto yy962; case '0': goto yy1242; case '1': goto yy1243; case '2': goto yy1244; case '3': goto yy1245; case '4': case '5': goto yy1246; case '6': goto yy1247; case '7': case '8': case '9': goto yy52; case ':': goto yy980; case 'W': goto yy983; default: goto yy1241; } yy1241: YYDEBUG(1241, *YYCURSOR); #line 1124 "parse_date_1_78.db.re" { DEBUG_OUTPUT("gnunocolon"); TIMELIB_INIT; switch (s->time->have_time) { case 0: s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = 0; break; case 1: s->time->y = timelib_get_nr((char **) &ptr, 4); break; default: TIMELIB_DEINIT; add_error(s, "Double time specification"); return TIMELIB_ERROR; } s->time->have_time++; TIMELIB_DEINIT; return TIMELIB_GNU_NOCOLON; } #line 18162 "" yy1242: YYDEBUG(1242, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '0') goto yy1254; if (yych <= '9') goto yy1255; goto yy58; yy1243: YYDEBUG(1243, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '2') goto yy1253; if (yych <= '9') goto yy1252; goto yy58; yy1244: YYDEBUG(1244, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy1252; goto yy58; yy1245: YYDEBUG(1245, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '5') goto yy1250; if (yych <= '6') goto yy1251; if (yych <= '9') goto yy1248; goto yy58; yy1246: YYDEBUG(1246, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '9') goto yy1248; goto yy58; yy1247: YYDEBUG(1247, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy58; if (yych <= '0') goto yy1248; if (yych <= '9') goto yy52; goto yy58; yy1248: YYDEBUG(1248, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yybm[0+yych] & 4) { goto yy52; } if (yych <= 'W') { if (yych <= 'F') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych >= ' ') goto yy58; } else { if (yych == 'D') goto yy58; if (yych >= 'F') goto yy58; } } else { if (yych <= 'M') { if (yych == 'H') goto yy58; if (yych >= 'M') goto yy58; } else { if (yych <= 'R') goto yy1249; if (yych <= 'T') goto yy58; if (yych >= 'W') goto yy58; } } } else { if (yych <= 'h') { if (yych <= 'd') { if (yych == 'Y') goto yy58; if (yych >= 'd') goto yy58; } else { if (yych == 'f') goto yy58; if (yych >= 'h') goto yy58; } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych >= 's') goto yy58; } else { if (yych <= 'w') { if (yych >= 'w') goto yy58; } else { if (yych == 'y') goto yy58; } } } } yy1249: YYDEBUG(1249, *YYCURSOR); #line 1170 "parse_date_1_78.db.re" { int tz_not_found; DEBUG_OUTPUT("iso8601nocolon"); TIMELIB_INIT; TIMELIB_HAVE_TIME(); s->time->h = timelib_get_nr((char **) &ptr, 2); s->time->i = timelib_get_nr((char **) &ptr, 2); s->time->s = timelib_get_nr((char **) &ptr, 2); if (*ptr != '\0') { s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_error(s, "The timezone could not be found in the database"); } } TIMELIB_DEINIT; return TIMELIB_ISO_NOCOLON; } #line 18273 "" yy1250: YYDEBUG(1250, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '/') goto yy1249; if (yych <= '9') goto yy994; if (yych <= 'C') goto yy1249; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy1249; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1249; goto yy58; } else { if (yych <= 'R') goto yy1249; if (yych <= 'T') goto yy58; goto yy1249; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1249; if (yych <= 'Y') goto yy58; goto yy1249; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy1249; } else { if (yych == 'g') goto yy1249; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1251: YYDEBUG(1251, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '6') { if (yych <= '/') goto yy1249; goto yy994; } else { if (yych <= '9') goto yy52; if (yych <= 'C') goto yy1249; goto yy58; } } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy1249; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1249; goto yy58; } else { if (yych <= 'R') goto yy1249; if (yych <= 'T') goto yy58; goto yy1249; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1249; if (yych <= 'Y') goto yy58; goto yy1249; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy1249; } else { if (yych == 'g') goto yy1249; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1252: YYDEBUG(1252, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'V') { if (yych <= 'D') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '/') goto yy1249; if (yych <= '9') goto yy994; if (yych <= 'C') goto yy1249; goto yy58; } } else { if (yych <= 'H') { if (yych == 'F') goto yy58; if (yych <= 'G') goto yy1249; goto yy58; } else { if (yych <= 'M') { if (yych <= 'L') goto yy1249; goto yy58; } else { if (yych <= 'R') goto yy1249; if (yych <= 'T') goto yy58; goto yy1249; } } } } else { if (yych <= 'h') { if (yych <= 'c') { if (yych == 'X') goto yy1249; if (yych <= 'Y') goto yy58; goto yy1249; } else { if (yych <= 'e') { if (yych <= 'd') goto yy58; goto yy1249; } else { if (yych == 'g') goto yy1249; goto yy58; } } } else { if (yych <= 't') { if (yych == 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1253: YYDEBUG(1253, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '0') { if (yych <= '/') goto yy1249; goto yy1018; } else { if (yych <= '2') goto yy1019; if (yych <= '3') goto yy1020; goto yy994; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy1249; goto yy58; } else { if (yych == 'F') goto yy58; goto yy1249; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy1249; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy1249; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy1249; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy1249; goto yy58; } else { if (yych == 'f') goto yy58; goto yy1249; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy1249; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1254: YYDEBUG(1254, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '0') { if (yych <= '/') goto yy1249; goto yy1050; } else { if (yych <= '2') goto yy1019; if (yych <= '3') goto yy1020; goto yy994; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy1249; goto yy58; } else { if (yych == 'F') goto yy58; goto yy1249; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy1249; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy1249; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy1249; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy1249; goto yy58; } else { if (yych == 'f') goto yy58; goto yy1249; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy1249; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1255: YYDEBUG(1255, *YYCURSOR); yyaccept = 27; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '9') { if (yych <= ' ') { if (yych == '\t') goto yy58; if (yych <= 0x1F) goto yy1249; goto yy58; } else { if (yych <= '0') { if (yych <= '/') goto yy1249; goto yy1018; } else { if (yych <= '2') goto yy1019; if (yych <= '3') goto yy1020; goto yy994; } } } else { if (yych <= 'G') { if (yych <= 'D') { if (yych <= 'C') goto yy1249; goto yy58; } else { if (yych == 'F') goto yy58; goto yy1249; } } else { if (yych <= 'L') { if (yych <= 'H') goto yy58; goto yy1249; } else { if (yych <= 'M') goto yy58; if (yych <= 'R') goto yy1249; goto yy58; } } } } else { if (yych <= 'g') { if (yych <= 'Y') { if (yych == 'W') goto yy58; if (yych <= 'X') goto yy1249; goto yy58; } else { if (yych <= 'd') { if (yych <= 'c') goto yy1249; goto yy58; } else { if (yych == 'f') goto yy58; goto yy1249; } } } else { if (yych <= 't') { if (yych <= 'l') { if (yych <= 'h') goto yy58; goto yy1249; } else { if (yych <= 'm') goto yy58; if (yych <= 'r') goto yy1249; goto yy58; } } else { if (yych <= 'w') { if (yych <= 'v') goto yy1249; goto yy58; } else { if (yych == 'y') goto yy58; goto yy1249; } } } } yy1256: YYDEBUG(1256, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy1258; goto yy671; } else { if (yych <= '9') goto yy1257; if (yych <= ':') goto yy1258; goto yy671; } yy1257: YYDEBUG(1257, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy1258; if (yych != ':') goto yy671; yy1258: YYDEBUG(1258, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1259; if (yych <= '6') goto yy1260; if (yych <= '9') goto yy676; goto yy54; yy1259: YYDEBUG(1259, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy676; goto yy671; yy1260: YYDEBUG(1260, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych == '0') goto yy676; goto yy671; yy1261: YYDEBUG(1261, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; goto yy1265; } else { if (yych <= '/') goto yy671; if (yych <= '9') goto yy1264; if (yych <= ':') goto yy1258; goto yy671; } yy1262: YYDEBUG(1262, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; if (yych <= '.') goto yy1265; goto yy671; } else { if (yych <= '2') goto yy1264; if (yych <= '9') goto yy1257; if (yych <= ':') goto yy1258; goto yy671; } yy1263: YYDEBUG(1263, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; goto yy1265; } else { if (yych <= '/') goto yy671; if (yych <= '9') goto yy1257; if (yych <= ':') goto yy1258; goto yy671; } yy1264: YYDEBUG(1264, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ',') goto yy671; if (yych <= '-') goto yy781; } else { if (yych == ':') goto yy1258; goto yy671; } yy1265: YYDEBUG(1265, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '5') goto yy1266; if (yych <= '6') goto yy1267; if (yych <= '9') goto yy785; goto yy54; yy1266: YYDEBUG(1266, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy1268; goto yy671; yy1267: YYDEBUG(1267, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych == '.') goto yy677; goto yy671; } else { if (yych <= '0') goto yy1268; if (yych <= '9') goto yy786; goto yy671; } yy1268: YYDEBUG(1268, *YYCURSOR); yyaccept = 13; yych = *(YYMARKER = ++YYCURSOR); if (yych == '.') goto yy677; if (yych <= '/') goto yy671; if (yych <= '9') goto yy788; goto yy671; yy1269: YYDEBUG(1269, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy640; if (yych <= ',') goto yy642; goto yy1224; } else { if (yych <= '.') goto yy654; if (yych <= '/') goto yy652; if (yych <= '5') goto yy1239; goto yy914; } } else { if (yych <= 'q') { if (yych <= ':') goto yy663; if (yych == 'n') goto yy650; goto yy642; } else { if (yych <= 'r') goto yy651; if (yych <= 's') goto yy644; if (yych <= 't') goto yy648; goto yy642; } } yy1270: YYDEBUG(1270, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '9') { if (yych <= '-') { if (yych == '\t') goto yy1225; if (yych <= ',') goto yy1227; goto yy1224; } else { if (yych <= '.') goto yy1237; if (yych <= '/') goto yy652; if (yych <= '5') goto yy1239; goto yy914; } } else { if (yych <= 'q') { if (yych <= ':') goto yy1238; if (yych == 'n') goto yy650; goto yy1227; } else { if (yych <= 'r') goto yy651; if (yych <= 's') goto yy644; if (yych <= 't') goto yy648; goto yy1227; } } yy1271: YYDEBUG(1271, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy139; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 's') goto yy1272; if (yych <= 'z') goto yy139; goto yy3; } } yy1272: YYDEBUG(1272, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1273; if (yych <= 'z') goto yy140; goto yy3; } } yy1273: YYDEBUG(1273, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy272; } else { if (yych != ' ') goto yy3; } } else { if (yych <= 'Z') { if (yych <= ')') goto yy137; if (yych <= '@') goto yy3; goto yy141; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy141; goto yy3; } } yy1274: YYDEBUG(1274, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1275; if (yych != 'd') goto yy273; yy1275: YYDEBUG(1275, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1276; if (yych != 'a') goto yy54; yy1276: YYDEBUG(1276, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1277; if (yych != 'y') goto yy54; yy1277: YYDEBUG(1277, *YYCURSOR); yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych == ' ') goto yy1279; } else { if (yych <= 'S') goto yy188; if (yych == 's') goto yy188; } yy1278: YYDEBUG(1278, *YYCURSOR); #line 1044 "parse_date_1_78.db.re" { DEBUG_OUTPUT("firstdayof | lastdayof"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); // skip "last day of" or "first day of" if (*ptr == 'l') { s->time->relative.first_last_day_of = 2; } else { s->time->relative.first_last_day_of = 1; } TIMELIB_DEINIT; return TIMELIB_LF_DAY_OF_MONTH; } #line 18987 "" yy1279: YYDEBUG(1279, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1280; if (yych != 'o') goto yy54; yy1280: YYDEBUG(1280, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy1281; if (yych != 'f') goto yy54; yy1281: YYDEBUG(1281, *YYCURSOR); yych = *++YYCURSOR; goto yy1278; yy1282: YYDEBUG(1282, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy139; goto yy1272; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy1283; if (yych <= 'z') goto yy144; goto yy3; } } yy1283: YYDEBUG(1283, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1273; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1284; if (yych <= 'z') goto yy149; goto yy3; } } yy1284: YYDEBUG(1284, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy272; goto yy3; } else { if (yych <= ' ') goto yy1274; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '^') { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy150; goto yy3; } } yy1285: YYDEBUG(1285, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy139; goto yy1306; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'b') goto yy1306; if (yych <= 'z') goto yy139; goto yy3; } } yy1286: YYDEBUG(1286, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'F') goto yy1296; if (yych <= 'Q') goto yy139; goto yy1295; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'e') goto yy139; goto yy1296; } else { if (yych == 'r') goto yy1295; if (yych <= 'z') goto yy139; goto yy3; } } yy1287: YYDEBUG(1287, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy139; goto yy1292; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'u') goto yy1292; if (yych <= 'z') goto yy139; goto yy3; } } yy1288: YYDEBUG(1288, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy139; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'i') goto yy1289; if (yych <= 'z') goto yy139; goto yy3; } } yy1289: YYDEBUG(1289, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 'd') goto yy1290; if (yych <= 'z') goto yy140; goto yy288; } } yy1290: YYDEBUG(1290, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= 'a') goto yy1291; if (yych <= 'z') goto yy141; goto yy3; } } yy1291: YYDEBUG(1291, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; goto yy518; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'y') goto yy518; if (yych <= 'z') goto yy142; goto yy3; } } yy1292: YYDEBUG(1292, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy140; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'r') goto yy1293; if (yych <= 'z') goto yy140; goto yy3; } } yy1293: YYDEBUG(1293, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 't') goto yy1294; if (yych <= 'z') goto yy141; goto yy3; } } yy1294: YYDEBUG(1294, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy142; goto yy534; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'h') goto yy534; if (yych <= 'z') goto yy142; goto yy3; } } yy1295: YYDEBUG(1295, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy140; goto yy1298; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 's') goto yy1298; if (yych <= 'z') goto yy140; goto yy3; } } yy1296: YYDEBUG(1296, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1297; if (yych <= 'z') goto yy140; goto yy3; } } yy1297: YYDEBUG(1297, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'h') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy1298: YYDEBUG(1298, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 't') goto yy1299; if (yych <= 'z') goto yy141; goto yy3; } } yy1299: YYDEBUG(1299, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy171; } else { if (yych != ' ') goto yy3; } } else { if (yych <= 'Z') { if (yych <= ')') goto yy137; if (yych <= '@') goto yy3; goto yy142; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy142; goto yy3; } } yy1300: YYDEBUG(1300, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'D') goto yy1301; if (yych != 'd') goto yy172; yy1301: YYDEBUG(1301, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1302; if (yych != 'a') goto yy54; yy1302: YYDEBUG(1302, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1303; if (yych != 'y') goto yy54; yy1303: YYDEBUG(1303, *YYCURSOR); yyaccept = 28; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych != ' ') goto yy1278; } else { if (yych <= 'S') goto yy188; if (yych == 's') goto yy188; goto yy1278; } YYDEBUG(1304, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'O') goto yy1305; if (yych != 'o') goto yy54; yy1305: YYDEBUG(1305, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'F') goto yy1281; if (yych == 'f') goto yy1281; goto yy54; yy1306: YYDEBUG(1306, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'R') goto yy140; } } else { if (yych <= 'q') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'r') goto yy1307; if (yych <= 'z') goto yy140; goto yy315; } } } yy1307: YYDEBUG(1307, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'T') goto yy141; } } else { if (yych <= 't') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'u') goto yy1308; if (yych <= 'z') goto yy141; goto yy3; } } yy1308: YYDEBUG(1308, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; goto yy3; } else { if (yych <= 'a') goto yy1309; if (yych <= 'z') goto yy142; goto yy3; } } yy1309: YYDEBUG(1309, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Q') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'R') goto yy1310; if (yych != 'r') goto yy3; } yy1310: YYDEBUG(1310, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy327; if (yych == 'y') goto yy327; goto yy54; yy1311: YYDEBUG(1311, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy139; goto yy1306; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'b') goto yy1326; if (yych <= 'z') goto yy144; goto yy3; } } yy1312: YYDEBUG(1312, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= 'E') { if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'F') goto yy1296; if (yych <= 'Q') goto yy139; goto yy1295; } } } else { if (yych <= 'e') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 'q') { if (yych <= 'f') goto yy1322; goto yy144; } else { if (yych <= 'r') goto yy1321; if (yych <= 'z') goto yy144; goto yy3; } } } yy1313: YYDEBUG(1313, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy139; goto yy1292; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'u') goto yy1318; if (yych <= 'z') goto yy144; goto yy3; } } yy1314: YYDEBUG(1314, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy139; goto yy1289; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'i') goto yy1315; if (yych <= 'z') goto yy144; goto yy3; } } yy1315: YYDEBUG(1315, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; goto yy1290; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'd') goto yy1316; if (yych <= 'z') goto yy149; goto yy288; } } yy1316: YYDEBUG(1316, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1291; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1317; if (yych <= 'z') goto yy150; goto yy3; } } yy1317: YYDEBUG(1317, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; goto yy518; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy547; if (yych <= 'z') goto yy151; goto yy3; } } yy1318: YYDEBUG(1318, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy140; goto yy1293; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy1319; if (yych <= 'z') goto yy149; goto yy3; } } yy1319: YYDEBUG(1319, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; goto yy1294; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1320; if (yych <= 'z') goto yy150; goto yy3; } } yy1320: YYDEBUG(1320, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy142; goto yy534; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy563; if (yych <= 'z') goto yy151; goto yy3; } } yy1321: YYDEBUG(1321, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy140; goto yy1298; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy1324; if (yych <= 'z') goto yy149; goto yy3; } } yy1322: YYDEBUG(1322, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1297; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1323; if (yych <= 'z') goto yy149; goto yy3; } } yy1323: YYDEBUG(1323, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy1324: YYDEBUG(1324, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy141; goto yy1299; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1325; if (yych <= 'z') goto yy150; goto yy3; } } yy1325: YYDEBUG(1325, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy171; goto yy3; } else { if (yych <= ' ') goto yy1300; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '^') { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy142; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy151; goto yy3; } } yy1326: YYDEBUG(1326, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'Q') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'R') goto yy1307; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'q') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'r') goto yy1327; if (yych <= 'z') goto yy149; goto yy315; } } } yy1327: YYDEBUG(1327, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'T') goto yy141; goto yy1308; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'u') goto yy1328; if (yych <= 'z') goto yy150; goto yy3; } } yy1328: YYDEBUG(1328, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1309; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1329; if (yych <= 'z') goto yy151; goto yy3; } } yy1329: YYDEBUG(1329, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'Q') goto yy3; goto yy1310; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy1330; if (yych <= 'z') goto yy152; goto yy3; } } yy1330: YYDEBUG(1330, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy327; if (yych == 'y') goto yy500; goto yy153; yy1331: YYDEBUG(1331, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; yy1332: YYDEBUG(1332, *YYCURSOR); ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; YYDEBUG(1333, *YYCURSOR); if (yych <= '/') goto yy1334; if (yych <= '9') goto yy1332; yy1334: YYDEBUG(1334, *YYCURSOR); #line 1019 "parse_date_1_78.db.re" { timelib_ull i; TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_DATE(); TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TZ(); i = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += i; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 20097 "" yy1335: YYDEBUG(1335, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy1376; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'n') goto yy1376; if (yych <= 'z') goto yy139; goto yy3; } } yy1336: YYDEBUG(1336, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'U') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'I') goto yy1369; if (yych <= 'T') goto yy139; goto yy1368; } } else { if (yych <= 'i') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'h') goto yy139; goto yy1369; } else { if (yych == 'u') goto yy1368; if (yych <= 'z') goto yy139; goto yy3; } } yy1337: YYDEBUG(1337, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'D') goto yy1357; if (yych <= 'L') goto yy139; goto yy1358; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'c') goto yy139; goto yy1357; } else { if (yych == 'm') goto yy1358; if (yych <= 'z') goto yy139; goto yy3; } } yy1338: YYDEBUG(1338, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy1353; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'e') goto yy1353; if (yych <= 'z') goto yy139; goto yy3; } } yy1339: YYDEBUG(1339, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy1349; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'e') goto yy1349; if (yych <= 'z') goto yy139; goto yy3; } } yy1340: YYDEBUG(1340, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1238; goto yy54; } else { if (yych <= '9') goto yy1343; if (yych <= ':') goto yy1238; goto yy54; } yy1341: YYDEBUG(1341, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1238; goto yy54; } else { if (yych <= '4') goto yy1343; if (yych == ':') goto yy1238; goto yy54; } yy1342: YYDEBUG(1342, *YYCURSOR); yych = *++YYCURSOR; if (yych == '.') goto yy1238; if (yych == ':') goto yy1238; goto yy54; yy1343: YYDEBUG(1343, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') { if (yych == '.') goto yy1238; goto yy54; } else { if (yych <= '5') goto yy1344; if (yych == ':') goto yy1238; goto yy54; } yy1344: YYDEBUG(1344, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych >= ':') goto yy54; YYDEBUG(1345, *YYCURSOR); yyaccept = 26; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') goto yy1241; if (yych <= '5') goto yy1346; if (yych <= '6') goto yy1347; goto yy1241; yy1346: YYDEBUG(1346, *YYCURSOR); yych = *++YYCURSOR; if (yych <= '/') goto yy54; if (yych <= '9') goto yy1348; goto yy54; yy1347: YYDEBUG(1347, *YYCURSOR); yych = *++YYCURSOR; if (yych != '0') goto yy54; yy1348: YYDEBUG(1348, *YYCURSOR); yych = *++YYCURSOR; goto yy1249; yy1349: YYDEBUG(1349, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'L') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'K') goto yy140; } } else { if (yych <= 'k') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'l') goto yy1350; if (yych <= 'z') goto yy140; goto yy3; } } yy1350: YYDEBUG(1350, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'F') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'E') goto yy141; } } else { if (yych <= 'e') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'f') goto yy1351; if (yych <= 'z') goto yy141; goto yy3; } } yy1351: YYDEBUG(1351, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 't') goto yy1352; if (yych <= 'z') goto yy142; goto yy3; } } yy1352: YYDEBUG(1352, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'H') goto yy170; if (yych == 'h') goto yy170; goto yy3; } yy1353: YYDEBUG(1353, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'R') goto yy140; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 's') goto yy1354; if (yych <= 'z') goto yy140; goto yy288; } } yy1354: YYDEBUG(1354, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'd') goto yy1355; if (yych <= 'z') goto yy141; goto yy3; } } yy1355: YYDEBUG(1355, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; goto yy3; } else { if (yych <= 'a') goto yy1356; if (yych <= 'z') goto yy142; goto yy3; } } yy1356: YYDEBUG(1356, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Y') goto yy294; if (yych == 'y') goto yy294; goto yy3; } yy1357: YYDEBUG(1357, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy1365; } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; goto yy3; } else { if (yych <= 'a') goto yy1365; if (yych <= 'z') goto yy140; goto yy3; } } yy1358: YYDEBUG(1358, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'O') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'N') goto yy140; } } else { if (yych <= 'n') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'o') goto yy1359; if (yych <= 'z') goto yy140; goto yy3; } } yy1359: YYDEBUG(1359, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy141; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'r') goto yy1360; if (yych <= 'z') goto yy141; goto yy3; } } yy1360: YYDEBUG(1360, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'r') goto yy1361; if (yych <= 'z') goto yy142; goto yy3; } } yy1361: YYDEBUG(1361, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'O') goto yy1362; if (yych != 'o') goto yy3; } yy1362: YYDEBUG(1362, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1363; if (yych != 'w') goto yy54; yy1363: YYDEBUG(1363, *YYCURSOR); ++YYCURSOR; yy1364: YYDEBUG(1364, *YYCURSOR); #line 1007 "parse_date_1_78.db.re" { DEBUG_OUTPUT("tomorrow"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = 1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 20544 "" yy1365: YYDEBUG(1365, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy141; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'y') goto yy1366; if (yych <= 'z') goto yy141; goto yy3; } } yy1366: YYDEBUG(1366, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy137; } else { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy1367; if (yych <= 'z') goto yy142; } yy1367: YYDEBUG(1367, *YYCURSOR); #line 997 "parse_date_1_78.db.re" { DEBUG_OUTPUT("midnight | today"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 20588 "" yy1368: YYDEBUG(1368, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'Q') goto yy140; goto yy1372; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 'r') goto yy1372; if (yych <= 'z') goto yy140; goto yy288; } } yy1369: YYDEBUG(1369, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'Q') goto yy140; if (yych >= 'S') goto yy1371; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'r') goto yy1370; if (yych <= 's') goto yy1371; if (yych <= 'z') goto yy140; goto yy3; } } yy1370: YYDEBUG(1370, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; goto yy253; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'd') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy1371: YYDEBUG(1371, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy3; goto yy272; } else { if (yych == ' ') goto yy272; goto yy3; } } else { if (yych <= 'Z') { if (yych <= ')') goto yy137; if (yych <= '@') goto yy3; goto yy141; } else { if (yych <= '`') goto yy3; if (yych <= 'z') goto yy141; goto yy3; } } yy1372: YYDEBUG(1372, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy141; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 's') goto yy1373; if (yych <= 'z') goto yy141; goto yy3; } } yy1373: YYDEBUG(1373, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'd') goto yy1374; if (yych <= 'z') goto yy142; goto yy3; } } yy1374: YYDEBUG(1374, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'A') goto yy1375; if (yych != 'a') goto yy3; } yy1375: YYDEBUG(1375, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy294; goto yy54; yy1376: YYDEBUG(1376, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1377; if (yych <= 'z') goto yy140; goto yy3; } } yy1377: YYDEBUG(1377, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'h') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy1378: YYDEBUG(1378, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy1376; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy1408; if (yych <= 'z') goto yy144; goto yy3; } } yy1379: YYDEBUG(1379, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'U') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= 'H') { if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'I') goto yy1369; if (yych <= 'T') goto yy139; goto yy1368; } } } else { if (yych <= 'h') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 't') { if (yych <= 'i') goto yy1401; goto yy144; } else { if (yych <= 'u') goto yy1400; if (yych <= 'z') goto yy144; goto yy3; } } } yy1380: YYDEBUG(1380, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= 'C') { if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'D') goto yy1357; if (yych <= 'L') goto yy139; goto yy1358; } } } else { if (yych <= 'c') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 'l') { if (yych <= 'd') goto yy1391; goto yy144; } else { if (yych <= 'm') goto yy1392; if (yych <= 'z') goto yy144; goto yy3; } } } yy1381: YYDEBUG(1381, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy1353; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy1387; if (yych <= 'z') goto yy144; goto yy3; } } yy1382: YYDEBUG(1382, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy139; goto yy1349; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy1383; if (yych <= 'z') goto yy144; goto yy3; } } yy1383: YYDEBUG(1383, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'L') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'K') goto yy140; goto yy1350; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'l') goto yy1384; if (yych <= 'z') goto yy149; goto yy3; } } yy1384: YYDEBUG(1384, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'F') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'E') goto yy141; goto yy1351; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'f') goto yy1385; if (yych <= 'z') goto yy150; goto yy3; } } yy1385: YYDEBUG(1385, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy142; goto yy1352; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1386; if (yych <= 'z') goto yy151; goto yy3; } } yy1386: YYDEBUG(1386, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'G') goto yy3; goto yy170; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy261; if (yych <= 'z') goto yy152; goto yy3; } } yy1387: YYDEBUG(1387, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'R') goto yy140; goto yy1354; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 's') goto yy1388; if (yych <= 'z') goto yy149; goto yy288; } } yy1388: YYDEBUG(1388, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; goto yy1355; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy1389; if (yych <= 'z') goto yy150; goto yy3; } } yy1389: YYDEBUG(1389, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1356; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1390; if (yych <= 'z') goto yy151; goto yy3; } } yy1390: YYDEBUG(1390, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'X') goto yy3; goto yy294; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy307; if (yych <= 'z') goto yy152; goto yy3; } } yy1391: YYDEBUG(1391, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1365; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy140; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1398; if (yych <= 'z') goto yy149; goto yy3; } } yy1392: YYDEBUG(1392, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'N') goto yy140; goto yy1359; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'o') goto yy1393; if (yych <= 'z') goto yy149; goto yy3; } } yy1393: YYDEBUG(1393, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy141; goto yy1360; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy1394; if (yych <= 'z') goto yy150; goto yy3; } } yy1394: YYDEBUG(1394, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; goto yy1361; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy1395; if (yych <= 'z') goto yy151; goto yy3; } } yy1395: YYDEBUG(1395, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'O') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'N') goto yy3; goto yy1362; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'o') goto yy1396; if (yych <= 'z') goto yy152; goto yy3; } } yy1396: YYDEBUG(1396, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'W') goto yy1363; if (yych != 'w') goto yy153; YYDEBUG(1397, *YYCURSOR); yyaccept = 29; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy145; goto yy1364; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy1364; if (yych <= 'z') goto yy152; goto yy1364; } yy1398: YYDEBUG(1398, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy141; goto yy1366; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy1399; if (yych <= 'z') goto yy150; goto yy3; } } yy1399: YYDEBUG(1399, *YYCURSOR); yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1367; goto yy137; } else { if (yych == '/') goto yy145; goto yy1367; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy142; if (yych <= '^') goto yy1367; goto yy145; } else { if (yych <= '`') goto yy1367; if (yych <= 'z') goto yy151; goto yy1367; } } yy1400: YYDEBUG(1400, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'Q') goto yy140; goto yy1372; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'r') goto yy1404; if (yych <= 'z') goto yy149; goto yy288; } } yy1401: YYDEBUG(1401, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy140; if (yych <= 'R') goto yy1370; goto yy1371; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych <= 'r') { if (yych <= 'q') goto yy149; } else { if (yych <= 's') goto yy1403; if (yych <= 'z') goto yy149; goto yy3; } } } YYDEBUG(1402, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy1403: YYDEBUG(1403, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= 0x1F) { if (yych == '\t') goto yy272; goto yy3; } else { if (yych <= ' ') goto yy272; if (yych == ')') goto yy137; goto yy3; } } else { if (yych <= '^') { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; if (yych <= 'z') goto yy150; goto yy3; } } yy1404: YYDEBUG(1404, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy141; goto yy1373; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy1405; if (yych <= 'z') goto yy150; goto yy3; } } yy1405: YYDEBUG(1405, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy142; goto yy1374; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy1406; if (yych <= 'z') goto yy151; goto yy3; } } yy1406: YYDEBUG(1406, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1375; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych <= 'a') goto yy1407; if (yych <= 'z') goto yy152; goto yy3; } } yy1407: YYDEBUG(1407, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy294; if (yych == 'y') goto yy307; goto yy153; yy1408: YYDEBUG(1408, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1377; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1409; if (yych <= 'z') goto yy149; goto yy3; } } yy1409: YYDEBUG(1409, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy1410: YYDEBUG(1410, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= '@') { if (yych == ')') goto yy137; goto yy3; } else { if (yych == 'R') goto yy1422; if (yych <= 'X') goto yy139; goto yy1423; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'q') goto yy139; goto yy1422; } else { if (yych == 'y') goto yy1423; if (yych <= 'z') goto yy139; goto yy3; } } yy1411: YYDEBUG(1411, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'C') goto yy139; goto yy1416; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'd') goto yy1416; if (yych <= 'z') goto yy139; goto yy3; } } yy1412: YYDEBUG(1412, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'n') goto yy1413; if (yych <= 'z') goto yy139; goto yy3; } } yy1413: YYDEBUG(1413, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= ')') { if (yych <= '(') goto yy288; goto yy137; } else { if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; } } else { if (yych <= 'c') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy288; goto yy140; } else { if (yych <= 'd') goto yy1414; if (yych <= 'z') goto yy140; goto yy288; } } yy1414: YYDEBUG(1414, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'A') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; goto yy3; } else { if (yych <= 'a') goto yy1415; if (yych <= 'z') goto yy141; goto yy3; } } yy1415: YYDEBUG(1415, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'Y') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; goto yy518; } } else { if (yych <= 'x') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'y') goto yy518; if (yych <= 'z') goto yy142; goto yy3; } } yy1416: YYDEBUG(1416, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy140; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'n') goto yy1417; if (yych <= 'z') goto yy140; goto yy3; } } yy1417: YYDEBUG(1417, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'I') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'H') goto yy141; } } else { if (yych <= 'h') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'i') goto yy1418; if (yych <= 'z') goto yy141; goto yy3; } } yy1418: YYDEBUG(1418, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'G') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'F') goto yy142; } } else { if (yych <= 'f') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'g') goto yy1419; if (yych <= 'z') goto yy142; goto yy3; } } yy1419: YYDEBUG(1419, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'H') goto yy1420; if (yych != 'h') goto yy3; } yy1420: YYDEBUG(1420, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1421; if (yych != 't') goto yy54; yy1421: YYDEBUG(1421, *YYCURSOR); yych = *++YYCURSOR; goto yy1367; yy1422: YYDEBUG(1422, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych == 'C') goto yy1424; goto yy140; } } else { if (yych <= 'b') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'c') goto yy1424; if (yych <= 'z') goto yy140; goto yy315; } } } yy1423: YYDEBUG(1423, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '-') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy315; goto yy317; } else { if (yych == ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } } else { if (yych <= '@') { if (yych == '/') goto yy315; if (yych <= '9') goto yy317; goto yy315; } else { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy315; if (yych <= 'z') goto yy140; goto yy315; } } yy1424: YYDEBUG(1424, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy576; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'h') goto yy576; if (yych <= 'z') goto yy141; goto yy3; } } yy1425: YYDEBUG(1425, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '/') { if (yych == ')') goto yy137; if (yych <= '.') goto yy3; goto yy145; } else { if (yych <= 'Q') { if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'R') goto yy1422; if (yych <= 'X') goto yy139; goto yy1423; } } } else { if (yych <= 'q') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 'x') { if (yych <= 'r') goto yy1437; goto yy144; } else { if (yych <= 'y') goto yy1438; if (yych <= 'z') goto yy144; goto yy3; } } } yy1426: YYDEBUG(1426, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'C') goto yy139; goto yy1416; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy1431; if (yych <= 'z') goto yy144; goto yy3; } } yy1427: YYDEBUG(1427, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy1413; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy1428; if (yych <= 'z') goto yy144; goto yy3; } } yy1428: YYDEBUG(1428, *YYCURSOR); yyaccept = 6; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy288; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy288; if (yych <= 'C') goto yy140; goto yy1414; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy288; } else { if (yych == 'd') goto yy1429; if (yych <= 'z') goto yy149; goto yy288; } } yy1429: YYDEBUG(1429, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'A') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; goto yy1415; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy3; goto yy145; } else { if (yych <= '`') goto yy3; if (yych <= 'a') goto yy1430; if (yych <= 'z') goto yy150; goto yy3; } } yy1430: YYDEBUG(1430, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'Y') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'X') goto yy142; goto yy518; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'y') goto yy547; if (yych <= 'z') goto yy151; goto yy3; } } yy1431: YYDEBUG(1431, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy140; goto yy1417; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy1432; if (yych <= 'z') goto yy149; goto yy3; } } yy1432: YYDEBUG(1432, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'I') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'H') goto yy141; goto yy1418; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'i') goto yy1433; if (yych <= 'z') goto yy150; goto yy3; } } yy1433: YYDEBUG(1433, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'G') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'F') goto yy142; goto yy1419; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'g') goto yy1434; if (yych <= 'z') goto yy151; goto yy3; } } yy1434: YYDEBUG(1434, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'G') goto yy3; goto yy1420; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy1435; if (yych <= 'z') goto yy152; goto yy3; } } yy1435: YYDEBUG(1435, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'T') goto yy1421; if (yych != 't') goto yy153; YYDEBUG(1436, *YYCURSOR); yyaccept = 30; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy145; goto yy1367; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy1367; if (yych <= 'z') goto yy152; goto yy1367; } yy1437: YYDEBUG(1437, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'B') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'C') goto yy1424; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'b') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'c') goto yy1439; if (yych <= 'z') goto yy149; goto yy315; } } } yy1438: YYDEBUG(1438, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '.') { if (yych <= ' ') { if (yych == '\t') goto yy317; if (yych <= 0x1F) goto yy315; goto yy317; } else { if (yych <= ')') { if (yych <= '(') goto yy315; goto yy137; } else { if (yych <= ',') goto yy315; if (yych <= '-') goto yy318; goto yy317; } } } else { if (yych <= 'Z') { if (yych <= '/') goto yy145; if (yych <= '9') goto yy317; if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= '_') { if (yych <= '^') goto yy315; goto yy145; } else { if (yych <= '`') goto yy315; if (yych <= 'z') goto yy149; goto yy315; } } } yy1439: YYDEBUG(1439, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy576; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy587; if (yych <= 'z') goto yy150; goto yy3; } } yy1440: YYDEBUG(1440, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'W') { if (yych <= 'N') { if (yych == ')') goto yy137; if (yych <= '@') goto yy3; goto yy139; } else { if (yych <= 'O') goto yy1448; if (yych <= 'U') goto yy139; if (yych <= 'V') goto yy1449; goto yy1446; } } else { if (yych <= 'o') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; if (yych <= 'n') goto yy139; goto yy1448; } else { if (yych <= 'v') { if (yych <= 'u') goto yy139; goto yy1449; } else { if (yych <= 'w') goto yy1446; if (yych <= 'z') goto yy139; goto yy3; } } } yy1441: YYDEBUG(1441, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'X') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'W') goto yy139; goto yy1445; } } else { if (yych <= 'w') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'x') goto yy1445; if (yych <= 'z') goto yy139; goto yy3; } } yy1442: YYDEBUG(1442, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 'n') goto yy1443; if (yych <= 'z') goto yy139; goto yy3; } } yy1443: YYDEBUG(1443, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1444; if (yych <= 'z') goto yy140; goto yy3; } } yy1444: YYDEBUG(1444, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'H') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= 'g') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'h') goto yy253; if (yych <= 'z') goto yy141; goto yy3; } } yy1445: YYDEBUG(1445, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1371; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1371; if (yych <= 'z') goto yy140; goto yy3; } } yy1446: YYDEBUG(1446, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy137; } else { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy1447; if (yych <= 'z') goto yy140; } yy1447: YYDEBUG(1447, *YYCURSOR); #line 976 "parse_date_1_78.db.re" { DEBUG_OUTPUT("now"); TIMELIB_INIT; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 22418 "" yy1448: YYDEBUG(1448, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'N') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'M') goto yy140; goto yy1454; } } else { if (yych <= 'm') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 'n') goto yy1454; if (yych <= 'z') goto yy140; goto yy3; } } yy1449: YYDEBUG(1449, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '/') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= ',') { if (yych <= ')') goto yy137; goto yy315; } else { if (yych <= '-') goto yy318; if (yych <= '.') goto yy317; goto yy315; } } } else { if (yych <= 'Z') { if (yych <= '@') { if (yych <= '9') goto yy317; goto yy315; } else { if (yych != 'E') goto yy140; } } else { if (yych <= 'd') { if (yych <= '`') goto yy315; goto yy140; } else { if (yych <= 'e') goto yy1450; if (yych <= 'z') goto yy140; goto yy315; } } } yy1450: YYDEBUG(1450, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'M') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'L') goto yy141; } } else { if (yych <= 'l') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'm') goto yy1451; if (yych <= 'z') goto yy141; goto yy3; } } yy1451: YYDEBUG(1451, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'A') goto yy142; } } else { if (yych <= 'a') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'b') goto yy1452; if (yych <= 'z') goto yy142; goto yy3; } } yy1452: YYDEBUG(1452, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'E') goto yy1453; if (yych != 'e') goto yy3; } yy1453: YYDEBUG(1453, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych == 'r') goto yy327; goto yy54; yy1454: YYDEBUG(1454, *YYCURSOR); ++YYCURSOR; if ((yych = *YYCURSOR) <= '@') { if (yych == ')') goto yy137; } else { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy1455; if (yych <= 'z') goto yy141; } yy1455: YYDEBUG(1455, *YYCURSOR); #line 985 "parse_date_1_78.db.re" { DEBUG_OUTPUT("noon"); TIMELIB_INIT; TIMELIB_UNHAVE_TIME(); TIMELIB_HAVE_TIME(); s->time->h = 12; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 22568 "" yy1456: YYDEBUG(1456, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'W') { if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych == '/') goto yy145; goto yy3; } } else { if (yych <= 'O') { if (yych <= 'N') goto yy139; goto yy1448; } else { if (yych <= 'U') goto yy139; if (yych <= 'V') goto yy1449; goto yy1446; } } } else { if (yych <= 'n') { if (yych <= '^') { if (yych <= 'Z') goto yy139; goto yy3; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy3; goto yy144; } } else { if (yych <= 'v') { if (yych <= 'o') goto yy1463; if (yych <= 'u') goto yy144; goto yy1464; } else { if (yych <= 'w') goto yy1462; if (yych <= 'z') goto yy144; goto yy3; } } } yy1457: YYDEBUG(1457, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'X') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'W') goto yy139; goto yy1445; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'x') goto yy1461; if (yych <= 'z') goto yy144; goto yy3; } } yy1458: YYDEBUG(1458, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy139; goto yy1443; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy1459; if (yych <= 'z') goto yy144; goto yy3; } } yy1459: YYDEBUG(1459, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1444; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1460; if (yych <= 'z') goto yy149; goto yy3; } } yy1460: YYDEBUG(1460, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'H') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'G') goto yy141; goto yy253; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'h') goto yy264; if (yych <= 'z') goto yy150; goto yy3; } } yy1461: YYDEBUG(1461, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1371; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1403; if (yych <= 'z') goto yy149; goto yy3; } } yy1462: YYDEBUG(1462, *YYCURSOR); yyaccept = 31; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1447; goto yy137; } else { if (yych == '/') goto yy145; goto yy1447; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy140; if (yych <= '^') goto yy1447; goto yy145; } else { if (yych <= '`') goto yy1447; if (yych <= 'z') goto yy149; goto yy1447; } } yy1463: YYDEBUG(1463, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'N') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'M') goto yy140; goto yy1454; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'n') goto yy1469; if (yych <= 'z') goto yy149; goto yy3; } } yy1464: YYDEBUG(1464, *YYCURSOR); yyaccept = 7; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '9') { if (yych <= '(') { if (yych <= '\t') { if (yych <= 0x08) goto yy315; goto yy317; } else { if (yych == ' ') goto yy317; goto yy315; } } else { if (yych <= '-') { if (yych <= ')') goto yy137; if (yych <= ',') goto yy315; goto yy318; } else { if (yych == '/') goto yy145; goto yy317; } } } else { if (yych <= '^') { if (yych <= 'D') { if (yych <= '@') goto yy315; goto yy140; } else { if (yych <= 'E') goto yy1450; if (yych <= 'Z') goto yy140; goto yy315; } } else { if (yych <= 'd') { if (yych <= '_') goto yy145; if (yych <= '`') goto yy315; goto yy149; } else { if (yych <= 'e') goto yy1465; if (yych <= 'z') goto yy149; goto yy315; } } } yy1465: YYDEBUG(1465, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'M') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'L') goto yy141; goto yy1451; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'm') goto yy1466; if (yych <= 'z') goto yy150; goto yy3; } } yy1466: YYDEBUG(1466, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'B') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'A') goto yy142; goto yy1452; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'b') goto yy1467; if (yych <= 'z') goto yy151; goto yy3; } } yy1467: YYDEBUG(1467, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'D') goto yy3; goto yy1453; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy1468; if (yych <= 'z') goto yy152; goto yy3; } } yy1468: YYDEBUG(1468, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'R') goto yy327; if (yych == 'r') goto yy500; goto yy153; yy1469: YYDEBUG(1469, *YYCURSOR); yyaccept = 32; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '@') { if (yych <= ')') { if (yych <= '(') goto yy1455; goto yy137; } else { if (yych == '/') goto yy145; goto yy1455; } } else { if (yych <= '_') { if (yych <= 'Z') goto yy141; if (yych <= '^') goto yy1455; goto yy145; } else { if (yych <= '`') goto yy1455; if (yych <= 'z') goto yy150; goto yy1455; } } yy1470: YYDEBUG(1470, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'S') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'R') goto yy139; } } else { if (yych <= 'r') { if (yych <= 'Z') goto yy139; if (yych <= '`') goto yy3; goto yy139; } else { if (yych <= 's') goto yy1471; if (yych <= 'z') goto yy139; goto yy3; } } yy1471: YYDEBUG(1471, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'T') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; } } else { if (yych <= 's') { if (yych <= 'Z') goto yy140; if (yych <= '`') goto yy3; goto yy140; } else { if (yych <= 't') goto yy1472; if (yych <= 'z') goto yy140; goto yy3; } } yy1472: YYDEBUG(1472, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'E') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; } } else { if (yych <= 'd') { if (yych <= 'Z') goto yy141; if (yych <= '`') goto yy3; goto yy141; } else { if (yych <= 'e') goto yy1473; if (yych <= 'z') goto yy141; goto yy3; } } yy1473: YYDEBUG(1473, *YYCURSOR); yych = *++YYCURSOR; if (yych <= 'R') { if (yych <= ')') { if (yych <= '(') goto yy3; goto yy137; } else { if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; } } else { if (yych <= 'q') { if (yych <= 'Z') goto yy142; if (yych <= '`') goto yy3; goto yy142; } else { if (yych <= 'r') goto yy1474; if (yych <= 'z') goto yy142; goto yy3; } } yy1474: YYDEBUG(1474, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'C') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= 'D') goto yy1475; if (yych != 'd') goto yy3; } yy1475: YYDEBUG(1475, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1476; if (yych != 'a') goto yy54; yy1476: YYDEBUG(1476, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1477; if (yych != 'y') goto yy54; yy1477: YYDEBUG(1477, *YYCURSOR); ++YYCURSOR; yy1478: YYDEBUG(1478, *YYCURSOR); #line 964 "parse_date_1_78.db.re" { DEBUG_OUTPUT("yesterday"); TIMELIB_INIT; TIMELIB_HAVE_RELATIVE(); TIMELIB_UNHAVE_TIME(); s->time->relative.d = -1; TIMELIB_DEINIT; return TIMELIB_RELATIVE; } #line 23059 "" yy1479: YYDEBUG(1479, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'S') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'R') goto yy139; goto yy1471; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy139; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 's') goto yy1480; if (yych <= 'z') goto yy144; goto yy3; } } yy1480: YYDEBUG(1480, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'T') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'S') goto yy140; goto yy1472; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy140; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 't') goto yy1481; if (yych <= 'z') goto yy149; goto yy3; } } yy1481: YYDEBUG(1481, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'E') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'D') goto yy141; goto yy1473; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy141; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'e') goto yy1482; if (yych <= 'z') goto yy150; goto yy3; } } yy1482: YYDEBUG(1482, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'R') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= '@') goto yy3; if (yych <= 'Q') goto yy142; goto yy1474; } } else { if (yych <= '`') { if (yych <= 'Z') goto yy142; if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'r') goto yy1483; if (yych <= 'z') goto yy151; goto yy3; } } yy1483: YYDEBUG(1483, *YYCURSOR); yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { if (yych <= '.') { if (yych == ')') goto yy137; goto yy3; } else { if (yych <= '/') goto yy145; if (yych <= 'C') goto yy3; goto yy1475; } } else { if (yych <= '`') { if (yych == '_') goto yy145; goto yy3; } else { if (yych == 'd') goto yy1484; if (yych <= 'z') goto yy152; goto yy3; } } yy1484: YYDEBUG(1484, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'A') goto yy1476; if (yych != 'a') goto yy153; YYDEBUG(1485, *YYCURSOR); yych = *++YYCURSOR; if (yych == 'Y') goto yy1477; if (yych != 'y') goto yy153; YYDEBUG(1486, *YYCURSOR); yyaccept = 33; yych = *(YYMARKER = ++YYCURSOR); if (yych <= '^') { if (yych == '/') goto yy145; goto yy1478; } else { if (yych <= '_') goto yy145; if (yych <= '`') goto yy1478; if (yych <= 'z') goto yy152; goto yy1478; } } #line 1679 "parse_date_1_78.db.re" } #define YYMAXFILL 30 timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb) { Scanner in; int t; char *e = s + len - 1; memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; if (len > 0) { while (isspace(*s) && s < e) { s++; } while (isspace(*e) && e > s) { e--; } } if (e - s < 0) { in.time = timelib_time_ctor(); add_error(&in, "Empty string"); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET; in.time->is_localtime = in.time->zone_type = 0; return in.time; } e++; in.str = malloc((e - s) + YYMAXFILL); memset(in.str, 0, (e - s) + YYMAXFILL); memcpy(in.str, s, (e - s)); in.lim = in.str + (e - s) + YYMAXFILL; in.cur = in.str; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; do { t = scan(&in); #ifdef DEBUG_PARSER printf("%d\n", t); #endif } while(t != EOI); free(in.str); if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } #define TIMELIB_CHECK_NUMBER \ if (strchr("0123456789", *ptr) == NULL) \ { \ add_pbf_error(s, "Unexpected data found.", string, begin); \ } timelib_time *timelib_parse_from_format(char *format, char *string, int len, timelib_error_container **errors, const timelib_tzdb *tzdb) { char *fptr = format; char *ptr = string; char *begin; timelib_sll tmp; Scanner in; Scanner *s = ∈ memset(&in, 0, sizeof(in)); in.errors = malloc(sizeof(struct timelib_error_container)); in.errors->warning_count = 0; in.errors->warning_messages = NULL; in.errors->error_count = 0; in.errors->error_messages = NULL; in.time = timelib_time_ctor(); in.time->y = TIMELIB_UNSET; in.time->d = TIMELIB_UNSET; in.time->m = TIMELIB_UNSET; in.time->h = TIMELIB_UNSET; in.time->i = TIMELIB_UNSET; in.time->s = TIMELIB_UNSET; in.time->f = TIMELIB_UNSET; in.time->z = TIMELIB_UNSET; in.time->dst = TIMELIB_UNSET; in.tzdb = tzdb; in.time->is_localtime = 0; in.time->zone_type = 0; /* Loop over the format string */ while (*fptr && *ptr) { begin = ptr; switch (*fptr) { case 'd': // two digit day, with leading zero case 'j': // two digit day, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit day could not be found", string, begin); } break; case 'S': // day suffix, ignored, nor checked timelib_skip_day_suffix((char **) &ptr); break; case 'z': // day of year - resets month (0 based) TIMELIB_CHECK_NUMBER; if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) { add_pbf_error(s, "A three digit day-of-year could not be found", string, begin); } else { s->time->m = 1; s->time->d = tmp + 1; } break; case 'm': // two digit month, with leading zero case 'n': // two digit month, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit month could not be found", string, begin); } break; case 'M': // three letter month case 'F': // full month tmp = timelib_lookup_month((char **) &ptr); if (!tmp) { add_pbf_error(s, "A textual month could not be found", string, begin); } else { s->time->m = tmp; } break; case 'y': // two digit year TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit year could not be found", string, begin); } TIMELIB_PROCESS_YEAR(s->time->y); break; case 'Y': // four digit year TIMELIB_CHECK_NUMBER; if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) { add_pbf_error(s, "A four digit year could not be found", string, begin); } break; case 'g': // two digit hour, with leading zero case 'h': // two digit hour, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } if (s->time->h > 12) { add_pbf_error(s, "Hour can not be higher than 12", string, begin); } break; case 'G': // two digit hour, with leading zero case 'H': // two digit hour, without leading zero TIMELIB_CHECK_NUMBER; if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit hour could not be found", string, begin); } break; case 'a': // am/pm/a.m./p.m. case 'A': // AM/PM/A.M./P.M. if (s->time->h == TIMELIB_UNSET) { add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin); } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) { add_pbf_error(s, "A meridian could not be found", string, begin); } else { s->time->h += tmp; } break; case 'i': // two digit minute, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->i = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit minute could not be found", string, begin); } break; case 's': // two digit second, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->s = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) { add_pbf_error(s, "A two digit second could not be found", string, begin); } break; case 'u': // five digit millisecond, with leading zero TIMELIB_CHECK_NUMBER; if ((s->time->f = timelib_get_nr((char **) &ptr, 5)) == TIMELIB_UNSET) { add_pbf_error(s, "A five digit millisecond could not be found", string, begin); } break; case ' ': // any sort of whitespace (' ' and \t) timelib_eat_spaces((char **) &ptr); break; case 'U': // epoch seconds TIMELIB_CHECK_NUMBER; TIMELIB_HAVE_RELATIVE(); tmp = timelib_get_unsigned_nr((char **) &ptr, 24); s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->relative.s += tmp; s->time->is_localtime = 1; s->time->zone_type = TIMELIB_ZONETYPE_OFFSET; s->time->z = 0; break; case 'e': // timezone { int tz_not_found; s->time->z = timelib_get_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb); if (tz_not_found) { add_pbf_error(s, "The timezone could not be found in the database", string, begin); } } break; case '#': // separation symbol if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-') { ++ptr; } else { add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin); } break; case ';': case ':': case '/': case '.': case ',': case '-': if (*ptr == *fptr) { ++ptr; } else { add_pbf_error(s, "The separation symbol could not be found", string, begin); } break; case '!': // reset all fields to default s->time->y = 1970; s->time->m = 1; s->time->d = 1; s->time->h = s->time->i = s->time->s = 0; s->time->f = 0.0; s->time->tz_info = NULL; break; // break intentionally not missing case '|': // reset all fields to default when not set if (s->time->y == TIMELIB_UNSET ) s->time->y = 1970; if (s->time->m == TIMELIB_UNSET ) s->time->m = 1; if (s->time->d == TIMELIB_UNSET ) s->time->d = 1; if (s->time->h == TIMELIB_UNSET ) s->time->h = 0; if (s->time->i == TIMELIB_UNSET ) s->time->i = 0; if (s->time->s == TIMELIB_UNSET ) s->time->s = 0; if (s->time->f == TIMELIB_UNSET ) s->time->f = 0.0; break; // break intentionally not missing case '?': // random char ++ptr; break; case '*': // random chars until a separator or number ([ \t.,:;/-0123456789]) timelib_eat_until_separator((char **) &ptr); break; default: if (*fptr != *ptr) { add_pbf_error(s, "The format separator does not match", string, begin); } ptr++; } fptr++; } if (*ptr) { add_pbf_error(s, "Trailing data", string, ptr); } if (*fptr) { add_pbf_error(s, "Data missing", string, ptr); } // clean up a bit if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) { if (s->time->h == TIMELIB_UNSET ) { s->time->h = 0; } if (s->time->i == TIMELIB_UNSET ) { s->time->i = 0; } if (s->time->s == TIMELIB_UNSET ) { s->time->s = 0; } } if (errors) { *errors = in.errors; } else { timelib_error_container_dtor(in.errors); } return in.time; } void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options) { if (!(options && TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) { parsed->h = 0; parsed->i = 0; parsed->s = 0; parsed->f = 0; } if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0; if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0; if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0; if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0; if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0; if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0; if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0; if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0; if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0; if (!parsed->tz_abbr) { parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; } if (!parsed->tz_info) { parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; } if (parsed->zone_type == 0 && now->zone_type != 0) { parsed->zone_type = now->zone_type; /* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL; parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL; */ parsed->is_localtime = 1; } /* timelib_dump_date(parsed, 2); timelib_dump_date(now, 2); */ } char *timelib_timezone_id_from_abbr(const char *abbr, long gmtoffset, int isdst) { const timelib_tz_lookup_table *tp; tp = zone_search(abbr, gmtoffset, isdst); if (tp) { return (tp->full_tz_name); } else { return NULL; } } const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void) { return timelib_timezone_lookup; } #ifdef DEBUG_PARSER_STUB int main(void) { timelib_time time = timelib_strtotime("May 12"); printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d", time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst); if (time.have_relative) { printf ("%3dY %3dM %3dD / %3dH %3dM %3dS", time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s); } if (time.have_weekday_relative) { printf (" / %d", time.relative.weekday); } if (time.have_weeknr_day) { printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek); } return 0; } #endif /* * vim: syntax=c */ re2c-0.13.5/lessons/0002777000076500007660000000000011016277101011137 500000000000000re2c-0.13.5/lessons/002_strip_comments/0002777000076500007660000000000011016277101014566 500000000000000re2c-0.13.5/lessons/002_strip_comments/strip_001.s.c0000775000076500007660000000616311016275317016650 00000000000000/* Generated by re2c */ #line 1 "strip_001.s.re" /* re2c lesson 002_strip_comments, strip_001.s, (c) M. Boerger 2006 - 2007 */ #line 32 "strip_001.s.re" #include #include #include #define YYMAXFILL 2 #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; #line 80 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '/') goto yy4; ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy5; if (yych == '/') goto yy7; yy3: #line 113 "strip_001.s.re" { fputc(*s.tok, stdout); continue; } #line 93 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; #line 112 "strip_001.s.re" { goto comment; } #line 101 "" yy7: ++YYCURSOR; #line 111 "strip_001.s.re" { goto cppcomment; } #line 106 "" } #line 114 "strip_001.s.re" comment: s.tok = s.cur; #line 113 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '*') goto yy13; ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy14; yy12: #line 119 "strip_001.s.re" { goto comment; } #line 124 "" yy13: yych = *++YYCURSOR; goto yy12; yy14: ++YYCURSOR; #line 118 "strip_001.s.re" { continue; } #line 132 "" } #line 120 "strip_001.s.re" cppcomment: s.tok = s.cur; #line 139 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '\n') goto yy20; if (yych != '\r') goto yy22; ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy23; yy19: #line 125 "strip_001.s.re" { goto cppcomment; } #line 151 "" yy20: ++YYCURSOR; yy21: #line 124 "strip_001.s.re" { fwrite(s.tok, 1, s.cur - s.tok, stdout); continue; } #line 157 "" yy22: yych = *++YYCURSOR; goto yy19; yy23: ++YYCURSOR; yych = *YYCURSOR; goto yy21; } #line 126 "strip_001.s.re" } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/strip_002.s.c0000775000076500007660000001004611016275317016644 00000000000000/* Generated by re2c */ #line 1 "strip_002.s.re" /* re2c lesson 002_strip_comments, strip_002.s, (c) M. Boerger 2006 - 2007 */ #line 32 "strip_002.s.re" #include #include #include #define YYMAXFILL 2 #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; #line 87 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '/') goto yy4; ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy5; if (yych == '/') goto yy7; yy3: #line 121 "strip_002.s.re" { fputc(*s.tok, stdout); continue; } #line 100 "" yy4: yych = *++YYCURSOR; goto yy3; yy5: ++YYCURSOR; #line 120 "strip_002.s.re" { goto comment; } #line 108 "" yy7: ++YYCURSOR; #line 119 "strip_002.s.re" { goto cppcomment; } #line 113 "" } #line 122 "strip_002.s.re" comment: s.tok = s.cur; #line 120 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '*') goto yy13; ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy14; yy12: #line 127 "strip_002.s.re" { goto comment; } #line 131 "" yy13: yych = *++YYCURSOR; goto yy12; yy14: ++YYCURSOR; #line 126 "strip_002.s.re" { goto commentws; } #line 139 "" } #line 128 "strip_002.s.re" commentws: s.tok = s.cur; #line 146 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= '\f') { if (yych <= 0x08) goto yy23; if (yych <= '\t') goto yy22; if (yych <= '\n') goto yy20; goto yy23; } else { if (yych <= '\r') goto yy18; if (yych == ' ') goto yy22; goto yy23; } yy18: ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy25; yy19: #line 133 "strip_002.s.re" { goto commentws; } #line 167 "" yy20: ++YYCURSOR; yy21: #line 132 "strip_002.s.re" { echo(&s); continue; } #line 173 "" yy22: yych = *++YYCURSOR; goto yy19; yy23: ++YYCURSOR; #line 134 "strip_002.s.re" { echo(&s); continue; } #line 181 "" yy25: ++YYCURSOR; yych = *YYCURSOR; goto yy21; } #line 135 "strip_002.s.re" cppcomment: s.tok = s.cur; #line 192 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '\n') goto yy30; if (yych != '\r') goto yy32; ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy33; yy29: #line 140 "strip_002.s.re" { goto cppcomment; } #line 204 "" yy30: ++YYCURSOR; yy31: #line 139 "strip_002.s.re" { echo(&s); continue; } #line 210 "" yy32: yych = *++YYCURSOR; goto yy29; yy33: ++YYCURSOR; yych = *YYCURSOR; goto yy31; } #line 141 "strip_002.s.re" } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/strip_003.b.c0000775000076500007660000001245511016275317016632 00000000000000/* Generated by re2c */ #line 1 "strip_003.b.re" /* re2c lesson 002_strip_comments, strip_003.b, (c) M. Boerger 2006 - 2007 */ #line 37 "strip_003.b.re" #include #include #include #define YYMAXFILL 4 #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYCTXMARKER s.ctx #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *ctx, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; s->ctx -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; int nlcomment = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; #line 90 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= '\f') { if (yych == '\n') goto yy5; goto yy6; } else { if (yych <= '\r') goto yy4; if (yych != '/') goto yy6; } ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy12; if (yych == '/') goto yy14; yy3: #line 130 "strip_003.b.re" { fputc(*s.tok, stdout); continue; } #line 109 "" yy4: yych = *(YYMARKER = ++YYCURSOR); if (yych == '\n') goto yy11; goto yy3; yy5: YYCTXMARKER = YYCURSOR + 1; yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy7; goto yy3; yy6: yych = *++YYCURSOR; goto yy3; yy7: yych = *++YYCURSOR; if (yych == '*') goto yy9; yy8: YYCURSOR = YYMARKER; goto yy3; yy9: ++YYCURSOR; YYCURSOR = YYCTXMARKER; #line 128 "strip_003.b.re" { echo(&s); nlcomment = 1; continue; } #line 133 "" yy11: YYCTXMARKER = YYCURSOR + 1; yych = *++YYCURSOR; if (yych == '/') goto yy7; goto yy8; yy12: ++YYCURSOR; #line 129 "strip_003.b.re" { goto comment; } #line 143 "" yy14: ++YYCURSOR; #line 127 "strip_003.b.re" { goto cppcomment; } #line 148 "" } #line 131 "strip_003.b.re" comment: s.tok = s.cur; #line 155 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych != '*') goto yy20; ++YYCURSOR; if ((yych = *YYCURSOR) == '/') goto yy21; yy19: #line 136 "strip_003.b.re" { goto comment; } #line 166 "" yy20: yych = *++YYCURSOR; goto yy19; yy21: ++YYCURSOR; #line 135 "strip_003.b.re" { goto commentws; } #line 174 "" } #line 137 "strip_003.b.re" commentws: s.tok = s.cur; #line 181 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4); yych = *YYCURSOR; if (yych <= '\r') { if (yych <= '\t') { if (yych <= 0x08) goto yy32; goto yy31; } else { if (yych <= '\n') goto yy27; if (yych <= '\f') goto yy32; } } else { if (yych <= ' ') { if (yych <= 0x1F) goto yy32; goto yy31; } else { if (yych == '/') goto yy29; goto yy32; } } ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy37; yy26: #line 150 "strip_003.b.re" { goto commentws; } #line 208 "" yy27: yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy35; yy28: #line 142 "strip_003.b.re" { if (!nlcomment) { echo(&s); } nlcomment = 0; continue; } #line 222 "" yy29: ++YYCURSOR; if ((yych = *YYCURSOR) == '*') goto yy33; yy30: #line 151 "strip_003.b.re" { echo(&s); nlcomment = 0; continue; } #line 229 "" yy31: yych = *++YYCURSOR; goto yy26; yy32: yych = *++YYCURSOR; goto yy30; yy33: ++YYCURSOR; #line 141 "strip_003.b.re" { goto comment; } #line 240 "" yy35: yych = *++YYCURSOR; if (yych == '*') goto yy33; YYCURSOR = YYMARKER; goto yy28; yy37: yych = *(YYMARKER = ++YYCURSOR); if (yych == '/') goto yy35; goto yy28; } #line 152 "strip_003.b.re" cppcomment: s.tok = s.cur; #line 256 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych == '\n') goto yy42; if (yych != '\r') goto yy44; ++YYCURSOR; if ((yych = *YYCURSOR) == '\n') goto yy45; yy41: #line 157 "strip_003.b.re" { goto cppcomment; } #line 268 "" yy42: ++YYCURSOR; yy43: #line 156 "strip_003.b.re" { echo(&s); continue; } #line 274 "" yy44: yych = *++YYCURSOR; goto yy41; yy45: ++YYCURSOR; yych = *YYCURSOR; goto yy43; } #line 158 "strip_003.b.re" } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/strip_001.s.re0000775000076500007660000000701411016275317017030 00000000000000/* re2c lesson 002_strip_comments, strip_001.s, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - basic interface for file reading . This scanner will read chunks of input from a file. The easiest way would be to read the whole file into a memory buffer and use that a zero terminated string. . Instead we want to read input chunks of a reasonable size as they are neede by the scanner. Thus we basically need YYFILL(n) to call fread(n). . Before we provide a buffer that we constantly reallocate we instead use one buffer that we get from the stack or global memory just once. When we reach the end of the buffer we simply move the beginning of our input that is somewhere in our buffer to the beginning of our buffer and then append the next chunk of input to the correct end inside our buffer. . As re2c scanners might read more than one character we need to ensure our buffer is long enough. We can use re2c to inform about the maximum size by placing a "!max:re2c" comment somewhere. This gets translated to a "#define YYMAXFILL " line where is the maximum length value. This define can be used as precompiler condition. - multiple scanner blocks . We use a main scanner block that outputs every input character unless the input is two /s or a / followed by a *. In the latter two cases we switch to a special c++ comment and a comment block respectively. . Both special blocks simply detect their end ignore any other character. . The c++ block is a bit special. Since the terminating new line needs to be output and that can either be a new line or a carridge return followed by a new line. . In order to ensure that we do not read behind our buffer we reset the token pointer to the cursor on every scanner run. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; ANY = [^] ; "/" "/" { goto cppcomment; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { continue; } ANY { goto comment; } */ cppcomment: s.tok = s.cur; /*!re2c NL { fwrite(s.tok, 1, s.cur - s.tok, stdout); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/strip_002.s.re0000775000076500007660000000707111016275317017034 00000000000000/* re2c lesson 002_strip_comments, strip_002.s, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - complexity . When a comment is preceeded by a new line and followed by whitespace and a new line then we can drop the trailing whitespace and new line. . Additional to what we strip out already what about two consequtive comment blocks? When two comments are only separated by whitespace we want to drop both. In other words when detecting the end of a comment block we need to check whether it is followed by only whitespace and the a new comment in which case we continure ignoring the input. If it is followed only by white space and a new line we strip out the new white space and new line. In any other case we start outputting all that follows. But we cannot simply use the following two rules: "*" "/" WS* "/" "*" { continue; } "*" "/" WS* NL { continue; } The main problem is that WS* can get bigger then our buffer, so we need a new scanner. . Meanwhile our scanner gets a bit more complex and we have to add two more things. First the scanner code now uses a YYMARKER to store backtracking information. - backtracking information . When the scanner has two rules that can have the same beginning but a different ending then it needs to store the position that identifies the common part. This is called backtracking. As mentioned above re2c expects you to provide compiler define YYMARKER and a pointer variable. . When shifting buffer contents as done in our fill function the marker needs to be corrected, too. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; WS = [\r\n\t ] ; ANY = [^] ; "/" "/" { goto cppcomment; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { goto commentws; } ANY { goto comment; } */ commentws: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } WS { goto commentws; } ANY { echo(&s); continue; } */ cppcomment: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/strip_003.b.re0000775000076500007660000001020011016275317017000 00000000000000/* re2c lesson 002_strip_comments, strip_003.b, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - more complexity . Right now we strip out trailing white space and new lines after a comment block. This can be a problem when the comment block was not preceeded by a new line. . The solution is to use trailing contexts. - trailing contexts . Re2c allows to check for a portion of input and only recognize it when it is followed by another portion. This is called a trailing context. . The trailing context is not part of the identified input. That means that it follows exactly at the cursor. A consequence is that the scanner has already read more input and on the next run you need to restore begining of input, in our case s.tok, from the cursor, here s.cur, rather then restoring to the beginning of the buffer. This way the scanner can reuse the portion it has already read. . The position of the trailing context is stored in YYCTXMARKER for which a pointer variable needs to be provided. . As with YYMARKER the corrsponding variable needs to be corrected if we shift in some buffer. . Still this is not all we need to solve the problem. What is left is that the information whether we detected a trailing context was detected has to be stored somewhere. This is done by the new variable nlcomment. - formatting . Until now we only used single line expression code and we always had the opening { on the same line as the rule itself. If we have multiline rule code and care for formatting we can no longer rely on re2c. Now we have to indent the rule code ourself. Also we need to take care of the opening {. If we keep it on the same line as the rule then re2c will indent it correctly and the emitted #line informations will be correct. If we place it on the next line then the #line directive will also point to that line and not to the rule. */ #include #include #include /*!max:re2c */ #define BSIZE 128 #if BSIZE < YYMAXFILL # error BSIZE must be greater YYMAXFILL #endif #define YYCTYPE unsigned char #define YYCURSOR s.cur #define YYLIMIT s.lim #define YYMARKER s.mrk #define YYCTXMARKER s.ctx #define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; } typedef struct Scanner { FILE *fp; unsigned char *cur, *tok, *lim, *eof, *ctx, *mrk; unsigned char buffer[BSIZE]; } Scanner; int fill(Scanner *s, int len) { if (!len) { s->cur = s->tok = s->lim = s->mrk = s->buffer; s->eof = 0; } if (!s->eof) { int got, cnt = s->tok - s->buffer; if (cnt > 0) { memcpy(s->buffer, s->tok, s->lim - s->tok); s->tok -= cnt; s->cur -= cnt; s->lim -= cnt; s->mrk -= cnt; s->ctx -= cnt; } cnt = BSIZE - cnt; if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt) { s->eof = &s->lim[got]; } s->lim += got; } else if (s->cur + len > s->eof) { return 0; /* not enough input data */ } return -1; } void echo(Scanner *s) { fwrite(s->tok, 1, s->cur - s->tok, stdout); } int scan(FILE *fp) { int res = 0; int nlcomment = 0; Scanner s; if (!fp) { return 1; /* no file was opened */ } s.fp = fp; fill(&s, 0); for(;;) { s.tok = s.cur; /*!re2c re2c:indent:top = 2; NL = "\r"? "\n" ; WS = [\r\n\t ] ; ANY = [^] ; "/" "/" { goto cppcomment; } NL / "/""*" { echo(&s); nlcomment = 1; continue; } "/" "*" { goto comment; } ANY { fputc(*s.tok, stdout); continue; } */ comment: s.tok = s.cur; /*!re2c "*" "/" { goto commentws; } ANY { goto comment; } */ commentws: s.tok = s.cur; /*!re2c NL? "/" "*" { goto comment; } NL { if (!nlcomment) { echo(&s); } nlcomment = 0; continue; } WS { goto commentws; } ANY { echo(&s); nlcomment = 0; continue; } */ cppcomment: s.tok = s.cur; /*!re2c NL { echo(&s); continue; } ANY { goto cppcomment; } */ } if (fp != stdin) { fclose(fp); /* close only if not stdin */ } return res; /* return result */ } int main(int argc, char **argv) { if (argc > 1) { return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r")); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/002_strip_comments/readme.txt0000775000076500007660000000126411016275317016515 00000000000000re2c lesson 002_strip_comments, (c) M. Boerger 2006 In this lesson you will learn how to use multiple scanner blocks and how to read the input from a file instead of a zero terminated string. In the end you will have a scanner that filters comments out of c source files but keeps re2c comments. The first scanner can be generated with: re2c -s -o t.c strip_001.s.re In the second step we will learn about YYMARKER that stores backtracking information. re2c -s -0 t.c strip_002.b.re The third step brings trailing contexts that are stored in YYCTXMARKER. We also change to use -b instead of -s option since the scanner gets more and more complex. re2c -b -0 t.c strip_002.b.re re2c-0.13.5/lessons/001_upn_calculator/0002777000076500007660000000000011016277101014532 500000000000000re2c-0.13.5/lessons/001_upn_calculator/windows/0002777000076500007660000000000011016277101016224 500000000000000re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c-2005.vcproj0000775000076500007660000001247211016275320021416 00000000000000 re2c-0.13.5/lessons/001_upn_calculator/windows/BuildAndRun.bat0000775000076500007660000000300111016275320020775 00000000000000@echo OFF goto Start rem BuildAndRun.bat 06-Apr-15 lda rem Assumes re2c.exe findable with PATH or . or .. or ..\.. or $(RE2C_HOME) rem Assumes cl.exe findable with PATH or VcToolKit2003 installed :Start if exist %RE2C_HOME%\re2c.exe goto ProceedWithGenerate if exist .\re2c.exe set RE2C_HOME=. if exist ..\re2c.exe set RE2C_HOME=.. if exist ..\..\re2c.exe set RE2C_HOME=..\.. if exist ..\..\..\re2c.exe set RE2C_HOME=..\..\.. if exist ..\..\..\Release\re2c.exe set RE2C_HOME=..\..\..\Release if exist ..\..\..\Release-2005\re2c.exe set RE2C_HOME=..\..\..\Release-2005 if not exist %RE2C_HOME%\re2c.exe goto ReportSetupError :ProceedWithGenerate set BASE_FILE_NAME=main %RE2C_HOME%\re2c -b -o%BASE_FILE_NAME%.c %BASE_FILE_NAME%.re rem echo ErrorLevel is set to %ERRORLEVEL% after re2c IF ERRORLEVEL 1 goto ReportRe2cError rem (to test) set path= cl 1>nul 2>nul IF ERRORLEVEL 1 goto AttemptToSetupCompiler goto ProceedWithCompile :AttemptToSetupCompiler echo ErrorLevel is set to %ERRORLEVEL% after blank cl command line call %VCToolkitInstallDir%\vcvars32.bat 1>nul 2>nul cl 1>nul 2>nul IF ERRORLEVEL 1 goto ReportClError :ProceedWithCompile cl -O2 /DNDEBUG /D_CONSOLE /DWIN32 %BASE_FILE_NAME%.c rem echo ErrorLevel is set to %ERRORLEVEL% after cl IF ERRORLEVEL 1 goto ReportClError %BASE_FILE_NAME% goto AllDone :ReportSetupError echo re2c.exe not found in ., .., ..\.., ..\..\.., ..\..\..\Release echo or ..\..\..\Release-2005 Environment variable RE2C_HOME invalid or not set? :ReportClError :ReportRe2cError :AllDone pause re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.dsp0000775000076500007660000001131211016275320020305 00000000000000# Microsoft Developer Studio Project File - Name="TestRe2c" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** NICHT BEARBEITEN ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=TestRe2c - Win32 Debug !MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE !MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl !MESSAGE !MESSAGE NMAKE /f "TestRe2c.mak". !MESSAGE !MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben !MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: !MESSAGE !MESSAGE NMAKE /f "TestRe2c.mak" CFG="TestRe2c - Win32 Debug" !MESSAGE !MESSAGE Für die Konfiguration stehen zur Auswahl: !MESSAGE !MESSAGE "TestRe2c - Win32 Release" (basierend auf "Win32 (x86) Console Application") !MESSAGE "TestRe2c - Win32 Debug" (basierend auf "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=xicl6.exe RSC=rc.exe !IF "$(CFG)" == "TestRe2c - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "NDEBUG" # ADD RSC /l 0x409 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=xilink6.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "TestRe2c - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c # ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c # SUBTRACT CPP /YX # ADD BASE RSC /l 0x409 /d "_DEBUG" # ADD RSC /l 0x409 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=xilink6.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "TestRe2c - Win32 Release" # Name "TestRe2c - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\main.b.c # End Source File # Begin Source File SOURCE=.\main.b.re !IF "$(CFG)" == "TestRe2c - Win32 Release" # Begin Custom Build - Generate $(InputName).c from $(InputName).re using Re2c InputPath=.\main.b.re InputName=main.b "$(InputName).c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" ..\..\..\Release-2005\re2c -b -o$(InputName).c $(InputName).re # End Custom Build !ELSEIF "$(CFG)" == "TestRe2c - Win32 Debug" # Begin Custom Build - Generate $(InputName).c from $(InputName).re using Re2c InputPath=.\main.b.re InputName=main.b "$(InputName).c" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" ..\..\..\Release-2005\re2c -b -o$(InputName).c $(InputName).re # End Custom Build !ENDIF # End Source File # End Group # End Target # End Project re2c-0.13.5/lessons/001_upn_calculator/windows/HiResTimer.h0000775000076500007660000000211411016275320020326 00000000000000/** * @file HiResTimer.h * @brief * @note */ #ifndef _HI_RES_TIMER_H_ #define _HI_RES_TIMER_H_ #ifdef WIN32 #include // probably already done in stdafx.h static LARGE_INTEGER start; static LARGE_INTEGER stop; static LARGE_INTEGER freq; static _int64 elapsedCounts; static double elapsedMillis; static double elapsedMicros; static HANDLE processHandle; static DWORD prevPriorityClass; void HrtInit() { processHandle = GetCurrentProcess(); prevPriorityClass = GetPriorityClass(processHandle); QueryPerformanceFrequency(&freq); } void HrtStart() { QueryPerformanceCounter(&start); } void HrtSetPriority(DWORD priority) { int flag; prevPriorityClass = GetPriorityClass(processHandle); flag = SetPriorityClass(processHandle, priority); } void HrtResetPriority(void) { int flag = SetPriorityClass(processHandle, prevPriorityClass); } double HrtElapsedMillis() { QueryPerformanceCounter(&stop); elapsedCounts = (stop.QuadPart - start.QuadPart); elapsedMillis = ((elapsedCounts * 1000.0) / freq.QuadPart); return elapsedMillis; } #endif #endifre2c-0.13.5/lessons/001_upn_calculator/windows/main.b.c0000775000076500007660000003022511016275320017456 00000000000000/* Generated by re2c */ #line 1 "main.b.re" /* re2c lesson 001_upn_calculator, main.b.re, (c) M. Boerger, L. Allan 2006 */ #line 43 "main.b.re" #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #if _MSC_VER > 1200 #define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later. #endif // Prevents warning from vc7.1 complaining about redefinition #include #include #include #include #include #include "HiResTimer.h" static char gTestBuf[1000] = ""; /** * @brief Setup HiResolution timer and confirm it is working ok */ void InitHiResTimerAndVerifyWorking(void) { double elapsed; HrtInit(); HrtSetPriority(ABOVE_NORMAL_PRIORITY_CLASS); HrtStart(); Sleep(100); elapsed = HrtElapsedMillis(); if ((elapsed < 90) || (elapsed > 110)) { printf("HiResTimer misbehaving: %f\n", elapsed); exit(2); } } /** * @brief Scan for numbers in different formats */ int ScanFullSpeed(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { #line 55 "" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ',') { if (yych <= 0x00) goto yy10; if (yych == '+') goto yy6; goto yy12; } else { if (yych <= '/') { if (yych <= '-') goto yy8; goto yy12; } else { if (yych <= '0') goto yy4; if (yych >= ':') goto yy12; } } ++YYCURSOR; yych = *YYCURSOR; goto yy17; yy3: #line 93 "main.b.re" { continue; } #line 114 "" yy4: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy13; } yy5: #line 98 "main.b.re" { return 1; } #line 123 "" yy6: ++YYCURSOR; #line 95 "main.b.re" { continue; } #line 128 "" yy8: ++YYCURSOR; #line 96 "main.b.re" { continue; } #line 133 "" yy10: ++YYCURSOR; #line 97 "main.b.re" { return 0; } #line 138 "" yy12: yych = *++YYCURSOR; goto yy5; yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy13; } #line 94 "main.b.re" { continue; } #line 151 "" yy16: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy17: if (yych <= '/') goto yy3; if (yych <= '9') goto yy16; goto yy3; } #line 99 "main.b.re" } } /** * @brief Scan for numbers in different formats */ int scan(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { #line 182 "" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; if (yych <= ',') { if (yych <= 0x00) goto yy28; if (yych == '+') goto yy24; goto yy30; } else { if (yych <= '/') { if (yych <= '-') goto yy26; goto yy30; } else { if (yych <= '0') goto yy22; if (yych >= ':') goto yy30; } } ++YYCURSOR; yych = *YYCURSOR; goto yy35; yy21: #line 120 "main.b.re" { printf("Num\n"); strcat(gTestBuf, "Num "); continue; } #line 240 "" yy22: ++YYCURSOR; if (yybm[0+(yych = *YYCURSOR)] & 128) { goto yy31; } yy23: #line 125 "main.b.re" { printf("ERR\n"); strcat(gTestBuf, "ERR "); return 1; } #line 249 "" yy24: ++YYCURSOR; #line 122 "main.b.re" { printf("+\n"); strcat(gTestBuf, "+ "); continue; } #line 254 "" yy26: ++YYCURSOR; #line 123 "main.b.re" { printf("-\n"); strcat(gTestBuf, "- "); continue; } #line 259 "" yy28: ++YYCURSOR; #line 124 "main.b.re" { printf("EOF\n"); return 0; } #line 264 "" yy30: yych = *++YYCURSOR; goto yy23; yy31: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; if (yybm[0+yych] & 128) { goto yy31; } #line 121 "main.b.re" { printf("Oct\n"); strcat(gTestBuf, "Oct "); continue; } #line 277 "" yy34: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy35: if (yych <= '/') goto yy21; if (yych <= '9') goto yy34; goto yy21; } #line 126 "main.b.re" } } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfStrnCmp(void) { char testStr[] = "Hello, world"; int totLoops = 10000; int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000; HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfRe2c(void) { char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int totLoops = 10000 / testCount; // Doing more than one per loop int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000 / testCount; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Entry point for console app */ int main(int argc, char **argv) { char testStr_A[] = "123"; char* testStr_B = "456"; char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int rc = scan(testStr_A, 3); printf("rc: %d\n", rc); rc = scan(testStr_B, 3); printf("rc: %d\n", rc); rc = scan("789", 3); printf("rc: %d\n", rc); strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); scan(pzCurStr, len); } printf("%s\n", gTestBuf); rc = strcmp(gTestBuf, "Num Num + Num Oct - Oct ERR Num ERR "); if (rc == 0) { printf("Success\n"); } else { printf("Failure\n"); } assert(0 == rc); // Doesn't work with Release build InitHiResTimerAndVerifyWorking(); DoTimingsOfStrnCmp(); DoTimingsOfRe2c(); return 0; } re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.vcproj0000775000076500007660000000657011016275320021034 00000000000000 re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.sln0000775000076500007660000000157711016275320020327 00000000000000Microsoft Visual Studio Solution File, Format Version 7.00 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestRe2c", "TestRe2c.vcproj", "{BEC086F1-62CD-4BA7-8E17-367B825FA721}" EndProject Global GlobalSection(SolutionConfiguration) = preSolution ConfigName.0 = Debug ConfigName.1 = Release EndGlobalSection GlobalSection(ProjectDependencies) = postSolution EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution {BEC086F1-62CD-4BA7-8E17-367B825FA721}.Debug.ActiveCfg = Debug|Win32 {BEC086F1-62CD-4BA7-8E17-367B825FA721}.Debug.Build.0 = Debug|Win32 {BEC086F1-62CD-4BA7-8E17-367B825FA721}.Release.ActiveCfg = Release|Win32 {BEC086F1-62CD-4BA7-8E17-367B825FA721}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection EndGlobal re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.dsw0000775000076500007660000000077611016275320020330 00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "TestRe2c"=.\TestRe2c.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### re2c-0.13.5/lessons/001_upn_calculator/windows/main.b.re0000775000076500007660000002245211016275320017645 00000000000000/* re2c lesson 001_upn_calculator, main.b.re, (c) M. Boerger, L. Allan 2006 */ /*!ignore:re2c - basic interface for string reading . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL . YYCTYPE is the type re2c operates on or in other words the type that it generates code for. While it is not a big difference when we were using 'unsigned char' here we would need to run re2c with option -w to fully support types with sieof() > 1. . YYCURSOR is used internally and holds the current scanner position. In expression handlers, the code blocks after re2c expressions, this can be used to identify the end of the token. . YYMARKER is not always being used so we set an initial value to avoid a compiler warning. . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen() in this lesson. In the next example we see one way to get rid of it. . We use a 'for(;;)'-loop around the scanner block. We could have used a 'while(1)'-loop instead but some compilers generate a warning for it. . To make the output more readable we use 're2c:indent:top' scanner configuration that configures re2c to prepend a single tab (the default) to the beginning of each output line. . The following lines are expressions and for each expression we output the token name and continue the scanner loop. . The second last token detects the end of our input, the terminating zero in our input string. In other scanners detecting the end of input may vary. For example binary code may contain \0 as valid input. . The last expression accepts any input character. It tells re2c to accept the opposit of the empty range. This includes numbers and our tokens but as re2c goes from top to botton when evaluating the expressions this is no problem. . The first three rules show that re2c actually prioritizes the expressions from top to bottom. Octal number require a starting "0" and the actual number. Normal numbers start with a digit greater 0. And zero is finally a special case. A single "0" is detected by the last rule of this set. And valid ocal number is already being detected by the first rule. This even includes multi "0" sequences that in octal notation also means zero. Another way would be to only use two rules: "0" [0-9]+ "0" | ( [1-9] [0-9]* ) A full description of re2c rule syntax can be found in the manual. */ #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #if _MSC_VER > 1200 #define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later. #endif // Prevents warning from vc7.1 complaining about redefinition #include #include #include #include #include #include "HiResTimer.h" static char gTestBuf[1000] = ""; /** * @brief Setup HiResolution timer and confirm it is working ok */ void InitHiResTimerAndVerifyWorking(void) { double elapsed; HrtInit(); HrtSetPriority(ABOVE_NORMAL_PRIORITY_CLASS); HrtStart(); Sleep(100); elapsed = HrtElapsedMillis(); if ((elapsed < 90) || (elapsed > 110)) { printf("HiResTimer misbehaving: %f\n", elapsed); exit(2); } } /** * @brief Scan for numbers in different formats */ int ScanFullSpeed(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; [1-9][0-9]* { continue; } [0][0-9]+ { continue; } "+" { continue; } "-" { continue; } "\000" { return 0; } [^] { return 1; } */ } } /** * @brief Scan for numbers in different formats */ int scan(char *pzStrToScan, size_t lenStrToScan) { unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan; unsigned char *pzBacktrackInfo = 0; #define YYCTYPE unsigned char #define YYCURSOR pzCurScanPos #define YYLIMIT (pzStrToScan+lenStrToScan) #define YYMARKER pzBacktrackInfo #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; [1-9][0-9]* { printf("Num\n"); strcat(gTestBuf, "Num "); continue; } [0][0-9]+ { printf("Oct\n"); strcat(gTestBuf, "Oct "); continue; } "+" { printf("+\n"); strcat(gTestBuf, "+ "); continue; } "-" { printf("-\n"); strcat(gTestBuf, "- "); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); strcat(gTestBuf, "ERR "); return 1; } */ } } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfStrnCmp(void) { char testStr[] = "Hello, world"; int totLoops = 10000; int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000; HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; rc = strncmp(testStr, "Hello", 5); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } elapsed = HrtElapsedMillis(); printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Show high resolution elapsed time for 10,000 and 100,000 loops */ void DoTimingsOfRe2c(void) { char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int totLoops = 10000 / testCount; // Doing more than one per loop int totFoundCount = 0; int foundCount = 0; int loop; int rc; const int progressAnd = 0xFFFFF000; double elapsed; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); totLoops = 100000 / testCount; printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1)); HrtStart(); for (loop = 0; loop < totLoops; ++loop) { foundCount = 0; strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string? rc = ScanFullSpeed(pzCurStr, len); if (rc == 0) { foundCount++; totFoundCount++; if ((totFoundCount & progressAnd) == totFoundCount) { printf("*"); } } } } elapsed = HrtElapsedMillis(); printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed); printf("FoundCount each loop: %d\n", foundCount); printf("TotalFoundCount for all loops: %d\n", totFoundCount); } /** * @brief Entry point for console app */ int main(int argc, char **argv) { char testStr_A[] = "123"; char* testStr_B = "456"; char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" }; const int testCount = sizeof(testStrings) / sizeof(testStrings[0]); int i; int rc = scan(testStr_A, 3); printf("rc: %d\n", rc); rc = scan(testStr_B, 3); printf("rc: %d\n", rc); rc = scan("789", 3); printf("rc: %d\n", rc); strcpy(gTestBuf, ""); for (i = 0; i < testCount; ++i) { char* pzCurStr = testStrings[i]; size_t len = strlen(pzCurStr); scan(pzCurStr, len); } printf("%s\n", gTestBuf); rc = strcmp(gTestBuf, "Num Num + Num Oct - Oct ERR Num ERR "); if (rc == 0) { printf("Success\n"); } else { printf("Failure\n"); } assert(0 == rc); // Doesn't work with Release build InitHiResTimerAndVerifyWorking(); DoTimingsOfStrnCmp(); DoTimingsOfRe2c(); return 0; } re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.ncb0000764000076500007660000006600011016275320020263 00000000000000Microsoft C/C++ MSF 7.00 DSxààÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿu S > H ^ i µ ]š/ )X– #] (¤„ ’   ,,  ­­¶ --¶ ®® 00 ±±Ì ..Ì ¯¯ï //ï °°G  ŸÇ‘ ©$BBBk}‘™¨¨¿¿‘‘ÔÔøøP#k}i 5ÿÿ ,2¶ r… '*¾…  %M…  … d… V… — Ü… œ ƒ…  ±  FBBBÍB‘-FF‰îª‰‰”.1ô%ÛE"v£¡wšO¬MŸšp&Ü4³7Yùµ@@ @€€€ B ³%ÛEÅÜ@€ @€B@û̘Eµ/dV—G5¶r¾M–Üœ‘]ƒ±„’ ¶Ìï"4OþËÞ ph?·Ü >uG±M¶ƒ Hµ¾¶€„ V ï`S‘] — d^–’ 5/œ Ìø·i€r þïþïôs:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\TestRe2c.vcproj|Debug|Win32s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\TestRe2c.vcproj|Release|Win32C:\Programme\Microsoft Visual Studio .NET\Vc7\vcpackages\prebuilt.ncbs:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\main.b.c"HiResTimer.h"VC_EXTRALEANWINVER0x0400YYCTYPEunsigned charYYCURSORpzCurScanPosYYLIMIT(pzStrToScan+lenStrToScan)YYMARKERpzBacktrackInfoYYFILLnmainintint argcchar **argvDoTimingsOfStrnCmpvoidgTestBufchar %[1000]ScanFullSpeedchar *pzStrToScansize_t lenStrToScanscanInitHiResTimerAndVerifyWorkingDoTimingsOfRe2cs:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\HiResTimer.h_HI_RES_TIMER_H_elapsedCounts__int64HrtElapsedMillisdoubleHrtStartelapsedMilliselapsedMicrosHrtResetPrioritystartLARGE_INTEGERfreqprocessHandleHANDLEstopHrtInitHrtSetPriorityDWORD priorityprevPriorityClassDWORD\B‘ÔSV¾^µ‰YG¶Åª¨’idù–P}„>œ/±ï¿ÍøÌH#ƒ¶—FMk u]rÜ-™‘³î5;”.1ô%ÛE"v£¡wšO¬MŸšp&ÜÙ/names/ncb/targetinfo/ncb/moduleinfo/ncb/storeinfo/ncb/iinstdefs/ncb/referenceInfo/ncb/module/s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\main.b.c/ncb/module/s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\HiResTimer.h/ncb/target/s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\TestRe2c.vcproj|Debug|Win32/ncb/target/s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\TestRe2c.vcproj|Release|Win32/ncb/versioninfo bö © 6X 'þ E Èb ix4X`h   re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c-2005.sln0000775000076500007660000000155511016275320020707 00000000000000Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestRe2c", "TestRe2c-2005.vcproj", "{E2CEB3D0-066A-4C9A-B32C-B2197448A57A}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Default = Debug|Default Release|Default = Release|Default EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {E2CEB3D0-066A-4C9A-B32C-B2197448A57A}.Debug|Default.ActiveCfg = Debug|Win32 {E2CEB3D0-066A-4C9A-B32C-B2197448A57A}.Debug|Default.Build.0 = Debug|Win32 {E2CEB3D0-066A-4C9A-B32C-B2197448A57A}.Release|Default.ActiveCfg = Release|Win32 {E2CEB3D0-066A-4C9A-B32C-B2197448A57A}.Release|Default.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal re2c-0.13.5/lessons/001_upn_calculator/windows/TestRe2c.suo0000764000076500007660000001600011016275320020322 00000000000000ÐÏࡱá>þÿ þÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýÿÿÿþÿÿÿ þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿRoot Entryÿÿÿÿÿÿÿÿ`¹è¼UÇ€ TaskListUserTasks$ÿÿÿÿIToolboxService ÿÿÿÿÿÿÿÿ™IVSMDPropertyBrowser*ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿ þÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿþÿÿÿ!"þÿÿÿ$%&'()*+,þÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðC Crystal ReportsData XML Schema Dialog Editor Web Forms Components Windows FormsHTMLClipboard RingGeneralzs:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\DebuggerWatches  ÿÿÿÿDebuggerBreakpoints(ÿÿÿÿ†DebuggerExceptions&ÿÿÿÿÿÿÿÿDebuggerFindSource&ÿÿÿÿÿÿÿÿÿÿÿÿ ~fC:\Programme\Microsoft Visual Studio .NET\Vc7\crt\|C:\Programme\Microsoft Visual Studio .NET\Vc7\atlmfc\src\mfc\|C:\Programme\Microsoft Visual Studio .NET\Vc7\atlmfc\src\atl\DebuggerMemoryWindows, ÿÿÿÿTExternalFilesProjectContents:ÿÿÿÿÿÿÿÿÿÿÿÿDocumentWindowPositions0 ÿÿÿÿDocumentWindowUserData. ÿÿÿÿÿÿÿÿMultiStartupProj=;4{BEC086F1-62CD-4BA7-8E17-367B825FA721}.dwStartupOpt=;StartupProject=&{BEC086F1-62CD-4BA7-8E17SolutionConfiguration,ÿÿÿÿÿÿÿÿÿÿÿÿ^ObjMgrContentsÿÿÿÿÿÿÿÿEClassViewContents$ÿÿÿÿþÿÿÿProjExplorerState$ÿÿÿÿÿÿÿÿ ¦-367B825FA721};?{BEC086F1-62CD-4BA7-8E17-367B825FA721}.Release|Win32.fBatchBld=;={BEC086F1-62CD-4BA7-8E17-367B825FA721}.Debug|Win32.fBatchBld=; ActiveCfg=Debug;ç%Ò¯##G¶åá}'bm4Élü #Oÿ‡øÏ¤ERe2cTest›Q ˜s:\other\re2c\trunk\re2c\lessons\001_upn_calculator\windows\TestRe2c.vcprojDebug|Win32DebugSettingsô.õ.ö. ø.÷.ù.ú.û.ü.ý. ÿ.,GeneralConfigSettingsVCBscMakeTool(EndConfigPropertiesRelUnloadedProjects"ÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿRe2cTestÿÿÿÿÿÿÿÿÿÿÿÿ#lTaskListShortcuts$ÿÿÿÿÿÿÿÿÿÿÿÿ-ÿÿÿÿÿÿÿÿÿÿÿÿease|Win32DebugSettingsô.õ.ö. ø.÷.ù.ú.û.ü.ý. ÿ.,GeneralConfigSettingsVCBscMakeTool(EndConfigPropertiesXÏ re2c-0.13.5/lessons/001_upn_calculator/calc_006.s.re0000775000076500007660000000761311016275320016541 00000000000000/* re2c lesson 001_upn_calculator, calc_006, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - avoiding YYFILL() . We use the inplace configuration re2c:yyfill to suppress generation of YYFILL() blocks. This of course means we no longer have to provide the macro. . We also drop the YYMARKER stuff since we know that re2c does not generate it for this example. . Since re2c does no longer check for out of data situations we must do this. For that reason we first reintroduce our zero rule and second we need to ensure that the scanner does not take more than one bytes in one go. In the example suppose "0" is passed. The scanner reads the first "0" and then is in an undecided state. The scanner can earliest decide on the next char what the token is. In case of a zero the input ends and it was a number, 0 to be precise. In case of a digit it is an octal number and the next character needs to be read. In case of any other character the scanner will detect an error with the any rule [^]. Now the above shows that the scanner may read two characters directly. But only if the first is a "0". So we could easily check that if the first char is "0" and the next char is a digit then yet another charcter is present. But we require our inut to be zero terminated. And that means we do not have to check anything for this scanner. However with other rule sets re2c might read more then one character in a row. In those cases it is normally hard to impossible to avoid YYFILL. - optimizing the generated code by using -s command line switch of re2c . This tells re2c to generate code that uses if statements rather then endless switch/case expressions where appropriate. Note that the generated code now requires the input to be unsigned char rather than char due to the way comparisons are generated. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("-\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; /*!re2c re2c:indent:top = 2; re2c:yyfill:enable = 0; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_001.re0000775000076500007660000000624611016275320016274 00000000000000/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - basic interface for string reading . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL . YYCTYPE is the type re2c operates on or in other words the type that it generates code for. While it is not a big difference when we were using 'unsigned char' here we would need to run re2c with option -w to fully support types with sieof() > 1. . YYCURSOR is used internally and holds the current scanner position. In expression handlers, the code blocks after re2c expressions, this can be used to identify the end of the token. . YYMARKER is not always being used so we set an initial value to avoid a compiler warning. Here we could also omit it compleley. . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen() in this lesson. In the next example we see one way to get rid of it. . We use a 'for(;;)'-loop around the scanner block. We could have used a 'while(1)'-loop instead but some compilers generate a warning for it. . To make the output more readable we use 're2c:indent:top' scanner configuration that configures re2c to prepend a single tab (the default) to the beginning of each output line. . The following lines are expressions and for each expression we output the token name and continue the scanner loop. . The second last token detects the end of our input, the terminating zero in our input string. In other scanners detecting the end of input may vary. For example binary code may contain \0 as valid input. . The last expression accepts any input character. It tells re2c to accept the opposit of the empty range. This includes numbers and our tokens but as re2c goes from top to botton when evaluating the expressions this is no problem. . The first three rules show that re2c actually prioritizes the expressions from top to bottom. Octal number require a starting "0" and the actual number. Normal numbers start with a digit greater 0. And zero is finally a special case. A single "0" is detected by the last rule of this set. And valid ocal number is already being detected by the first rule. This even includes multi "0" sequences that in octal notation also means zero. Another way would be to only use two rules: "0" [0-9]+ "0" | ( [1-9] [0-9]* ) A full description of re2c rule syntax can be found in the manual. */ #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("-\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/001_upn_calculator/calc_002.re0000775000076500007660000000326711016275320016275 00000000000000/* re2c lesson 001_upn_calculator, calc_002, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - making use of YYFILL . Here we modified the scanner to not require strlen() on the call. Instead we compute limit on the fly. That is whenever more input is needed we search for the terminating \0 in the next n chars the scanner needs. . If there is not enough input we quit the scanner. . Note that in lesson_001 YYLIMIT was a character pointer computed only once. Here is of course also of type YYCTYPE but a variable that gets reevaluated by YYFILL(). . To make the code smaller we take advantage of the fact that our loop has no break so far. This allows us to use break here and have the code that is used for YYFILL() not contain the printf in every occurence. That way the generated code gets smaller. */ #include #include #include int fill(char *p, int n, char **l) { while (*++p && n--) ; * l = p; return n <= 0; } int scan(char *s) { char *p = s; char *l = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT l #define YYMARKER q #define YYFILL(n) { if (!fill(p, n, &l)) break; } for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } printf("OOD\n"); return 2; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1]); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_007.b.c0000775000076500007660000001154011016275320016327 00000000000000/* Generated by re2c */ #line 1 "calc_007.b.re" /* re2c lesson 001_upn_calculator, calc_007, (c) M. Boerger 2006 - 2007 */ #line 9 "calc_007.b.re" #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; #line 69 "" { YYCTYPE yych; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *YYCURSOR; if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x00) goto yy11; if (yych <= 0x08) goto yy13; } else { if (yych != ' ') goto yy13; } } else { if (yych <= '-') { if (yych <= '+') goto yy7; if (yych <= ',') goto yy13; goto yy9; } else { if (yych <= '/') goto yy13; if (yych <= '0') goto yy4; if (yych <= '9') goto yy6; goto yy13; } } ++YYCURSOR; yych = *YYCURSOR; goto yy21; yy3: #line 80 "calc_007.b.re" { continue; } #line 133 "" yy4: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy5; if (yych <= '9') goto yy17; yy5: #line 82 "calc_007.b.re" { res = push_num(t, p, 10); continue; } #line 141 "" yy6: yych = *++YYCURSOR; goto yy16; yy7: ++YYCURSOR; #line 83 "calc_007.b.re" { res = stack_add(); continue; } #line 149 "" yy9: ++YYCURSOR; #line 84 "calc_007.b.re" { res = stack_sub(); continue; } #line 154 "" yy11: ++YYCURSOR; #line 85 "calc_007.b.re" { res = depth == 1 ? 0 : 2; break; } #line 159 "" yy13: ++YYCURSOR; #line 86 "calc_007.b.re" { res = 1; continue; } #line 164 "" yy15: ++YYCURSOR; yych = *YYCURSOR; yy16: if (yybm[0+yych] & 64) { goto yy15; } goto yy5; yy17: ++YYCURSOR; yych = *YYCURSOR; if (yych <= '/') goto yy19; if (yych <= '9') goto yy17; yy19: #line 81 "calc_007.b.re" { res = push_num(t, p, 8); continue; } #line 181 "" yy20: ++YYCURSOR; yych = *YYCURSOR; yy21: if (yybm[0+yych] & 128) { goto yy20; } goto yy3; } #line 87 "calc_007.b.re" } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_003.re0000775000076500007660000000320611016275320016267 00000000000000/* re2c lesson 001_upn_calculator, calc_003, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - making use of YYFILL . Again provide the length of the input to generate the limit only once. Now we can use YYFILL() to detect the end and simply return since YYFILL() is only being used if the next scanner run might use more chars then YYLIMIT allows. . Note that we now use (s+l+2) instead of (s+l) as we did in lesson_001. In the first lesson we did not quit from YYFILL() and used a special rule to detect the end of input. Here we use the fact that we know the exact end of input and that this length does not include the terminating zero. Since YYLIMIT points to the first character behind the used buffer we use "+ 2". If we would use "+1" we could drop the "\000" rule but could no longer distinguish between end of input and out of data. */ #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { /*!re2c re2c:indent:top = 2; "0"[0-9]+ { printf("Oct\n"); continue; } [1-9][0-9]* { printf("Num\n"); continue; } "0" { printf("Num\n"); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_004.re0000775000076500007660000000367611016275320016303 00000000000000/* re2c lesson 001_upn_calculator, calc_004, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - making use of definitions . We provide complex rules as definitions. We can even have definitions made up from other definitions. And we could also use definitions as part of rules and not only as full rules as shown in this lesson. - showing the tokens . re2c does not store the beginning of a token on its own but we can easily do this by providing variable, in our case t, that is set to YYCURSOR on every loop. If we were not using a loop here the token, we could have used s instead of a new variable instead. . As we use the token for an output function that requires a terminating zero we copy the token. Alternatively we could store the end of the token, then replace it with a zero character and replace it after the token has been used. However that approach is not always acceptable. */ #include #include #include char * tokendup(const char *t, const char *l) { size_t n = l -t + 1; char *r = (char*)malloc(n); memmove(r, t, n-1); r[n] = '\0'; return r; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { t = p; /*!re2c re2c:indent:top = 2; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; OCT { t = tokendup(t, p); printf("Oct: %s\n", t); free(t); continue; } INT { t = tokendup(t, p); printf("Num: %s\n", t); free(t); continue; } "+" { printf("+\n"); continue; } "-" { printf("+\n"); continue; } "\000" { printf("EOF\n"); return 0; } [^] { printf("ERR\n"); return 1; } */ } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_005.re0000775000076500007660000000563411016275320016300 00000000000000/* re2c lesson 001_upn_calculator, calc_005, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - turning this lesson into an easy calculator . We are going to write an UPN calculator so we need an additional rule to ignore white space. . Then we need to store the scanned input somewhere and do our math on it. . Also we need to scan all arguments since the main c code gets the input split up into chunks. . In contrast to what we did before we now add a variable res that holds the scanner state. We initialize that variable to 0 and quit the loop when it is non zero. This will also be our return value so that we can use it in function main to generate error information. . To support operating systems where ' and " get passed in program arguments we check for them being first and last input character. If so we correct input pointer and input length. Since now our scanner might not see a terminating zero we change YYLIMIT again and drop the special zero rule. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; return 0; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; int res = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+1) #define YYMARKER q #define YYFILL(n) { return depth == 1 ? 0 : 2; } while(!res) { t = p; /*!re2c re2c:indent:top = 2; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = argv[argp]; len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { ++inp; len -=2; } res = scan(inp, len); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_007.b.re0000775000076500007660000000453311016275320016517 00000000000000/* re2c lesson 001_upn_calculator, calc_007, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - optimizing the generated code by using -b command line switch of re2c . This tells re2c to generate code that uses a decision table. The -b switch also contains the -s behavior. And -b also requires the input to be unsigned chars. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; /*!re2c re2c:indent:top = 2; re2c:yyfill:enable = 0; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_001.c0000775000076500007660000000457711016275320016115 00000000000000/* Generated by re2c */ #line 1 "calc_001.re" /* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */ #line 43 "calc_001.re" #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l) #define YYMARKER q #define YYFILL(n) for(;;) { #line 24 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy10; case '+': goto yy6; case '-': goto yy8; case '0': goto yy2; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy12; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy3; } yy3: #line 64 "calc_001.re" { printf("Num\n"); continue; } #line 64 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy5: #line 63 "calc_001.re" { printf("Num\n"); continue; } #line 72 "" yy6: ++YYCURSOR; #line 65 "calc_001.re" { printf("+\n"); continue; } #line 77 "" yy8: ++YYCURSOR; #line 66 "calc_001.re" { printf("-\n"); continue; } #line 82 "" yy10: ++YYCURSOR; #line 67 "calc_001.re" { printf("EOF\n"); return 0; } #line 87 "" yy12: ++YYCURSOR; #line 68 "calc_001.re" { printf("ERR\n"); return 1; } #line 92 "" yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy5; } yy16: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy18; } yy18: #line 62 "calc_001.re" { printf("Oct\n"); continue; } #line 131 "" } #line 69 "calc_001.re" } } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 1; } } re2c-0.13.5/lessons/001_upn_calculator/calc_002.c0000775000076500007660000000501011016275320016075 00000000000000/* Generated by re2c */ #line 1 "calc_002.re" /* re2c lesson 001_upn_calculator, calc_002, (c) M. Boerger 2006 - 2007 */ #line 19 "calc_002.re" #include #include #include int fill(char *p, int n, char **l) { while (*++p && n--) ; * l = p; return n <= 0; } int scan(char *s) { char *p = s; char *l = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT l #define YYMARKER q #define YYFILL(n) { if (!fill(p, n, &l)) break; } for(;;) { #line 32 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy10; case '+': goto yy6; case '-': goto yy8; case '0': goto yy2; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy12; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy3; } yy3: #line 48 "calc_002.re" { printf("Num\n"); continue; } #line 72 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy5: #line 47 "calc_002.re" { printf("Num\n"); continue; } #line 80 "" yy6: ++YYCURSOR; #line 49 "calc_002.re" { printf("+\n"); continue; } #line 85 "" yy8: ++YYCURSOR; #line 50 "calc_002.re" { printf("+\n"); continue; } #line 90 "" yy10: ++YYCURSOR; #line 51 "calc_002.re" { printf("EOF\n"); return 0; } #line 95 "" yy12: ++YYCURSOR; #line 52 "calc_002.re" { printf("ERR\n"); return 1; } #line 100 "" yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy5; } yy16: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy18; } yy18: #line 46 "calc_002.re" { printf("Oct\n"); continue; } #line 139 "" } #line 53 "calc_002.re" } printf("OOD\n"); return 2; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1]); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_003.c0000775000076500007660000000465411016275320016113 00000000000000/* Generated by re2c */ #line 1 "calc_003.re" /* re2c lesson 001_upn_calculator, calc_003, (c) M. Boerger 2006 - 2007 */ #line 19 "calc_003.re" #include #include #include int scan(char *s, int l) { char *p = s; char *q = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { #line 24 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy10; case '+': goto yy6; case '-': goto yy8; case '0': goto yy2; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy12; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy3; } yy3: #line 40 "calc_003.re" { printf("Num\n"); continue; } #line 64 "" yy4: ++YYCURSOR; yych = *YYCURSOR; goto yy15; yy5: #line 39 "calc_003.re" { printf("Num\n"); continue; } #line 72 "" yy6: ++YYCURSOR; #line 41 "calc_003.re" { printf("+\n"); continue; } #line 77 "" yy8: ++YYCURSOR; #line 42 "calc_003.re" { printf("+\n"); continue; } #line 82 "" yy10: ++YYCURSOR; #line 43 "calc_003.re" { printf("EOF\n"); return 0; } #line 87 "" yy12: ++YYCURSOR; #line 44 "calc_003.re" { printf("ERR\n"); return 1; } #line 92 "" yy14: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy15: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy14; default: goto yy5; } yy16: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy16; default: goto yy18; } yy18: #line 38 "calc_003.re" { printf("Oct\n"); continue; } #line 131 "" } #line 45 "calc_003.re" } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_004.c0000775000076500007660000000507411016275320016111 00000000000000/* Generated by re2c */ #line 1 "calc_004.re" /* re2c lesson 001_upn_calculator, calc_004, (c) M. Boerger 2006 - 2007 */ #line 20 "calc_004.re" #include #include #include char * tokendup(const char *t, const char *l) { size_t n = l -t + 1; char *r = (char*)malloc(n); memmove(r, t, n-1); r[n] = '\0'; return r; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+2) #define YYMARKER q #define YYFILL(n) { printf("OOD\n"); return 2; } for(;;) { t = p; #line 36 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case 0x00: goto yy9; case '+': goto yy5; case '-': goto yy7; case '0': goto yy2; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy4; default: goto yy11; } yy2: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy3; } yy3: #line 57 "calc_004.re" { t = tokendup(t, p); printf("Num: %s\n", t); free(t); continue; } #line 76 "" yy4: yych = *++YYCURSOR; goto yy14; yy5: ++YYCURSOR; #line 58 "calc_004.re" { printf("+\n"); continue; } #line 84 "" yy7: ++YYCURSOR; #line 59 "calc_004.re" { printf("+\n"); continue; } #line 89 "" yy9: ++YYCURSOR; #line 60 "calc_004.re" { printf("EOF\n"); return 0; } #line 94 "" yy11: ++YYCURSOR; #line 61 "calc_004.re" { printf("ERR\n"); return 1; } #line 99 "" yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy13; default: goto yy3; } yy15: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy17; } yy17: #line 56 "calc_004.re" { t = tokendup(t, p); printf("Oct: %s\n", t); free(t); continue; } #line 138 "" } #line 62 "calc_004.re" } return 0; } int main(int argc, char **argv) { if (argc > 1) { return scan(argv[1], strlen(argv[1])); } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_005.c0000775000076500007660000000725211016275320016112 00000000000000/* Generated by re2c */ #line 1 "calc_005.re" /* re2c lesson 001_upn_calculator, calc_005, (c) M. Boerger 2006 - 2007 */ #line 19 "calc_005.re" #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; return 0; } int scan(char *s, int l) { char *p = s; char *q = 0; char *t; int res = 0; #define YYCTYPE char #define YYCURSOR p #define YYLIMIT (s+l+1) #define YYMARKER q #define YYFILL(n) { return depth == 1 ? 0 : 2; } while(!res) { t = p; #line 71 "" { YYCTYPE yych; if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2); yych = *YYCURSOR; switch (yych) { case '\t': case ' ': goto yy2; case '+': goto yy7; case '-': goto yy9; case '0': goto yy4; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy6; default: goto yy11; } yy2: ++YYCURSOR; yych = *YYCURSOR; goto yy19; yy3: #line 91 "calc_005.re" { continue; } #line 101 "" yy4: ++YYCURSOR; switch ((yych = *YYCURSOR)) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy5; } yy5: #line 93 "calc_005.re" { res = push_num(t, p, 10); continue; } #line 120 "" yy6: yych = *++YYCURSOR; goto yy14; yy7: ++YYCURSOR; #line 94 "calc_005.re" { res = stack_add(); continue; } #line 128 "" yy9: ++YYCURSOR; #line 95 "calc_005.re" { res = stack_sub(); continue; } #line 133 "" yy11: ++YYCURSOR; #line 96 "calc_005.re" { res = 1; continue; } #line 138 "" yy13: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy14: switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy13; default: goto yy5; } yy15: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; switch (yych) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': goto yy15; default: goto yy17; } yy17: #line 92 "calc_005.re" { res = push_num(t, p, 8); continue; } #line 177 "" yy18: ++YYCURSOR; if (YYLIMIT <= YYCURSOR) YYFILL(1); yych = *YYCURSOR; yy19: switch (yych) { case '\t': case ' ': goto yy18; default: goto yy3; } } #line 97 "calc_005.re" } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = argv[argp]; len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { ++inp; len -=2; } res = scan(inp, len); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_006.s.c0000775000076500007660000000666411016275320016362 00000000000000/* Generated by re2c */ #line 1 "calc_006.s.re" /* re2c lesson 001_upn_calculator, calc_006, (c) M. Boerger 2006 - 2007 */ #line 36 "calc_006.s.re" #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const unsigned char *t, const unsigned char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - (unsigned char)'0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("-\n")); return 0; } int scan(char *s) { unsigned char *p = (unsigned char*)s; unsigned char *t; int res = 0; #define YYCTYPE unsigned char #define YYCURSOR p while(!res) { t = p; #line 69 "" { YYCTYPE yych; yych = *YYCURSOR; if (yych <= '*') { if (yych <= '\t') { if (yych <= 0x00) goto yy11; if (yych <= 0x08) goto yy13; } else { if (yych != ' ') goto yy13; } } else { if (yych <= '-') { if (yych <= '+') goto yy7; if (yych <= ',') goto yy13; goto yy9; } else { if (yych <= '/') goto yy13; if (yych <= '0') goto yy4; if (yych <= '9') goto yy6; goto yy13; } } ++YYCURSOR; yych = *YYCURSOR; goto yy21; yy3: #line 107 "calc_006.s.re" { continue; } #line 99 "" yy4: ++YYCURSOR; if ((yych = *YYCURSOR) <= '/') goto yy5; if (yych <= '9') goto yy17; yy5: #line 109 "calc_006.s.re" { res = push_num(t, p, 10); continue; } #line 107 "" yy6: yych = *++YYCURSOR; goto yy16; yy7: ++YYCURSOR; #line 110 "calc_006.s.re" { res = stack_add(); continue; } #line 115 "" yy9: ++YYCURSOR; #line 111 "calc_006.s.re" { res = stack_sub(); continue; } #line 120 "" yy11: ++YYCURSOR; #line 112 "calc_006.s.re" { res = depth == 1 ? 0 : 2; break; } #line 125 "" yy13: ++YYCURSOR; #line 113 "calc_006.s.re" { res = 1; continue; } #line 130 "" yy15: ++YYCURSOR; yych = *YYCURSOR; yy16: if (yych <= '/') goto yy5; if (yych <= '9') goto yy15; goto yy5; yy17: ++YYCURSOR; yych = *YYCURSOR; if (yych <= '/') goto yy19; if (yych <= '9') goto yy17; yy19: #line 108 "calc_006.s.re" { res = push_num(t, p, 8); continue; } #line 146 "" yy20: ++YYCURSOR; yych = *YYCURSOR; yy21: if (yych == '\t') goto yy20; if (yych == ' ') goto yy20; goto yy3; } #line 114 "calc_006.s.re" } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/readme.txt0000775000076500007660000000701211016275320016450 00000000000000re2c lesson 001_upn_calculator, (c) M. Boerger 2006 This lesson gets you started with re2c. In the end you will have an easy RPN (reverse polish notation) calculator for use at command line. You will learn about the basic interface of re2c when scanning input strings. How to detect the end of the input and use that to stop scanning in order to avoid problems. Once you have successfully installed re2c you can use it to generate *.c files from the *.re files presented in this lesson. Actually the expected *.c files are already present. So you should name them *.cc or something alike or just give them a different name like test.c. To do so you simply change into the directory and execute the following command: re2c calc_001.re > test.c Then use your compiler to compile that code and run it. If you are using gcc you simply do the following: gcc -o test.o test.c ./test.o If you are using windows you might want to read till the end of this lesson. When you want to debug the code it helps to make re2c generate working #line information. To do so you simply specify the output file using the -o switch followed by the output filename: re2c -o test.c calc_001.re The input files *.re each contain basic step by comments that explain what is going on and what you can see in the examples. In order to optimize the generated code we will use the -s command line switch of re2c. This tells re2c to generate code that uses if statements rather then endless switch/case expressions where appropriate. Note that the file name extension is actually '.s.re' to tell the test system to use the -s switch. To invoke re2 you do the following: re2c -s -o test.c calc_006.s.re Finally we use the -b switch to have the code use a decision table. The -b switch also contains the -s behavior. re2c -b -o test.c calc_007.b.re ------------------------------------------------------------------------------- For windows users Lynn Allan provided some additional stuff to get you started in the Microsoft world. This addon resides in the windows subdirectory and gives you something to expereiment with. The code in that directory is based on the first step and has the following changes: * vc6 .dsp/.dsw and vc7/vc8 .sln/.vcproj project files that have "Custom Build Steps" that can tell when main.re changes, and know how to generate main.c from main.re. They assume that you unpacked the zip package and have re2c itself build or installed in Release and Release-2005 directory respectively. If re2c cannot be found you need to modify the custom build step and correct the path to re2c. * BuildAndRun.bat to do command line rec2 and then cl and then run the executable (discontinues with message if errors). * built-in cppunit-like test to confirm it worked as expected. * array of test strings "fed" to scan rather than file contents to facilitate testing and also reduce the newbie learning curve. * HiResTimer output for 10,000 loops and 100,000 loops. While this might be excessive for this lesson, it illustrates how to do it for subsequent lessons and your own stuff using windows. Also it shows that Release build is as fast as strncmp for this test and can probably be made significantly faster. * If you want to build the other steps of this lesson using windows tools simply copy the *.re files into the windows directory as main.re and rebuild. ------------------------------------------------------------------------------- Sidenote: UPN is the german translation of RPN, somehow hardcoded into the authors brain :-) re2c-0.13.5/lessons/001_upn_calculator/calc_008.b.re0000775000076500007660000000710711016275320016520 00000000000000/* re2c lesson 001_upn_calculator, calc_008, (c) M. Boerger 2006 - 2007 */ /*!ignore:re2c - using -b with signed character input . Since the code is being generated with -b switch re2c requires the internal character variable yych to use an unsigned character type. For that reason the previous lessons had a conversion at the beginning of their scan() function. Other re2c generated code often have the scanners work completely on unsigned input. Thus requesting a conversion. To avoid the conversion on input, re2c allows to do the conversion when reading the internal yych variable. To enable that conversion you need to use the implace configuration 're2c:yych:conversion' and set it to 1. This will change the generated code to insert conversions to YYCTYPE whenever yych is being read. - More inplace configurations for better/nicer code . re2c allows to overwrite the generation of any define, label or variable used in the generated code. For example we overwrite the 'yych' variable name to 'curr' using inplace configuration 're2c:variable:yych = curr;'. . We further more use inplace configurations instead of defines. This allows to use correct conversions to 'unsigned char' instead of having to convert to 'YYCTYPE' when placing 're2c:define:YYCTYPE = "unsigned char";' infront of 're2c:yych:conversion'. Note that we have to use apostrophies for the first setting as it contains a space. . Last but not least we use 're2c:labelprefix = scan' to change the prefix of generated labels. */ #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *p) { char *t; int res = 0; while(!res) { t = p; /*!re2c re2c:define:YYCTYPE = "unsigned char"; re2c:define:YYCURSOR = p; re2c:variable:yych = curr; re2c:indent:top = 2; re2c:yyfill:enable = 0; re2c:yych:conversion = 1; re2c:labelprefix = scan; DIGIT = [0-9] ; OCT = "0" DIGIT+ ; INT = "0" | ( [1-9] DIGIT* ) ; WS = [ \t]+ ; WS { continue; } OCT { res = push_num(t, p, 8); continue; } INT { res = push_num(t, p, 10); continue; } "+" { res = stack_add(); continue; } "-" { res = stack_sub(); continue; } "\000" { res = depth == 1 ? 0 : 2; break; } [^] { res = 1; continue; } */ } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/001_upn_calculator/calc_008.b.c0000775000076500007660000001143111016275320016327 00000000000000/* Generated by re2c */ #line 1 "calc_008.b.re" /* re2c lesson 001_upn_calculator, calc_008, (c) M. Boerger 2006 - 2007 */ #line 31 "calc_008.b.re" #include #include #include #define DEBUG(stmt) stmt int stack[4]; int depth = 0; int push_num(const char *t, const char *l, int radix) { int num = 0; if (depth >= sizeof(stack)) { return 3; } --t; while(++t < l) { num = num * radix + (*t - '0'); } DEBUG(printf("Num: %d\n", num)); stack[depth++] = num; return 0; } int stack_add() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] + stack[depth]; DEBUG(printf("+\n")); return 0; } int stack_sub() { if (depth < 2) return 4; --depth; stack[depth-1] = stack[depth-1] - stack[depth]; DEBUG(printf("+\n")); return 0; } int scan(char *p) { char *t; int res = 0; while(!res) { t = p; #line 65 "" { unsigned char curr; static const unsigned char yybm[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; curr = (unsigned char)*p; if (curr <= '*') { if (curr <= '\t') { if (curr <= 0x00) goto scan11; if (curr <= 0x08) goto scan13; } else { if (curr != ' ') goto scan13; } } else { if (curr <= '-') { if (curr <= '+') goto scan7; if (curr <= ',') goto scan13; goto scan9; } else { if (curr <= '/') goto scan13; if (curr <= '0') goto scan4; if (curr <= '9') goto scan6; goto scan13; } } ++p; curr = (unsigned char)*p; goto scan21; scan3: #line 103 "calc_008.b.re" { continue; } #line 129 "" scan4: ++p; if ((curr = (unsigned char)*p) <= '/') goto scan5; if (curr <= '9') goto scan17; scan5: #line 105 "calc_008.b.re" { res = push_num(t, p, 10); continue; } #line 137 "" scan6: curr = (unsigned char)*++p; goto scan16; scan7: ++p; #line 106 "calc_008.b.re" { res = stack_add(); continue; } #line 145 "" scan9: ++p; #line 107 "calc_008.b.re" { res = stack_sub(); continue; } #line 150 "" scan11: ++p; #line 108 "calc_008.b.re" { res = depth == 1 ? 0 : 2; break; } #line 155 "" scan13: ++p; #line 109 "calc_008.b.re" { res = 1; continue; } #line 160 "" scan15: ++p; curr = (unsigned char)*p; scan16: if (yybm[0+curr] & 64) { goto scan15; } goto scan5; scan17: ++p; curr = (unsigned char)*p; if (curr <= '/') goto scan19; if (curr <= '9') goto scan17; scan19: #line 104 "calc_008.b.re" { res = push_num(t, p, 8); continue; } #line 177 "" scan20: ++p; curr = (unsigned char)*p; scan21: if (yybm[0+curr] & 128) { goto scan20; } goto scan3; } #line 110 "calc_008.b.re" } return res; } int main(int argc, char **argv) { if (argc > 1) { char *inp; int res = 0, argp = 0, len; while(!res && ++argp < argc) { inp = strdup(argv[argp]); len = strlen(inp); if (inp[0] == '\"' && inp[len-1] == '\"') { inp[len - 1] = '\0'; ++inp; } res = scan(inp); free(inp); } switch(res) { case 0: printf("Result: %d\n", stack[0]); return 0; case 1: fprintf(stderr, "Illegal character in input.\n"); return 1; case 2: fprintf(stderr, "Premature end of input.\n"); return 2; case 3: fprintf(stderr, "Stack overflow.\n"); return 3; case 4: fprintf(stderr, "Stack underflow.\n"); return 4; } } else { fprintf(stderr, "%s \n", argv[0]); return 0; } } re2c-0.13.5/lessons/readme.txt0000775000076500007660000000131311016275320013053 00000000000000re2c lessons, (c) M. Boerger 2006 001_upn_calculator This lesson gets you started with re2c. In the end you will have an easy RPN calculator for use at command line. You will learn about the basic interface of re2c when scanning input strings. How to detect the end of the input and use that to stop scanning in order to avoid problems. The lesson also contains a windows subdirectory to get you started in the Microsoft world. 002_strip_comments In this lesson you will learn how to use multiple scanner blocks and how to read the input from a file instead of a zero terminated string. In the end you will have a scanner that filters comments out of c source files but keeps re2c comments. re2c-0.13.5/re2c.spec0000664000076500007660000000225311016275373011107 00000000000000Summary: A tool for generating C-based recognizers from regular expressions Name: re2c Version: 0.13.5 Release: 1 License: Public Domain Group: Development/Tools URL: http://re2c.org/ Source0: http://prdownloads.sourceforge.net/re2c/re2c-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root %description re2c is a great tool for writing fast and flexible lexers. It has served many people well for many years and it deserves to be maintained more actively. re2c is on the order of 2-3 times faster than a flex based scanner, and its input model is much more flexible. %prep %setup -q %build ./configure \ --prefix=%{_prefix} make re2c #regenerate file scanner.cc rm -f scanner.cc ./re2c -b scanner.re > scanner.cc rm -f re2c scanner.o make %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} install -m 0755 re2c $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1 install -m 0755 re2c.1 $RPM_BUILD_ROOT%{_mandir}/man1 %clean rm -rf $RPM_BUILD_ROOT %changelog * Sun Jan 04 2003 Marcus Boerger - Initial version. %files %defattr(-,root,root) %{_bindir}/re2c %{_mandir}/man1/re2c.1* %doc README examples doc/* lessons