From e88683d08fc40bb6b0f61f4ba016699b0a08f521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sat, 23 Dec 2017 15:14:54 -0800 Subject: [PATCH] Updated Linux bin tools. --- tools/bin/linux/bin2c | Bin 135938 -> 68272 bytes tools/bin/linux/lemon | Bin 0 -> 80952 bytes tools/bin/linux/lempar.c | 981 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 981 insertions(+) create mode 100755 tools/bin/linux/lemon create mode 100644 tools/bin/linux/lempar.c diff --git a/tools/bin/linux/bin2c b/tools/bin/linux/bin2c index b862dae33a5e5a6fbd04a7db2d75c1b6c70d9189..ca595d9f82a16c4ef5057cf0c35fedab6348f069 100755 GIT binary patch literal 68272 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 L-BhHZPeuJdY->?5 literal 0 HcmV?d00001 diff --git a/tools/bin/linux/lempar.c b/tools/bin/linux/lempar.c new file mode 100644 index 0000000..da81ddd --- /dev/null +++ b/tools/bin/linux/lempar.c @@ -0,0 +1,981 @@ +/* +** 2000-05-29 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** Driver template for the LEMON parser generator. +** +** The "lemon" program processes an LALR(1) input grammar file, then uses +** this template to construct a parser. The "lemon" program inserts text +** at each "%%" line. Also, any "P-a-r-s-e" identifer prefix (without the +** interstitial "-" characters) contained in this template is changed into +** the value of the %name directive from the grammar. Otherwise, the content +** of this template is copied straight through into the generate parser +** source file. +** +** The following is the concatenation of all %include directives from the +** input grammar file: +*/ +#include +/************ Begin %include sections from the grammar ************************/ +%% +/**************** End of %include directives **********************************/ +/* These constants specify the various numeric values for terminal symbols +** in a format understandable to "makeheaders". This section is blank unless +** "lemon" is run with the "-m" command-line option. +***************** Begin makeheaders token definitions *************************/ +%% +/**************** End makeheaders token definitions ***************************/ + +/* The next sections is a series of control #defines. +** various aspects of the generated parser. +** YYCODETYPE is the data type used to store the integer codes +** that represent terminal and non-terminal symbols. +** "unsigned char" is used if there are fewer than +** 256 symbols. Larger types otherwise. +** YYNOCODE is a number of type YYCODETYPE that is not used for +** any terminal or nonterminal symbol. +** YYFALLBACK If defined, this indicates that one or more tokens +** (also known as: "terminal symbols") have fall-back +** values which should be used if the original symbol +** would not parse. This permits keywords to sometimes +** be used as identifiers, for example. +** YYACTIONTYPE is the data type used for "action codes" - numbers +** that indicate what to do in response to the next +** token. +** ParseTOKENTYPE is the data type used for minor type for terminal +** symbols. Background: A "minor type" is a semantic +** value associated with a terminal or non-terminal +** symbols. For example, for an "ID" terminal symbol, +** the minor type might be the name of the identifier. +** Each non-terminal can have a different minor type. +** Terminal symbols all have the same minor type, though. +** This macros defines the minor type for terminal +** symbols. +** YYMINORTYPE is the data type used for all minor types. +** This is typically a union of many types, one of +** which is ParseTOKENTYPE. The entry in the union +** for terminal symbols is called "yy0". +** YYSTACKDEPTH is the maximum depth of the parser's stack. If +** zero the stack is dynamically sized using realloc() +** ParseARG_SDECL A static variable declaration for the %extra_argument +** ParseARG_PDECL A parameter declaration for the %extra_argument +** ParseARG_STORE Code to store %extra_argument into yypParser +** ParseARG_FETCH Code to extract %extra_argument from yypParser +** YYERRORSYMBOL is the code number of the error symbol. If not +** defined, then do no error processing. +** YYNSTATE the combined number of states. +** YYNRULE the number of rules in the grammar +** YY_MAX_SHIFT Maximum value for shift actions +** YY_MIN_SHIFTREDUCE Minimum value for shift-reduce actions +** YY_MAX_SHIFTREDUCE Maximum value for shift-reduce actions +** YY_MIN_REDUCE Minimum value for reduce actions +** YY_MAX_REDUCE Maximum value for reduce actions +** YY_ERROR_ACTION The yy_action[] code for syntax error +** YY_ACCEPT_ACTION The yy_action[] code for accept +** YY_NO_ACTION The yy_action[] code for no-op +*/ +#ifndef INTERFACE +# define INTERFACE 1 +#endif +/************* Begin control #defines *****************************************/ +%% +/************* End control #defines *******************************************/ + +/* Define the yytestcase() macro to be a no-op if is not already defined +** otherwise. +** +** Applications can choose to define yytestcase() in the %include section +** to a macro that can assist in verifying code coverage. For production +** code the yytestcase() macro should be turned off. But it is useful +** for testing. +*/ +#ifndef yytestcase +# define yytestcase(X) +#endif + + +/* Next are the tables used to determine what action to take based on the +** current state and lookahead token. These tables are used to implement +** functions that take a state number and lookahead value and return an +** action integer. +** +** Suppose the action integer is N. Then the action is determined as +** follows +** +** 0 <= N <= YY_MAX_SHIFT Shift N. That is, push the lookahead +** token onto the stack and goto state N. +** +** N between YY_MIN_SHIFTREDUCE Shift to an arbitrary state then +** and YY_MAX_SHIFTREDUCE reduce by rule N-YY_MIN_SHIFTREDUCE. +** +** N between YY_MIN_REDUCE Reduce by rule N-YY_MIN_REDUCE +** and YY_MAX_REDUCE +** +** N == YY_ERROR_ACTION A syntax error has occurred. +** +** N == YY_ACCEPT_ACTION The parser accepts its input. +** +** N == YY_NO_ACTION No such action. Denotes unused +** slots in the yy_action[] table. +** +** The action table is constructed as a single large table named yy_action[]. +** Given state S and lookahead X, the action is computed as either: +** +** (A) N = yy_action[ yy_shift_ofst[S] + X ] +** (B) N = yy_default[S] +** +** The (A) formula is preferred. The B formula is used instead if: +** (1) The yy_shift_ofst[S]+X value is out of range, or +** (2) yy_lookahead[yy_shift_ofst[S]+X] is not equal to X, or +** (3) yy_shift_ofst[S] equal YY_SHIFT_USE_DFLT. +** (Implementation note: YY_SHIFT_USE_DFLT is chosen so that +** YY_SHIFT_USE_DFLT+X will be out of range for all possible lookaheads X. +** Hence only tests (1) and (2) need to be evaluated.) +** +** The formulas above are for computing the action when the lookahead is +** a terminal symbol. If the lookahead is a non-terminal (as occurs after +** a reduce action) then the yy_reduce_ofst[] array is used in place of +** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of +** YY_SHIFT_USE_DFLT. +** +** The following are the tables generated in this section: +** +** yy_action[] A single table containing all actions. +** yy_lookahead[] A table containing the lookahead for each entry in +** yy_action. Used to detect hash collisions. +** yy_shift_ofst[] For each state, the offset into yy_action for +** shifting terminals. +** yy_reduce_ofst[] For each state, the offset into yy_action for +** shifting non-terminals after a reduce. +** yy_default[] Default action for each state. +** +*********** Begin parsing tables **********************************************/ +%% +/********** End of lemon-generated parsing tables *****************************/ + +/* The next table maps tokens (terminal symbols) into fallback tokens. +** If a construct like the following: +** +** %fallback ID X Y Z. +** +** appears in the grammar, then ID becomes a fallback token for X, Y, +** and Z. Whenever one of the tokens X, Y, or Z is input to the parser +** but it does not parse, the type of the token is changed to ID and +** the parse is retried before an error is thrown. +** +** This feature can be used, for example, to cause some keywords in a language +** to revert to identifiers if they keyword does not apply in the context where +** it appears. +*/ +#ifdef YYFALLBACK +static const YYCODETYPE yyFallback[] = { +%% +}; +#endif /* YYFALLBACK */ + +/* The following structure represents a single element of the +** parser's stack. Information stored includes: +** +** + The state number for the parser at this level of the stack. +** +** + The value of the token stored at this level of the stack. +** (In other words, the "major" token.) +** +** + The semantic value stored at this level of the stack. This is +** the information used by the action routines in the grammar. +** It is sometimes called the "minor" token. +** +** After the "shift" half of a SHIFTREDUCE action, the stateno field +** actually contains the reduce action for the second half of the +** SHIFTREDUCE. +*/ +struct yyStackEntry { + YYACTIONTYPE stateno; /* The state-number, or reduce action in SHIFTREDUCE */ + YYCODETYPE major; /* The major token value. This is the code + ** number for the token at this stack level */ + YYMINORTYPE minor; /* The user-supplied minor token value. This + ** is the value of the token */ +}; +typedef struct yyStackEntry yyStackEntry; + +/* The state of the parser is completely contained in an instance of +** the following structure */ +struct yyParser { + yyStackEntry *yytos; /* Pointer to top element of the stack */ +#ifdef YYTRACKMAXSTACKDEPTH + int yyhwm; /* High-water mark of the stack */ +#endif +#ifndef YYNOERRORRECOVERY + int yyerrcnt; /* Shifts left before out of the error */ +#endif + ParseARG_SDECL /* A place to hold %extra_argument */ +#if YYSTACKDEPTH<=0 + int yystksz; /* Current side of the stack */ + yyStackEntry *yystack; /* The parser's stack */ + yyStackEntry yystk0; /* First stack entry */ +#else + yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */ + yyStackEntry *yystackEnd; /* Last entry in the stack */ +#endif +}; +typedef struct yyParser yyParser; + +#ifndef NDEBUG +#include +static FILE *yyTraceFILE = 0; +static char *yyTracePrompt = 0; +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* +** Turn parser tracing on by giving a stream to which to write the trace +** and a prompt to preface each trace message. Tracing is turned off +** by making either argument NULL +** +** Inputs: +**
      +**
    • A FILE* to which trace output should be written. +** If NULL, then tracing is turned off. +**
    • A prefix string written at the beginning of every +** line of trace output. If NULL, then tracing is +** turned off. +**
    +** +** Outputs: +** None. +*/ +void ParseTrace(FILE *TraceFILE, char *zTracePrompt){ + yyTraceFILE = TraceFILE; + yyTracePrompt = zTracePrompt; + if( yyTraceFILE==0 ) yyTracePrompt = 0; + else if( yyTracePrompt==0 ) yyTraceFILE = 0; +} +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* For tracing shifts, the names of all terminals and nonterminals +** are required. The following table supplies these names */ +static const char *const yyTokenName[] = { +%% +}; +#endif /* NDEBUG */ + +#ifndef NDEBUG +/* For tracing reduce actions, the names of all rules are required. +*/ +static const char *const yyRuleName[] = { +%% +}; +#endif /* NDEBUG */ + + +#if YYSTACKDEPTH<=0 +/* +** Try to increase the size of the parser stack. Return the number +** of errors. Return 0 on success. +*/ +static int yyGrowStack(yyParser *p){ + int newSize; + int idx; + yyStackEntry *pNew; + + newSize = p->yystksz*2 + 100; + idx = p->yytos ? (int)(p->yytos - p->yystack) : 0; + if( p->yystack==&p->yystk0 ){ + pNew = malloc(newSize*sizeof(pNew[0])); + if( pNew ) pNew[0] = p->yystk0; + }else{ + pNew = realloc(p->yystack, newSize*sizeof(pNew[0])); + } + if( pNew ){ + p->yystack = pNew; + p->yytos = &p->yystack[idx]; +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sStack grows from %d to %d entries.\n", + yyTracePrompt, p->yystksz, newSize); + } +#endif + p->yystksz = newSize; + } + return pNew==0; +} +#endif + +/* Datatype of the argument to the memory allocated passed as the +** second argument to ParseAlloc() below. This can be changed by +** putting an appropriate #define in the %include section of the input +** grammar. +*/ +#ifndef YYMALLOCARGTYPE +# define YYMALLOCARGTYPE size_t +#endif + +/* Initialize a new parser that has already been allocated. +*/ +void ParseInit(void *yypParser){ + yyParser *pParser = (yyParser*)yypParser; +#ifdef YYTRACKMAXSTACKDEPTH + pParser->yyhwm = 0; +#endif +#if YYSTACKDEPTH<=0 + pParser->yytos = NULL; + pParser->yystack = NULL; + pParser->yystksz = 0; + if( yyGrowStack(pParser) ){ + pParser->yystack = &pParser->yystk0; + pParser->yystksz = 1; + } +#endif +#ifndef YYNOERRORRECOVERY + pParser->yyerrcnt = -1; +#endif + pParser->yytos = pParser->yystack; + pParser->yystack[0].stateno = 0; + pParser->yystack[0].major = 0; +#if YYSTACKDEPTH>0 + pParser->yystackEnd = &pParser->yystack[YYSTACKDEPTH-1]; +#endif +} + +#ifndef Parse_ENGINEALWAYSONSTACK +/* +** This function allocates a new parser. +** The only argument is a pointer to a function which works like +** malloc. +** +** Inputs: +** A pointer to the function used to allocate memory. +** +** Outputs: +** A pointer to a parser. This pointer is used in subsequent calls +** to Parse and ParseFree. +*/ +void *ParseAlloc(void *(*mallocProc)(YYMALLOCARGTYPE)){ + yyParser *pParser; + pParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); + if( pParser ) ParseInit(pParser); + return pParser; +} +#endif /* Parse_ENGINEALWAYSONSTACK */ + + +/* The following function deletes the "minor type" or semantic value +** associated with a symbol. The symbol can be either a terminal +** or nonterminal. "yymajor" is the symbol code, and "yypminor" is +** a pointer to the value to be deleted. The code used to do the +** deletions is derived from the %destructor and/or %token_destructor +** directives of the input grammar. +*/ +static void yy_destructor( + yyParser *yypParser, /* The parser */ + YYCODETYPE yymajor, /* Type code for object to destroy */ + YYMINORTYPE *yypminor /* The object to be destroyed */ +){ + ParseARG_FETCH; + switch( yymajor ){ + /* Here is inserted the actions which take place when a + ** terminal or non-terminal is destroyed. This can happen + ** when the symbol is popped from the stack during a + ** reduce or during error processing or when a parser is + ** being destroyed before it is finished parsing. + ** + ** Note: during a reduce, the only symbols destroyed are those + ** which appear on the RHS of the rule, but which are *not* used + ** inside the C code. + */ +/********* Begin destructor definitions ***************************************/ +%% +/********* End destructor definitions *****************************************/ + default: break; /* If no destructor action specified: do nothing */ + } +} + +/* +** Pop the parser's stack once. +** +** If there is a destructor routine associated with the token which +** is popped from the stack, then call it. +*/ +static void yy_pop_parser_stack(yyParser *pParser){ + yyStackEntry *yytos; + assert( pParser->yytos!=0 ); + assert( pParser->yytos > pParser->yystack ); + yytos = pParser->yytos--; +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sPopping %s\n", + yyTracePrompt, + yyTokenName[yytos->major]); + } +#endif + yy_destructor(pParser, yytos->major, &yytos->minor); +} + +/* +** Clear all secondary memory allocations from the parser +*/ +void ParseFinalize(void *p){ + yyParser *pParser = (yyParser*)p; + while( pParser->yytos>pParser->yystack ) yy_pop_parser_stack(pParser); +#if YYSTACKDEPTH<=0 + if( pParser->yystack!=&pParser->yystk0 ) free(pParser->yystack); +#endif +} + +#ifndef Parse_ENGINEALWAYSONSTACK +/* +** Deallocate and destroy a parser. Destructors are called for +** all stack elements before shutting the parser down. +** +** If the YYPARSEFREENEVERNULL macro exists (for example because it +** is defined in a %include section of the input grammar) then it is +** assumed that the input pointer is never NULL. +*/ +void ParseFree( + void *p, /* The parser to be deleted */ + void (*freeProc)(void*) /* Function used to reclaim memory */ +){ +#ifndef YYPARSEFREENEVERNULL + if( p==0 ) return; +#endif + ParseFinalize(p); + (*freeProc)(p); +} +#endif /* Parse_ENGINEALWAYSONSTACK */ + +/* +** Return the peak depth of the stack for a parser. +*/ +#ifdef YYTRACKMAXSTACKDEPTH +int ParseStackPeak(void *p){ + yyParser *pParser = (yyParser*)p; + return pParser->yyhwm; +} +#endif + +/* +** Find the appropriate action for a parser given the terminal +** look-ahead token iLookAhead. +*/ +static unsigned int yy_find_shift_action( + yyParser *pParser, /* The parser */ + YYCODETYPE iLookAhead /* The look-ahead token */ +){ + int i; + int stateno = pParser->yytos->stateno; + + if( stateno>=YY_MIN_REDUCE ) return stateno; + assert( stateno <= YY_SHIFT_COUNT ); + do{ + i = yy_shift_ofst[stateno]; + assert( iLookAhead!=YYNOCODE ); + i += iLookAhead; + if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ +#ifdef YYFALLBACK + YYCODETYPE iFallback; /* Fallback token */ + if( iLookAhead %s\n", + yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); + } +#endif + assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ + iLookAhead = iFallback; + continue; + } +#endif +#ifdef YYWILDCARD + { + int j = i - iLookAhead + YYWILDCARD; + if( +#if YY_SHIFT_MIN+YYWILDCARD<0 + j>=0 && +#endif +#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT + j0 + ){ +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE, "%sWILDCARD %s => %s\n", + yyTracePrompt, yyTokenName[iLookAhead], + yyTokenName[YYWILDCARD]); + } +#endif /* NDEBUG */ + return yy_action[j]; + } + } +#endif /* YYWILDCARD */ + return yy_default[stateno]; + }else{ + return yy_action[i]; + } + }while(1); +} + +/* +** Find the appropriate action for a parser given the non-terminal +** look-ahead token iLookAhead. +*/ +static int yy_find_reduce_action( + int stateno, /* Current state number */ + YYCODETYPE iLookAhead /* The look-ahead token */ +){ + int i; +#ifdef YYERRORSYMBOL + if( stateno>YY_REDUCE_COUNT ){ + return yy_default[stateno]; + } +#else + assert( stateno<=YY_REDUCE_COUNT ); +#endif + i = yy_reduce_ofst[stateno]; + assert( i!=YY_REDUCE_USE_DFLT ); + assert( iLookAhead!=YYNOCODE ); + i += iLookAhead; +#ifdef YYERRORSYMBOL + if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ + return yy_default[stateno]; + } +#else + assert( i>=0 && iyytos>yypParser->yystack ) yy_pop_parser_stack(yypParser); + /* Here code is inserted which will execute if the parser + ** stack every overflows */ +/******** Begin %stack_overflow code ******************************************/ +%% +/******** End %stack_overflow code ********************************************/ + ParseARG_STORE; /* Suppress warning about unused %extra_argument var */ +} + +/* +** Print tracing information for a SHIFT action +*/ +#ifndef NDEBUG +static void yyTraceShift(yyParser *yypParser, int yyNewState){ + if( yyTraceFILE ){ + if( yyNewStateyytos->major], + yyNewState); + }else{ + fprintf(yyTraceFILE,"%sShift '%s'\n", + yyTracePrompt,yyTokenName[yypParser->yytos->major]); + } + } +} +#else +# define yyTraceShift(X,Y) +#endif + +/* +** Perform a shift action. +*/ +static void yy_shift( + yyParser *yypParser, /* The parser to be shifted */ + int yyNewState, /* The new state to shift in */ + int yyMajor, /* The major token to shift in */ + ParseTOKENTYPE yyMinor /* The minor token to shift in */ +){ + yyStackEntry *yytos; + yypParser->yytos++; +#ifdef YYTRACKMAXSTACKDEPTH + if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack) ); + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yytos>yypParser->yystackEnd ){ + yypParser->yytos--; + yyStackOverflow(yypParser); + return; + } +#else + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz] ){ + if( yyGrowStack(yypParser) ){ + yypParser->yytos--; + yyStackOverflow(yypParser); + return; + } + } +#endif + if( yyNewState > YY_MAX_SHIFT ){ + yyNewState += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; + } + yytos = yypParser->yytos; + yytos->stateno = (YYACTIONTYPE)yyNewState; + yytos->major = (YYCODETYPE)yyMajor; + yytos->minor.yy0 = yyMinor; + yyTraceShift(yypParser, yyNewState); +} + +/* The following table contains information about every rule that +** is used during the reduce. +*/ +static const struct { + YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ + signed char nrhs; /* Negative of the number of RHS symbols in the rule */ +} yyRuleInfo[] = { +%% +}; + +static void yy_accept(yyParser*); /* Forward Declaration */ + +/* +** Perform a reduce action and the shift that must immediately +** follow the reduce. +** +** The yyLookahead and yyLookaheadToken parameters provide reduce actions +** access to the lookahead token (if any). The yyLookahead will be YYNOCODE +** if the lookahead token has already been consumed. As this procedure is +** only called from one place, optimizing compilers will in-line it, which +** means that the extra parameters have no performance impact. +*/ +static void yy_reduce( + yyParser *yypParser, /* The parser */ + unsigned int yyruleno, /* Number of the rule by which to reduce */ + int yyLookahead, /* Lookahead token, or YYNOCODE if none */ + ParseTOKENTYPE yyLookaheadToken /* Value of the lookahead token */ +){ + int yygoto; /* The next state */ + int yyact; /* The next action */ + yyStackEntry *yymsp; /* The top of the parser's stack */ + int yysize; /* Amount to pop the stack */ + ParseARG_FETCH; + yymsp = yypParser->yytos; +#ifndef NDEBUG + if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ + yysize = yyRuleInfo[yyruleno].nrhs; + fprintf(yyTraceFILE, "%sReduce [%s], go to state %d.\n", yyTracePrompt, + yyRuleName[yyruleno], yymsp[yysize].stateno); + } +#endif /* NDEBUG */ + + /* Check that the stack is large enough to grow by a single entry + ** if the RHS of the rule is empty. This ensures that there is room + ** enough on the stack to push the LHS value */ + if( yyRuleInfo[yyruleno].nrhs==0 ){ +#ifdef YYTRACKMAXSTACKDEPTH + if( (int)(yypParser->yytos - yypParser->yystack)>yypParser->yyhwm ){ + yypParser->yyhwm++; + assert( yypParser->yyhwm == (int)(yypParser->yytos - yypParser->yystack)); + } +#endif +#if YYSTACKDEPTH>0 + if( yypParser->yytos>=yypParser->yystackEnd ){ + yyStackOverflow(yypParser); + return; + } +#else + if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz-1] ){ + if( yyGrowStack(yypParser) ){ + yyStackOverflow(yypParser); + return; + } + yymsp = yypParser->yytos; + } +#endif + } + + switch( yyruleno ){ + /* Beginning here are the reduction cases. A typical example + ** follows: + ** case 0: + ** #line + ** { ... } // User supplied code + ** #line + ** break; + */ +/********** Begin reduce actions **********************************************/ +%% +/********** End reduce actions ************************************************/ + }; + assert( yyrulenoYY_MAX_SHIFT && yyact<=YY_MAX_SHIFTREDUCE) ); + + /* It is not possible for a REDUCE to be followed by an error */ + assert( yyact!=YY_ERROR_ACTION ); + + if( yyact==YY_ACCEPT_ACTION ){ + yypParser->yytos += yysize; + yy_accept(yypParser); + }else{ + yymsp += yysize+1; + yypParser->yytos = yymsp; + yymsp->stateno = (YYACTIONTYPE)yyact; + yymsp->major = (YYCODETYPE)yygoto; + yyTraceShift(yypParser, yyact); + } +} + +/* +** The following code executes when the parse fails +*/ +#ifndef YYNOERRORRECOVERY +static void yy_parse_failed( + yyParser *yypParser /* The parser */ +){ + ParseARG_FETCH; +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sFail!\n",yyTracePrompt); + } +#endif + while( yypParser->yytos>yypParser->yystack ) yy_pop_parser_stack(yypParser); + /* Here code is inserted which will be executed whenever the + ** parser fails */ +/************ Begin %parse_failure code ***************************************/ +%% +/************ End %parse_failure code *****************************************/ + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} +#endif /* YYNOERRORRECOVERY */ + +/* +** The following code executes when a syntax error first occurs. +*/ +static void yy_syntax_error( + yyParser *yypParser, /* The parser */ + int yymajor, /* The major type of the error token */ + ParseTOKENTYPE yyminor /* The minor type of the error token */ +){ + ParseARG_FETCH; +#define TOKEN yyminor +/************ Begin %syntax_error code ****************************************/ +%% +/************ End %syntax_error code ******************************************/ + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} + +/* +** The following is executed when the parser accepts +*/ +static void yy_accept( + yyParser *yypParser /* The parser */ +){ + ParseARG_FETCH; +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sAccept!\n",yyTracePrompt); + } +#endif +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif + assert( yypParser->yytos==yypParser->yystack ); + /* Here code is inserted which will be executed whenever the + ** parser accepts */ +/*********** Begin %parse_accept code *****************************************/ +%% +/*********** End %parse_accept code *******************************************/ + ParseARG_STORE; /* Suppress warning about unused %extra_argument variable */ +} + +/* The main parser program. +** The first argument is a pointer to a structure obtained from +** "ParseAlloc" which describes the current state of the parser. +** The second argument is the major token number. The third is +** the minor token. The fourth optional argument is whatever the +** user wants (and specified in the grammar) and is available for +** use by the action routines. +** +** Inputs: +**
      +**
    • A pointer to the parser (an opaque structure.) +**
    • The major token number. +**
    • The minor token number. +**
    • An option argument of a grammar-specified type. +**
    +** +** Outputs: +** None. +*/ +void Parse( + void *yyp, /* The parser */ + int yymajor, /* The major token code number */ + ParseTOKENTYPE yyminor /* The value for the token */ + ParseARG_PDECL /* Optional %extra_argument parameter */ +){ + YYMINORTYPE yyminorunion; + unsigned int yyact; /* The parser action. */ +#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) + int yyendofinput; /* True if we are at the end of input */ +#endif +#ifdef YYERRORSYMBOL + int yyerrorhit = 0; /* True if yymajor has invoked an error */ +#endif + yyParser *yypParser; /* The parser */ + + yypParser = (yyParser*)yyp; + assert( yypParser->yytos!=0 ); +#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY) + yyendofinput = (yymajor==0); +#endif + ParseARG_STORE; + +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sInput '%s'\n",yyTracePrompt,yyTokenName[yymajor]); + } +#endif + + do{ + yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); + if( yyact <= YY_MAX_SHIFTREDUCE ){ + yy_shift(yypParser,yyact,yymajor,yyminor); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt--; +#endif + yymajor = YYNOCODE; + }else if( yyact <= YY_MAX_REDUCE ){ + yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor,yyminor); + }else{ + assert( yyact == YY_ERROR_ACTION ); + yyminorunion.yy0 = yyminor; +#ifdef YYERRORSYMBOL + int yymx; +#endif +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sSyntax Error!\n",yyTracePrompt); + } +#endif +#ifdef YYERRORSYMBOL + /* A syntax error has occurred. + ** The response to an error depends upon whether or not the + ** grammar defines an error token "ERROR". + ** + ** This is what we do if the grammar does define ERROR: + ** + ** * Call the %syntax_error function. + ** + ** * Begin popping the stack until we enter a state where + ** it is legal to shift the error symbol, then shift + ** the error symbol. + ** + ** * Set the error count to three. + ** + ** * Begin accepting and shifting new tokens. No new error + ** processing will occur until three tokens have been + ** shifted successfully. + ** + */ + if( yypParser->yyerrcnt<0 ){ + yy_syntax_error(yypParser,yymajor,yyminor); + } + yymx = yypParser->yytos->major; + if( yymx==YYERRORSYMBOL || yyerrorhit ){ +#ifndef NDEBUG + if( yyTraceFILE ){ + fprintf(yyTraceFILE,"%sDiscard input token %s\n", + yyTracePrompt,yyTokenName[yymajor]); + } +#endif + yy_destructor(yypParser, (YYCODETYPE)yymajor, &yyminorunion); + yymajor = YYNOCODE; + }else{ + while( yypParser->yytos >= yypParser->yystack + && yymx != YYERRORSYMBOL + && (yyact = yy_find_reduce_action( + yypParser->yytos->stateno, + YYERRORSYMBOL)) >= YY_MIN_REDUCE + ){ + yy_pop_parser_stack(yypParser); + } + if( yypParser->yytos < yypParser->yystack || yymajor==0 ){ + yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); + yy_parse_failed(yypParser); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif + yymajor = YYNOCODE; + }else if( yymx!=YYERRORSYMBOL ){ + yy_shift(yypParser,yyact,YYERRORSYMBOL,yyminor); + } + } + yypParser->yyerrcnt = 3; + yyerrorhit = 1; +#elif defined(YYNOERRORRECOVERY) + /* If the YYNOERRORRECOVERY macro is defined, then do not attempt to + ** do any kind of error recovery. Instead, simply invoke the syntax + ** error routine and continue going as if nothing had happened. + ** + ** Applications can set this macro (for example inside %include) if + ** they intend to abandon the parse upon the first syntax error seen. + */ + yy_syntax_error(yypParser,yymajor, yyminor); + yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); + yymajor = YYNOCODE; + +#else /* YYERRORSYMBOL is not defined */ + /* This is what we do if the grammar does not define ERROR: + ** + ** * Report an error message, and throw away the input token. + ** + ** * If the input token is $, then fail the parse. + ** + ** As before, subsequent error messages are suppressed until + ** three input tokens have been successfully shifted. + */ + if( yypParser->yyerrcnt<=0 ){ + yy_syntax_error(yypParser,yymajor, yyminor); + } + yypParser->yyerrcnt = 3; + yy_destructor(yypParser,(YYCODETYPE)yymajor,&yyminorunion); + if( yyendofinput ){ + yy_parse_failed(yypParser); +#ifndef YYNOERRORRECOVERY + yypParser->yyerrcnt = -1; +#endif + } + yymajor = YYNOCODE; +#endif + } + }while( yymajor!=YYNOCODE && yypParser->yytos>yypParser->yystack ); +#ifndef NDEBUG + if( yyTraceFILE ){ + yyStackEntry *i; + char cDiv = '['; + fprintf(yyTraceFILE,"%sReturn. Stack=",yyTracePrompt); + for(i=&yypParser->yystack[1]; i<=yypParser->yytos; i++){ + fprintf(yyTraceFILE,"%c%s", cDiv, yyTokenName[i->major]); + cDiv = ' '; + } + fprintf(yyTraceFILE,"]\n"); + } +#endif + return; +}